@tai42/api-client 20.0.0 → 21.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/README.md +29 -0
  2. package/dist/agents.d.ts.map +1 -1
  3. package/dist/agents.js +6 -4
  4. package/dist/agents.js.map +1 -1
  5. package/dist/client/agents-client.d.ts.map +1 -1
  6. package/dist/client/agents-client.js +3 -2
  7. package/dist/client/agents-client.js.map +1 -1
  8. package/dist/client/auth-client.d.ts +129 -127
  9. package/dist/client/auth-client.d.ts.map +1 -1
  10. package/dist/client/auth-client.js +68 -28
  11. package/dist/client/auth-client.js.map +1 -1
  12. package/dist/client/backend-client.d.ts +14 -13
  13. package/dist/client/backend-client.d.ts.map +1 -1
  14. package/dist/client/backend-client.js +7 -3
  15. package/dist/client/backend-client.js.map +1 -1
  16. package/dist/client/backup-client.d.ts +45 -19
  17. package/dist/client/backup-client.d.ts.map +1 -1
  18. package/dist/client/backup-client.js +8 -3
  19. package/dist/client/backup-client.js.map +1 -1
  20. package/dist/client/capabilities-client.d.ts +20 -16
  21. package/dist/client/capabilities-client.d.ts.map +1 -1
  22. package/dist/client/capabilities-client.js +3 -2
  23. package/dist/client/capabilities-client.js.map +1 -1
  24. package/dist/client/channels-client.d.ts.map +1 -1
  25. package/dist/client/channels-client.js +2 -1
  26. package/dist/client/channels-client.js.map +1 -1
  27. package/dist/client/config-client.d.ts +44 -17
  28. package/dist/client/config-client.d.ts.map +1 -1
  29. package/dist/client/config-client.js +10 -4
  30. package/dist/client/config-client.js.map +1 -1
  31. package/dist/client/connectors-client.d.ts +270 -81
  32. package/dist/client/connectors-client.d.ts.map +1 -1
  33. package/dist/client/connectors-client.js +38 -10
  34. package/dist/client/connectors-client.js.map +1 -1
  35. package/dist/client/conversations-client.d.ts +440 -86
  36. package/dist/client/conversations-client.d.ts.map +1 -1
  37. package/dist/client/conversations-client.js +46 -17
  38. package/dist/client/conversations-client.js.map +1 -1
  39. package/dist/client/hooks-client.d.ts +3 -3
  40. package/dist/client/hooks-client.d.ts.map +1 -1
  41. package/dist/client/hooks-client.js +12 -7
  42. package/dist/client/hooks-client.js.map +1 -1
  43. package/dist/client/index.d.ts +2272 -914
  44. package/dist/client/index.d.ts.map +1 -1
  45. package/dist/client/index.js +10 -2
  46. package/dist/client/index.js.map +1 -1
  47. package/dist/client/interactions-client.d.ts +19 -14
  48. package/dist/client/interactions-client.d.ts.map +1 -1
  49. package/dist/client/interactions-client.js +21 -9
  50. package/dist/client/interactions-client.js.map +1 -1
  51. package/dist/client/login-client.d.ts +18 -17
  52. package/dist/client/login-client.d.ts.map +1 -1
  53. package/dist/client/login-client.js +8 -4
  54. package/dist/client/login-client.js.map +1 -1
  55. package/dist/client/manifest-client.d.ts +276 -105
  56. package/dist/client/manifest-client.d.ts.map +1 -1
  57. package/dist/client/manifest-client.js +22 -16
  58. package/dist/client/manifest-client.js.map +1 -1
  59. package/dist/client/marketplace-client.d.ts +181 -51
  60. package/dist/client/marketplace-client.d.ts.map +1 -1
  61. package/dist/client/marketplace-client.js +23 -12
  62. package/dist/client/marketplace-client.js.map +1 -1
  63. package/dist/client/mcp-config-schema-client.d.ts.map +1 -1
  64. package/dist/client/mcp-config-schema-client.js +2 -1
  65. package/dist/client/mcp-config-schema-client.js.map +1 -1
  66. package/dist/client/notifications-client.d.ts +43 -6
  67. package/dist/client/notifications-client.d.ts.map +1 -1
  68. package/dist/client/notifications-client.js +2 -1
  69. package/dist/client/notifications-client.js.map +1 -1
  70. package/dist/client/observability-client.d.ts +78 -38
  71. package/dist/client/observability-client.d.ts.map +1 -1
  72. package/dist/client/observability-client.js +29 -6
  73. package/dist/client/observability-client.js.map +1 -1
  74. package/dist/client/plugins-client.d.ts +8 -6
  75. package/dist/client/plugins-client.d.ts.map +1 -1
  76. package/dist/client/plugins-client.js +2 -1
  77. package/dist/client/plugins-client.js.map +1 -1
  78. package/dist/client/policy-client.d.ts +4 -4
  79. package/dist/client/policy-client.d.ts.map +1 -1
  80. package/dist/client/policy-client.js +11 -4
  81. package/dist/client/policy-client.js.map +1 -1
  82. package/dist/client/presets-client.d.ts +84 -39
  83. package/dist/client/presets-client.d.ts.map +1 -1
  84. package/dist/client/presets-client.js +25 -13
  85. package/dist/client/presets-client.js.map +1 -1
  86. package/dist/client/profiles-client.d.ts +40 -33
  87. package/dist/client/profiles-client.d.ts.map +1 -1
  88. package/dist/client/profiles-client.js +15 -10
  89. package/dist/client/profiles-client.js.map +1 -1
  90. package/dist/client/schedules-client.d.ts +21 -17
  91. package/dist/client/schedules-client.d.ts.map +1 -1
  92. package/dist/client/schedules-client.js +8 -5
  93. package/dist/client/schedules-client.js.map +1 -1
  94. package/dist/client/settings-schema-client.d.ts +1 -1
  95. package/dist/client/settings-schema-client.d.ts.map +1 -1
  96. package/dist/client/settings-schema-client.js +2 -1
  97. package/dist/client/settings-schema-client.js.map +1 -1
  98. package/dist/client/states-client.d.ts +215 -87
  99. package/dist/client/states-client.d.ts.map +1 -1
  100. package/dist/client/states-client.js +98 -37
  101. package/dist/client/states-client.js.map +1 -1
  102. package/dist/client/storage-client.d.ts +5 -5
  103. package/dist/client/storage-client.d.ts.map +1 -1
  104. package/dist/client/storage-client.js +24 -12
  105. package/dist/client/storage-client.js.map +1 -1
  106. package/dist/client/sub-mcp-client.d.ts +3 -1
  107. package/dist/client/sub-mcp-client.d.ts.map +1 -1
  108. package/dist/client/sub-mcp-client.js +9 -4
  109. package/dist/client/sub-mcp-client.js.map +1 -1
  110. package/dist/client/system-client.d.ts +2 -2
  111. package/dist/client/system-client.d.ts.map +1 -1
  112. package/dist/client/system-client.js +2 -1
  113. package/dist/client/system-client.js.map +1 -1
  114. package/dist/client/templates-client.d.ts +65 -6
  115. package/dist/client/templates-client.d.ts.map +1 -1
  116. package/dist/client/templates-client.js +25 -7
  117. package/dist/client/templates-client.js.map +1 -1
  118. package/dist/client/tool-extensions-client.d.ts +41 -16
  119. package/dist/client/tool-extensions-client.d.ts.map +1 -1
  120. package/dist/client/tool-extensions-client.js +6 -4
  121. package/dist/client/tool-extensions-client.js.map +1 -1
  122. package/dist/client/tool-meta-client.d.ts +8 -8
  123. package/dist/client/tool-meta-client.d.ts.map +1 -1
  124. package/dist/client/tool-meta-client.js +12 -8
  125. package/dist/client/tool-meta-client.js.map +1 -1
  126. package/dist/client/tools-client.d.ts +150 -23
  127. package/dist/client/tools-client.d.ts.map +1 -1
  128. package/dist/client/tools-client.js +8 -8
  129. package/dist/client/tools-client.js.map +1 -1
  130. package/dist/client/trigger-links-client.d.ts +11 -9
  131. package/dist/client/trigger-links-client.d.ts.map +1 -1
  132. package/dist/client/trigger-links-client.js +4 -4
  133. package/dist/client/trigger-links-client.js.map +1 -1
  134. package/dist/fleet-report.d.ts +21 -5
  135. package/dist/fleet-report.d.ts.map +1 -1
  136. package/dist/fleet-report.js +31 -6
  137. package/dist/fleet-report.js.map +1 -1
  138. package/dist/generated/api-routes.d.ts +1014 -0
  139. package/dist/generated/api-routes.d.ts.map +1 -0
  140. package/dist/generated/api-routes.js +322 -0
  141. package/dist/generated/api-routes.js.map +1 -0
  142. package/dist/generated/openapi-schemas.d.ts +12425 -0
  143. package/dist/generated/openapi-schemas.d.ts.map +1 -0
  144. package/dist/generated/openapi-schemas.js +671 -0
  145. package/dist/generated/openapi-schemas.js.map +1 -0
  146. package/dist/generated/served-schemas.d.ts +6698 -349
  147. package/dist/generated/served-schemas.d.ts.map +1 -1
  148. package/dist/generated/served-schemas.js +7062 -21
  149. package/dist/generated/served-schemas.js.map +1 -1
  150. package/dist/headers.d.ts +4 -0
  151. package/dist/headers.d.ts.map +1 -0
  152. package/dist/headers.js +4 -0
  153. package/dist/headers.js.map +1 -0
  154. package/dist/http.d.ts.map +1 -1
  155. package/dist/http.js +4 -3
  156. package/dist/http.js.map +1 -1
  157. package/dist/index.d.ts +7 -3
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +3 -0
  160. package/dist/index.js.map +1 -1
  161. package/dist/schemas/api-keys.d.ts +14 -12
  162. package/dist/schemas/api-keys.d.ts.map +1 -1
  163. package/dist/schemas/api-keys.js +9 -23
  164. package/dist/schemas/api-keys.js.map +1 -1
  165. package/dist/schemas/auth-routes.d.ts +34 -29
  166. package/dist/schemas/auth-routes.d.ts.map +1 -1
  167. package/dist/schemas/auth-routes.js +22 -27
  168. package/dist/schemas/auth-routes.js.map +1 -1
  169. package/dist/schemas/backup.d.ts +157 -36
  170. package/dist/schemas/backup.d.ts.map +1 -1
  171. package/dist/schemas/backup.js +27 -26
  172. package/dist/schemas/backup.js.map +1 -1
  173. package/dist/schemas/capabilities.d.ts +32 -22
  174. package/dist/schemas/capabilities.d.ts.map +1 -1
  175. package/dist/schemas/capabilities.js +15 -40
  176. package/dist/schemas/capabilities.js.map +1 -1
  177. package/dist/schemas/channels.d.ts +1 -1
  178. package/dist/schemas/channels.d.ts.map +1 -1
  179. package/dist/schemas/channels.js +2 -5
  180. package/dist/schemas/channels.js.map +1 -1
  181. package/dist/schemas/config.d.ts.map +1 -1
  182. package/dist/schemas/config.js +4 -6
  183. package/dist/schemas/config.js.map +1 -1
  184. package/dist/schemas/connectors.d.ts +381 -185
  185. package/dist/schemas/connectors.d.ts.map +1 -1
  186. package/dist/schemas/connectors.js +54 -101
  187. package/dist/schemas/connectors.js.map +1 -1
  188. package/dist/schemas/conversations.d.ts +977 -248
  189. package/dist/schemas/conversations.d.ts.map +1 -1
  190. package/dist/schemas/conversations.js +40 -134
  191. package/dist/schemas/conversations.js.map +1 -1
  192. package/dist/schemas/extensions.d.ts +9 -6
  193. package/dist/schemas/extensions.d.ts.map +1 -1
  194. package/dist/schemas/extensions.js +6 -4
  195. package/dist/schemas/extensions.js.map +1 -1
  196. package/dist/schemas/fleet.d.ts +153 -99
  197. package/dist/schemas/fleet.d.ts.map +1 -1
  198. package/dist/schemas/fleet.js +41 -51
  199. package/dist/schemas/fleet.js.map +1 -1
  200. package/dist/schemas/hooks.d.ts +34 -34
  201. package/dist/schemas/hooks.d.ts.map +1 -1
  202. package/dist/schemas/hooks.js +15 -34
  203. package/dist/schemas/hooks.js.map +1 -1
  204. package/dist/schemas/index.d.ts +0 -1
  205. package/dist/schemas/index.d.ts.map +1 -1
  206. package/dist/schemas/index.js +0 -1
  207. package/dist/schemas/index.js.map +1 -1
  208. package/dist/schemas/interactions.d.ts +150 -127
  209. package/dist/schemas/interactions.d.ts.map +1 -1
  210. package/dist/schemas/interactions.js +44 -129
  211. package/dist/schemas/interactions.js.map +1 -1
  212. package/dist/schemas/login.d.ts +36 -37
  213. package/dist/schemas/login.d.ts.map +1 -1
  214. package/dist/schemas/login.js +8 -42
  215. package/dist/schemas/login.js.map +1 -1
  216. package/dist/schemas/manifest-mcp.d.ts +61 -35
  217. package/dist/schemas/manifest-mcp.d.ts.map +1 -1
  218. package/dist/schemas/manifest-mcp.js +13 -19
  219. package/dist/schemas/manifest-mcp.js.map +1 -1
  220. package/dist/schemas/marketplace.d.ts +219 -133
  221. package/dist/schemas/marketplace.d.ts.map +1 -1
  222. package/dist/schemas/marketplace.js +35 -120
  223. package/dist/schemas/marketplace.js.map +1 -1
  224. package/dist/schemas/members.d.ts +59 -52
  225. package/dist/schemas/members.d.ts.map +1 -1
  226. package/dist/schemas/members.js +20 -52
  227. package/dist/schemas/members.js.map +1 -1
  228. package/dist/schemas/notifications.d.ts +115 -17
  229. package/dist/schemas/notifications.d.ts.map +1 -1
  230. package/dist/schemas/notifications.js +9 -35
  231. package/dist/schemas/notifications.js.map +1 -1
  232. package/dist/schemas/observability.d.ts +174 -72
  233. package/dist/schemas/observability.d.ts.map +1 -1
  234. package/dist/schemas/observability.js +23 -76
  235. package/dist/schemas/observability.js.map +1 -1
  236. package/dist/schemas/policy.d.ts +11 -11
  237. package/dist/schemas/policy.d.ts.map +1 -1
  238. package/dist/schemas/policy.js +5 -12
  239. package/dist/schemas/policy.js.map +1 -1
  240. package/dist/schemas/presets.d.ts +109 -64
  241. package/dist/schemas/presets.d.ts.map +1 -1
  242. package/dist/schemas/presets.js +12 -48
  243. package/dist/schemas/presets.js.map +1 -1
  244. package/dist/schemas/principals.d.ts +28 -21
  245. package/dist/schemas/principals.d.ts.map +1 -1
  246. package/dist/schemas/principals.js +13 -25
  247. package/dist/schemas/principals.js.map +1 -1
  248. package/dist/schemas/profiles.d.ts +75 -63
  249. package/dist/schemas/profiles.d.ts.map +1 -1
  250. package/dist/schemas/profiles.js +24 -54
  251. package/dist/schemas/profiles.js.map +1 -1
  252. package/dist/schemas/roles.d.ts +22 -22
  253. package/dist/schemas/roles.d.ts.map +1 -1
  254. package/dist/schemas/roles.js +10 -17
  255. package/dist/schemas/roles.js.map +1 -1
  256. package/dist/schemas/schedules.d.ts +21 -15
  257. package/dist/schemas/schedules.d.ts.map +1 -1
  258. package/dist/schemas/schedules.js +4 -13
  259. package/dist/schemas/schedules.js.map +1 -1
  260. package/dist/schemas/served.d.ts +6373 -181
  261. package/dist/schemas/served.d.ts.map +1 -1
  262. package/dist/schemas/served.js +21 -0
  263. package/dist/schemas/served.js.map +1 -1
  264. package/dist/schemas/settings-schema.d.ts +1 -1
  265. package/dist/schemas/settings-schema.d.ts.map +1 -1
  266. package/dist/schemas/settings-schema.js +17 -19
  267. package/dist/schemas/settings-schema.js.map +1 -1
  268. package/dist/schemas/setup.d.ts +6 -6
  269. package/dist/schemas/setup.d.ts.map +1 -1
  270. package/dist/schemas/setup.js +2 -11
  271. package/dist/schemas/setup.js.map +1 -1
  272. package/dist/schemas/states.d.ts +450 -135
  273. package/dist/schemas/states.d.ts.map +1 -1
  274. package/dist/schemas/states.js +76 -140
  275. package/dist/schemas/states.js.map +1 -1
  276. package/dist/schemas/storage.d.ts +7 -8
  277. package/dist/schemas/storage.d.ts.map +1 -1
  278. package/dist/schemas/storage.js +8 -17
  279. package/dist/schemas/storage.js.map +1 -1
  280. package/dist/schemas/studio-plugins.d.ts +24 -18
  281. package/dist/schemas/studio-plugins.d.ts.map +1 -1
  282. package/dist/schemas/studio-plugins.js +5 -19
  283. package/dist/schemas/studio-plugins.js.map +1 -1
  284. package/dist/schemas/sub-mcp.d.ts +11 -8
  285. package/dist/schemas/sub-mcp.d.ts.map +1 -1
  286. package/dist/schemas/sub-mcp.js +10 -19
  287. package/dist/schemas/sub-mcp.js.map +1 -1
  288. package/dist/schemas/system-kinds.d.ts +76 -46
  289. package/dist/schemas/system-kinds.d.ts.map +1 -1
  290. package/dist/schemas/system-kinds.js +11 -28
  291. package/dist/schemas/system-kinds.js.map +1 -1
  292. package/dist/schemas/templates.d.ts +83 -25
  293. package/dist/schemas/templates.d.ts.map +1 -1
  294. package/dist/schemas/templates.js +8 -9
  295. package/dist/schemas/templates.js.map +1 -1
  296. package/dist/schemas/tool-meta.d.ts +15 -15
  297. package/dist/schemas/tool-meta.d.ts.map +1 -1
  298. package/dist/schemas/tool-meta.js +6 -21
  299. package/dist/schemas/tool-meta.js.map +1 -1
  300. package/dist/schemas/tools.d.ts +177 -56
  301. package/dist/schemas/tools.d.ts.map +1 -1
  302. package/dist/schemas/tools.js +20 -41
  303. package/dist/schemas/tools.js.map +1 -1
  304. package/dist/schemas/trigger-links.d.ts +22 -17
  305. package/dist/schemas/trigger-links.d.ts.map +1 -1
  306. package/dist/schemas/trigger-links.js +7 -27
  307. package/dist/schemas/trigger-links.js.map +1 -1
  308. package/dist/tool-runs.d.ts +175 -54
  309. package/dist/tool-runs.d.ts.map +1 -1
  310. package/dist/tool-runs.js +33 -34
  311. package/dist/tool-runs.js.map +1 -1
  312. package/package.json +4 -3
  313. package/src/agents.ts +16 -4
  314. package/src/client/agents-client.ts +3 -2
  315. package/src/client/auth-client.ts +102 -37
  316. package/src/client/backend-client.ts +8 -3
  317. package/src/client/backup-client.ts +8 -3
  318. package/src/client/capabilities-client.ts +4 -2
  319. package/src/client/channels-client.ts +3 -1
  320. package/src/client/config-client.ts +13 -5
  321. package/src/client/connectors-client.ts +91 -16
  322. package/src/client/conversations-client.ts +79 -30
  323. package/src/client/hooks-client.ts +25 -12
  324. package/src/client/index.ts +16 -4
  325. package/src/client/interactions-client.ts +40 -16
  326. package/src/client/login-client.ts +8 -4
  327. package/src/client/manifest-client.ts +48 -24
  328. package/src/client/marketplace-client.ts +23 -12
  329. package/src/client/mcp-config-schema-client.ts +2 -1
  330. package/src/client/notifications-client.ts +2 -1
  331. package/src/client/observability-client.ts +60 -8
  332. package/src/client/plugins-client.ts +2 -1
  333. package/src/client/policy-client.ts +24 -9
  334. package/src/client/presets-client.ts +26 -13
  335. package/src/client/profiles-client.ts +53 -24
  336. package/src/client/schedules-client.ts +14 -20
  337. package/src/client/settings-schema-client.ts +2 -1
  338. package/src/client/states-client.ts +151 -49
  339. package/src/client/storage-client.ts +43 -14
  340. package/src/client/sub-mcp-client.ts +10 -4
  341. package/src/client/system-client.ts +2 -1
  342. package/src/client/templates-client.ts +26 -7
  343. package/src/client/tool-extensions-client.ts +14 -7
  344. package/src/client/tool-meta-client.ts +46 -21
  345. package/src/client/tools-client.ts +13 -8
  346. package/src/client/trigger-links-client.ts +10 -6
  347. package/src/fleet-report.ts +48 -7
  348. package/src/generated/api-routes.ts +327 -0
  349. package/src/generated/openapi-schemas.ts +1508 -0
  350. package/src/generated/served-schemas.ts +7120 -40
  351. package/src/headers.ts +4 -0
  352. package/src/http.ts +4 -3
  353. package/src/index.ts +44 -10
  354. package/src/schemas/api-keys.ts +9 -25
  355. package/src/schemas/auth-routes.ts +27 -28
  356. package/src/schemas/backup.ts +33 -31
  357. package/src/schemas/capabilities.ts +16 -39
  358. package/src/schemas/channels.ts +4 -4
  359. package/src/schemas/config.ts +6 -6
  360. package/src/schemas/connectors.ts +61 -102
  361. package/src/schemas/conversations.ts +43 -133
  362. package/src/schemas/extensions.ts +7 -4
  363. package/src/schemas/fleet.ts +51 -51
  364. package/src/schemas/hooks.ts +18 -37
  365. package/src/schemas/index.ts +0 -1
  366. package/src/schemas/interactions.ts +48 -131
  367. package/src/schemas/login.ts +10 -41
  368. package/src/schemas/manifest-mcp.ts +13 -19
  369. package/src/schemas/marketplace.ts +37 -120
  370. package/src/schemas/members.ts +21 -51
  371. package/src/schemas/notifications.ts +10 -34
  372. package/src/schemas/observability.ts +34 -79
  373. package/src/schemas/policy.ts +5 -12
  374. package/src/schemas/presets.ts +13 -48
  375. package/src/schemas/principals.ts +17 -24
  376. package/src/schemas/profiles.ts +25 -55
  377. package/src/schemas/roles.ts +11 -17
  378. package/src/schemas/schedules.ts +4 -15
  379. package/src/schemas/served.ts +33 -0
  380. package/src/schemas/settings-schema.ts +18 -23
  381. package/src/schemas/setup.ts +4 -10
  382. package/src/schemas/states.ts +88 -139
  383. package/src/schemas/storage.ts +10 -16
  384. package/src/schemas/studio-plugins.ts +8 -19
  385. package/src/schemas/sub-mcp.ts +12 -18
  386. package/src/schemas/system-kinds.ts +12 -29
  387. package/src/schemas/templates.ts +8 -10
  388. package/src/schemas/tool-meta.ts +8 -20
  389. package/src/schemas/tools.ts +22 -45
  390. package/src/schemas/trigger-links.ts +8 -26
  391. package/src/tool-runs.ts +47 -38
  392. package/dist/client/web-entry-gate-client.d.ts +0 -34
  393. package/dist/client/web-entry-gate-client.d.ts.map +0 -1
  394. package/dist/client/web-entry-gate-client.js +0 -25
  395. package/dist/client/web-entry-gate-client.js.map +0 -1
  396. package/dist/schemas/web-entry.d.ts +0 -45
  397. package/dist/schemas/web-entry.d.ts.map +0 -1
  398. package/dist/schemas/web-entry.js +0 -36
  399. package/dist/schemas/web-entry.js.map +0 -1
  400. package/src/client/web-entry-gate-client.ts +0 -45
  401. package/src/schemas/web-entry.ts +0 -46
@@ -1,5 +1,5 @@
1
1
  /** Auth scopes, routes, roles and API-key sub-client. */
2
- import { encodeSegment } from '../http';
2
+ import { apiRoutes, buildPath } from '../generated/api-routes';
3
3
  import * as s from '../schemas';
4
4
  import type { Transport } from './transport';
5
5
 
@@ -87,119 +87,184 @@ export interface InvokeMemberActionBody {
87
87
  readonly input: Record<string, unknown>;
88
88
  }
89
89
 
90
- export function authClient(t: Transport) {
90
+ /** Scope mapping, the route catalog and the public-route pins. */
91
+ function scopeRouteMethods(t: Transport) {
91
92
  const { req } = t;
92
93
  return {
93
- listScopes: (signal?: AbortSignal) => req('/api/auth/scopes', s.authScopes, { signal }),
94
+ listScopes: (signal?: AbortSignal) =>
95
+ req(apiRoutes.get_api_auth_scopes.path, s.authScopes, { signal }),
94
96
  addUrlToScope: (body: AddUrlToScopeBody) =>
95
- req('/api/auth/scopes', s.addUrlToScopeResult, { method: 'POST', body }),
97
+ req(apiRoutes.post_api_auth_scopes.path, s.addUrlToScopeResult, { method: 'POST', body }),
96
98
  removeUrlFromScope: (body: { url: string }) =>
97
- req('/api/auth/scopes/urls', s.removeUrlFromScopeResult, { method: 'DELETE', body }),
98
- removeScope: (scopeId: string) =>
99
- req(`/api/auth/scopes/${encodeSegment(scopeId)}`, s.removeScopeResult, {
99
+ req(apiRoutes.delete_api_auth_scopes_urls.path, s.removeUrlFromScopeResult, {
100
100
  method: 'DELETE',
101
+ body,
101
102
  }),
103
+ removeScope: (scopeId: string) =>
104
+ req(
105
+ buildPath(apiRoutes.delete_api_auth_scopes_scope_id.path, { scope_id: scopeId }),
106
+ s.removeScopeResult,
107
+ {
108
+ method: 'DELETE',
109
+ },
110
+ ),
102
111
  // The app's HTTP route catalog with each route's current mapping — the only
103
112
  // source of the mapper's unassigned-routes bucket (`mapped: null` entries).
104
- listAuthRoutes: (signal?: AbortSignal) => req('/api/auth/routes', s.authRoutes, { signal }),
113
+ listAuthRoutes: (signal?: AbortSignal) =>
114
+ req(apiRoutes.get_api_auth_routes.path, s.authRoutes, { signal }),
105
115
  // The urls pinned to the public marker; pinning/unpinning is the dedicated
106
116
  // public-routes writer, never the scope machinery.
107
117
  listPublicRoutes: (signal?: AbortSignal) =>
108
- req('/api/auth/public-routes', s.publicRoutes, { signal }),
118
+ req(apiRoutes.get_api_auth_public_routes.path, s.publicRoutes, { signal }),
109
119
  pinRoutePublic: (body: PinRoutePublicBody) =>
110
- req('/api/auth/public-routes', s.pinPublicResult, { method: 'POST', body }),
120
+ req(apiRoutes.post_api_auth_public_routes.path, s.pinPublicResult, { method: 'POST', body }),
111
121
  // Unpin a public url. A url that is absent or scope-mapped is a loud 404.
112
122
  unpinPublicRoute: (url: string) =>
113
- req('/api/auth/public-routes', s.unpinPublicResult, { method: 'DELETE', body: { url } }),
123
+ req(apiRoutes.delete_api_auth_public_routes.path, s.unpinPublicResult, {
124
+ method: 'DELETE',
125
+ body: { url },
126
+ }),
127
+ };
128
+ }
114
129
 
130
+ /** Role bodies, their version history and rollback. */
131
+ function roleMethods(t: Transport) {
132
+ const { req } = t;
133
+ return {
115
134
  // The seeded + operator-authored roles as full bodies (base-tier ceiling +
116
135
  // editable per-tag grant map). ADMIN-ONLY — the route is `secret` (a listing
117
136
  // exposes each role's raw base-tier jq); a non-admin projection never reaches it.
118
- listRoles: (signal?: AbortSignal) => req('/api/auth/roles', s.roleList, { signal }),
137
+ listRoles: (signal?: AbortSignal) =>
138
+ req(apiRoutes.get_api_auth_roles.path, s.roleList, { signal }),
119
139
  // Create an operator-authored role. The server validates the grant map + base
120
140
  // tier and 409s on a name collision; the reserved `admin` role cannot be created.
121
141
  createRole: (body: RoleCreateBody) =>
122
- req('/api/auth/roles', s.roleBody, { method: 'POST', body }),
142
+ req(apiRoutes.post_api_auth_roles.path, s.roleBody, { method: 'POST', body }),
123
143
  // Edit a role's per-tag grant map + description (omit-means-keep). The reserved
124
144
  // `admin` role and any `allow_all` role are block-downgrade guarded server-side.
125
145
  updateRole: (name: string, body: RoleUpdateBody) =>
126
- req(`/api/auth/roles/${encodeSegment(name)}`, s.roleBody, { method: 'PUT', body }),
146
+ req(buildPath(apiRoutes.put_api_auth_roles_name.path, { name }), s.roleBody, {
147
+ method: 'PUT',
148
+ body,
149
+ }),
127
150
  // Delete a role. The reserved `admin` role is undeletable; a role still assigned
128
151
  // to any principal is a loud 409.
129
152
  deleteRole: (name: string) =>
130
- req(`/api/auth/roles/${encodeSegment(name)}`, s.roleDeleted, { method: 'DELETE' }),
153
+ req(buildPath(apiRoutes.delete_api_auth_roles_name.path, { name }), s.roleDeleted, {
154
+ method: 'DELETE',
155
+ }),
131
156
  // A role's append-only version history + who/action/before→after audit trail.
132
157
  // ADMIN-ONLY (`secret`).
133
158
  listRoleVersions: (name: string, signal?: AbortSignal) =>
134
- req(`/api/auth/roles/${encodeSegment(name)}/versions`, s.roleVersions, { signal }),
159
+ req(buildPath(apiRoutes.get_api_auth_roles_name_versions.path, { name }), s.roleVersions, {
160
+ signal,
161
+ }),
135
162
  // Re-point a role's active version to a prior one (LIVE — holders follow on
136
163
  // their next request); returns the re-pointed role body.
137
164
  rollbackRole: (name: string, version: number) =>
138
- req(`/api/auth/roles/${encodeSegment(name)}/rollback`, s.roleBody, {
165
+ req(buildPath(apiRoutes.post_api_auth_roles_name_rollback.path, { name }), s.roleBody, {
139
166
  method: 'POST',
140
167
  body: { version },
141
168
  }),
169
+ };
170
+ }
142
171
 
172
+ /** API keys, claim links and the member directory with its actions. */
173
+ function keyMemberMethods(t: Transport) {
174
+ const { req } = t;
175
+ return {
143
176
  listTokensPayload: (signal?: AbortSignal) =>
144
- req('/api/auth/tokens-payload', s.tokensPayload, { signal }),
177
+ req(apiRoutes.get_api_auth_tokens_payload.path, s.tokensPayload, { signal }),
145
178
  createApiKey: (body: ApiKeyBody) =>
146
- req('/api/auth/api-keys', s.createdApiKey, { method: 'POST', body }),
179
+ req(apiRoutes.post_api_auth_api_keys.path, s.createdApiKey, { method: 'POST', body }),
147
180
  editApiKey: (userId: string, body: Omit<ApiKeyBody, 'user_id'>) =>
148
- req(`/api/auth/api-keys/${encodeSegment(userId)}`, s.editApiKeyResult, {
149
- method: 'PUT',
150
- body,
151
- }),
181
+ req(
182
+ buildPath(apiRoutes.put_api_auth_api_keys_user_id.path, { user_id: userId }),
183
+ s.editApiKeyResult,
184
+ {
185
+ method: 'PUT',
186
+ body,
187
+ },
188
+ ),
152
189
  revokeApiKey: (userId: string) =>
153
- req(`/api/auth/api-keys/${encodeSegment(userId)}`, s.revokeApiKeyResult, {
154
- method: 'DELETE',
155
- }),
190
+ req(
191
+ buildPath(apiRoutes.delete_api_auth_api_keys_user_id.path, { user_id: userId }),
192
+ s.revokeApiKeyResult,
193
+ {
194
+ method: 'DELETE',
195
+ },
196
+ ),
156
197
  // Mint a one-time claim link carrying a raw key to another device (the QR
157
198
  // onboarding leg). The token rides the URL fragment; the server returns a
158
199
  // relative `claim_path` and the raw token ONCE.
159
200
  createClaimLink: (body: ClaimLinkBody) =>
160
- req('/api/auth/claim-links', s.claimLinkCreated, { method: 'POST', body }),
201
+ req(apiRoutes.post_api_auth_claim_links.path, s.claimLinkCreated, { method: 'POST', body }),
161
202
 
162
203
  // The deployment-wide membership: every accounts provider's people and
163
204
  // outstanding invitations, aggregated and platform-joined server-side into one
164
205
  // directory (each row carrying its principal state + opaque routing tokens).
165
206
  // ADMIN-ONLY (`secret`) — a non-admin projection never reaches the route.
166
- listMembers: (signal?: AbortSignal) => req('/api/auth/members', s.memberDirectory, { signal }),
207
+ listMembers: (signal?: AbortSignal) =>
208
+ req(apiRoutes.get_api_auth_members.path, s.memberDirectory, { signal }),
167
209
 
168
210
  // The catalog of member-admin actions every accounts provider declares, each
169
211
  // with its opaque key, rendered label, placement, and input/result JSON Schema.
170
212
  // ADMIN-ONLY (`secret`) — the same fence the members listing carries.
171
213
  listMemberActions: (signal?: AbortSignal) =>
172
- req('/api/auth/member-actions', s.memberActionCatalog, { signal }),
214
+ req(apiRoutes.get_api_auth_member_actions.path, s.memberActionCatalog, { signal }),
173
215
  // Invoke one declared action by its opaque key, echoing the target row's handle
174
216
  // and the per-action input. The result is carried opaquely for a read-only,
175
217
  // schema-driven render. ADMIN-ONLY (`fenced`).
176
218
  invokeMemberAction: (body: InvokeMemberActionBody) =>
177
- req('/api/auth/member-actions/invoke', s.invokeMemberActionResult, {
219
+ req(apiRoutes.post_api_auth_member_actions_invoke.path, s.invokeMemberActionResult, {
178
220
  method: 'POST',
179
221
  body,
180
222
  }),
223
+ };
224
+ }
181
225
 
226
+ /** The deployment's principals. */
227
+ function principalMethods(t: Transport) {
228
+ const { req } = t;
229
+ return {
182
230
  // The deployment's principals (identities). ADMIN-ONLY (`secret`) — a
183
231
  // non-admin projection never reaches the route.
184
232
  listPrincipals: (signal?: AbortSignal) =>
185
- req('/api/auth/principals', s.principalList, { signal }),
233
+ req(apiRoutes.get_api_auth_principals.path, s.principalList, { signal }),
186
234
  // Create a `human` or `service` principal and apply its role (admin only).
187
235
  // A duplicate id is a loud 409; an unknown role a loud 400.
188
236
  createPrincipal: (body: {
189
237
  user_id?: string;
190
- kind: 'human' | 'service';
238
+ kind: s.PrincipalKind;
191
239
  display_name: string;
192
240
  role: string;
193
- }) => req('/api/auth/principals', s.principal, { method: 'POST', body }),
241
+ }) => req(apiRoutes.post_api_auth_principals.path, s.principal, { method: 'POST', body }),
194
242
  // Update a principal's display name and/or `disabled` flag (omit-means-keep;
195
243
  // an all-absent body is a loud 400). Disabling turns off every credential the
196
244
  // principal owns.
197
245
  updatePrincipal: (userId: string, body: { display_name?: string; disabled?: boolean }) =>
198
- req(`/api/auth/principals/${encodeSegment(userId)}`, s.principal, { method: 'PUT', body }),
246
+ req(
247
+ buildPath(apiRoutes.put_api_auth_principals_user_id.path, { user_id: userId }),
248
+ s.principal,
249
+ { method: 'PUT', body },
250
+ ),
199
251
  // Delete a principal — revokes every key it owns and its policy row.
200
252
  deletePrincipal: (userId: string) =>
201
- req(`/api/auth/principals/${encodeSegment(userId)}`, s.principalDeleted, {
202
- method: 'DELETE',
203
- }),
253
+ req(
254
+ buildPath(apiRoutes.delete_api_auth_principals_user_id.path, { user_id: userId }),
255
+ s.principalDeleted,
256
+ {
257
+ method: 'DELETE',
258
+ },
259
+ ),
260
+ };
261
+ }
262
+
263
+ export function authClient(t: Transport) {
264
+ return {
265
+ ...scopeRouteMethods(t),
266
+ ...roleMethods(t),
267
+ ...keyMemberMethods(t),
268
+ ...principalMethods(t),
204
269
  };
205
270
  }
@@ -1,4 +1,5 @@
1
1
  /** Backend identity and worker-bus fleet sub-client. */
2
+ import { apiRoutes } from '../generated/api-routes';
2
3
  import * as s from '../schemas';
3
4
  import type { Transport } from './transport';
4
5
 
@@ -11,15 +12,19 @@ export function backendClient(t: Transport) {
11
12
  // plugin is registered. `listFleetWorkers` reads the live bus presence census
12
13
  // (every subscribed worker, ASGI + backend-runtime) and never fabricates an empty
13
14
  // fleet — a census read that fails surfaces as a loud 500.
14
- getBackendInfo: (signal?: AbortSignal) => req('/api/backend', s.backendInfo, { signal }),
15
+ getBackendInfo: (signal?: AbortSignal) =>
16
+ req(apiRoutes.get_api_backend.path, s.backendInfo, { signal }),
15
17
  listFleetWorkers: (signal?: AbortSignal) =>
16
- req('/api/fleet/workers', s.fleetWorkers, { signal }),
18
+ req(apiRoutes.get_api_fleet_workers.path, s.fleetWorkers, { signal }),
17
19
  // Soft-restart the fleet: `targets` names the workers to reload, or `null` for
18
20
  // the whole fleet. The serving worker applies locally then broadcasts; a 200
19
21
  // response carries the per-worker fleet report, so workers that did not converge
20
22
  // are named, not hidden. A failed local apply instead re-raises as a loud error
21
23
  // (the transport throws with the failure message), not a returned report.
22
24
  reloadFleetConfig: (targets: string[] | null) =>
23
- req('/api/fleet/reload-config', s.fleetReloadResult, { method: 'POST', body: { targets } }),
25
+ req(apiRoutes.post_api_fleet_reload_config.path, s.fleetReloadResult, {
26
+ method: 'POST',
27
+ body: { targets },
28
+ }),
24
29
  };
25
30
  }
@@ -1,4 +1,5 @@
1
1
  /** Backup section listing, export and import sub-client. */
2
+ import { apiRoutes } from '../generated/api-routes';
2
3
  import { apiDownload } from '../http';
3
4
  import * as s from '../schemas';
4
5
  import type { Transport } from './transport';
@@ -7,10 +8,14 @@ export function backupClient(t: Transport) {
7
8
  const { config, req } = t;
8
9
  return {
9
10
  listBackupSections: (signal?: AbortSignal) =>
10
- req('/api/backup/sections', s.backupSections, { signal }),
11
+ req(apiRoutes.get_api_backup_sections.path, s.backupSections, { signal }),
11
12
  exportBackup: (sections: string[], signal?: AbortSignal): Promise<Blob> =>
12
- apiDownload(config, '/api/backup/export', { method: 'POST', body: { sections }, signal }),
13
+ apiDownload(config, apiRoutes.post_api_backup_export.path, {
14
+ method: 'POST',
15
+ body: { sections },
16
+ signal,
17
+ }),
13
18
  importBackup: (body: { document: unknown; sections: string[] }) =>
14
- req('/api/backup/import', s.backupImportReport, { method: 'POST', body }),
19
+ req(apiRoutes.post_api_backup_import.path, s.backupImportReport, { method: 'POST', body }),
15
20
  };
16
21
  }
@@ -1,4 +1,5 @@
1
1
  /** Caller capability projection and auth-capabilities sub-clients. */
2
+ import { apiRoutes } from '../generated/api-routes';
2
3
  import * as s from '../schemas';
3
4
  import type { Transport } from './transport';
4
5
 
@@ -7,7 +8,8 @@ export function capabilitiesGetMe(t: Transport) {
7
8
  return {
8
9
  // The derived (path, method) surface + tools/agents the caller can reach
9
10
  // right now — the projection the Studio filters its nav and pages on.
10
- getMe: (signal?: AbortSignal) => req('/api/auth/me', s.meProjection, { signal }),
11
+ getMe: (signal?: AbortSignal) =>
12
+ req(apiRoutes.get_api_auth_me.path, s.meProjection, { signal }),
11
13
  };
12
14
  }
13
15
 
@@ -17,6 +19,6 @@ export function capabilitiesGetCaps(t: Transport) {
17
19
  // Whether this deployment can mint API keys locally (the settings key-create
18
20
  // UI gates on `mintable`). AUTHED.
19
21
  getAuthCapabilities: (signal?: AbortSignal) =>
20
- req('/api/auth/capabilities', s.authCapabilities, { signal }),
22
+ req(apiRoutes.get_api_auth_capabilities.path, s.authCapabilities, { signal }),
21
23
  };
22
24
  }
@@ -1,4 +1,5 @@
1
1
  /** Installed channel-plugin catalog sub-client. */
2
+ import { apiRoutes } from '../generated/api-routes';
2
3
  import * as s from '../schemas';
3
4
  import type { Transport } from './transport';
4
5
 
@@ -6,6 +7,7 @@ export function channelsClient(t: Transport) {
6
7
  const { req } = t;
7
8
  return {
8
9
  // The installed channel-plugin names (delivery media for ask questions).
9
- listChannels: (signal?: AbortSignal) => req('/api/channels', s.channels, { signal }),
10
+ listChannels: (signal?: AbortSignal) =>
11
+ req(apiRoutes.get_api_channels.path, s.channels, { signal }),
10
12
  };
11
13
  }
@@ -1,14 +1,19 @@
1
1
  /** Environment-config and reload sub-client. */
2
+ import { apiRoutes } from '../generated/api-routes';
2
3
  import * as s from '../schemas';
3
4
  import type { Transport } from './transport';
4
5
 
5
6
  export function configClient(t: Transport) {
6
7
  const { req } = t;
7
8
  return {
8
- getEnvConfig: (signal?: AbortSignal) => req('/api/config/env', s.envConfig, { signal }),
9
- setEnvConfig: (env: Record<string, string>) =>
10
- req('/api/config/env', s.reloadConfigResult, { method: 'POST', body: env }),
11
- getConfigMode: (signal?: AbortSignal) => req('/api/config/mode', s.configMode, { signal }),
9
+ getEnvConfig: (signal?: AbortSignal) =>
10
+ req(apiRoutes.get_api_config_env.path, s.envConfig, { signal }),
11
+ // `env` MERGES into the stored env ('' deletes a key); `secret_keys`, when a list,
12
+ // REPLACES the operator's secret marks (absent or `null` leaves them untouched).
13
+ setEnvConfig: (body: { env: Record<string, string>; secret_keys?: string[] | null }) =>
14
+ req(apiRoutes.post_api_config_env.path, s.reloadConfigResult, { method: 'POST', body }),
15
+ getConfigMode: (signal?: AbortSignal) =>
16
+ req(apiRoutes.get_api_config_mode.path, s.configMode, { signal }),
12
17
  // The LOCAL soft-restart door (distinct from the System page's fleet door
13
18
  // `/api/fleet/reload-config`): refresh env from the config manager, reset the
14
19
  // settings caches, and re-initialize from the manifest — applied on the serving
@@ -16,6 +21,9 @@ export function configClient(t: Transport) {
16
21
  // Admin-`fenced`; the 200 body is the bare per-worker fleet report so an
17
22
  // unconverged sibling is visible, never hidden.
18
23
  reloadConfig: (targets: string[] | null = null) =>
19
- req('/api/config/reload', s.fleetReloadResult, { method: 'POST', body: { targets } }),
24
+ req(apiRoutes.post_api_config_reload.path, s.fleetReloadResult, {
25
+ method: 'POST',
26
+ body: { targets },
27
+ }),
20
28
  };
21
29
  }
@@ -1,5 +1,5 @@
1
1
  /** Connector provider and connection lifecycle sub-client. */
2
- import { encodeSegment } from '../http';
2
+ import { apiRoutes, buildPath } from '../generated/api-routes';
3
3
  import * as s from '../schemas';
4
4
  import type { Transport } from './transport';
5
5
 
@@ -11,42 +11,117 @@ export interface StartConnectArgs {
11
11
  readonly return_url?: string;
12
12
  }
13
13
 
14
+ /** Look a server up by its address, or the server of an existing provider. */
15
+ export type DiscoverServerTarget = { readonly url: string } | { readonly providerId: string };
16
+
17
+ /** The body of `POST /api/connectors/providers`: add the MCP server at `url`. */
18
+ export interface AddServerArgs {
19
+ readonly url: string;
20
+ readonly id?: string;
21
+ readonly display_name?: string;
22
+ readonly description?: string;
23
+ readonly icon_url?: string;
24
+ readonly category?: string;
25
+ readonly scopes?: string[];
26
+ }
27
+
28
+ /** The body of `PUT /api/connectors/providers/{id}/client`: an app registered by hand. */
29
+ export interface SetProviderClientArgs {
30
+ readonly client_id: string;
31
+ readonly client_secret?: string | null;
32
+ readonly token_endpoint_auth_method?: 'client_secret_post' | 'client_secret_basic' | 'none';
33
+ readonly issuer?: string;
34
+ }
35
+
14
36
  export function connectorsClient(t: Transport) {
15
37
  const { req } = t;
16
38
  return {
17
39
  listProviders: (signal?: AbortSignal) =>
18
- req('/api/connectors/providers', s.providers, { signal }),
40
+ req(apiRoutes.get_api_connectors_providers.path, s.providers, { signal }),
19
41
  listConnections: (signal?: AbortSignal) =>
20
- req('/api/connectors/connections', s.connectionsList, { signal }),
42
+ req(apiRoutes.get_api_connectors_connections.path, s.connectionsList, { signal }),
21
43
  getConnection: (id: string, signal?: AbortSignal) =>
22
- req(`/api/connectors/connections/${encodeSegment(id)}`, s.connectionView, { signal }),
44
+ req(
45
+ buildPath(apiRoutes.get_api_connectors_connections_connection_id.path, {
46
+ connection_id: id,
47
+ }),
48
+ s.connectionView,
49
+ { signal },
50
+ ),
23
51
  startConnect: (args: StartConnectArgs) =>
24
- req('/api/connectors/connections/start', s.startConnectResult, {
52
+ req(apiRoutes.post_api_connectors_connections_start.path, s.startConnectResult, {
25
53
  method: 'POST',
26
54
  body: args,
27
55
  }),
28
56
  disconnect: (id: string) =>
29
- req(`/api/connectors/connections/${encodeSegment(id)}`, s.disconnectResult, {
30
- method: 'DELETE',
31
- }),
57
+ req(
58
+ buildPath(apiRoutes.delete_api_connectors_connections_connection_id.path, {
59
+ connection_id: id,
60
+ }),
61
+ s.disconnectResult,
62
+ {
63
+ method: 'DELETE',
64
+ },
65
+ ),
32
66
  reconnect: (id: string, enabled_sub_services: string[], return_url?: string) =>
33
- req(`/api/connectors/connections/${encodeSegment(id)}/reconnect`, s.reconnectResult, {
34
- method: 'POST',
35
- body: { enabled_sub_services, return_url },
36
- }),
67
+ req(
68
+ buildPath(apiRoutes.post_api_connectors_connections_connection_id_reconnect.path, {
69
+ connection_id: id,
70
+ }),
71
+ s.reconnectResult,
72
+ {
73
+ method: 'POST',
74
+ body: { enabled_sub_services, return_url },
75
+ },
76
+ ),
37
77
  patchSubServices: (id: string, enabled_sub_services: string[], return_url?: string) =>
38
78
  req(
39
- `/api/connectors/connections/${encodeSegment(id)}/sub-services`,
79
+ buildPath(apiRoutes.patch_api_connectors_connections_connection_id_sub_services.path, {
80
+ connection_id: id,
81
+ }),
40
82
  s.patchSubServicesResult,
41
83
  {
42
84
  method: 'PATCH',
43
85
  body: { enabled_sub_services, return_url },
44
86
  },
45
87
  ),
46
- completeOAuth: (state: string, code: string, error?: string) =>
47
- req('/api/connectors/oauth/complete', s.oauthCompleteResult, {
88
+ // `iss` is the redirect's issuer parameter, sent when the redirect carried one.
89
+ completeOAuth: (state: string, code: string, error?: string, iss?: string) =>
90
+ req(apiRoutes.post_api_connectors_oauth_complete.path, s.oauthCompleteResult, {
91
+ method: 'POST',
92
+ body: { state, code, error, iss },
93
+ }),
94
+ ...providerSetupClient(t),
95
+ };
96
+ }
97
+
98
+ /** The provider-setup calls: look a server up, add it, set its sign-in client, remove it. */
99
+ function providerSetupClient(t: Transport) {
100
+ const { req } = t;
101
+ return {
102
+ discoverServer: (target: DiscoverServerTarget) =>
103
+ req(apiRoutes.post_api_connectors_providers_discover.path, s.discoveredServer, {
104
+ method: 'POST',
105
+ body: 'url' in target ? { url: target.url } : { provider_id: target.providerId },
106
+ }),
107
+ addServer: (args: AddServerArgs) =>
108
+ req(apiRoutes.post_api_connectors_providers.path, s.providerMutationResult, {
48
109
  method: 'POST',
49
- body: { state, code, error },
110
+ body: args,
50
111
  }),
112
+ removeProvider: (id: string) =>
113
+ req(
114
+ buildPath(apiRoutes.delete_api_connectors_providers_provider_id.path, { provider_id: id }),
115
+ s.removeProviderResult,
116
+ { method: 'DELETE' },
117
+ ),
118
+ setProviderClient: (id: string, args: SetProviderClientArgs) =>
119
+ req(
120
+ buildPath(apiRoutes.put_api_connectors_providers_provider_id_client.path, {
121
+ provider_id: id,
122
+ }),
123
+ s.providerMutationResult,
124
+ { method: 'PUT', body: args },
125
+ ),
51
126
  };
52
127
  }