@tai42/api-client 16.0.0 → 16.0.1

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 (370) hide show
  1. package/dist/client/agents-client.d.ts +26 -0
  2. package/dist/client/agents-client.d.ts.map +1 -0
  3. package/dist/client/agents-client.js +19 -0
  4. package/dist/client/agents-client.js.map +1 -0
  5. package/dist/client/auth-client.d.ts +205 -0
  6. package/dist/client/auth-client.d.ts.map +1 -0
  7. package/dist/client/auth-client.js +59 -0
  8. package/dist/client/auth-client.js.map +1 -0
  9. package/dist/client/backend-client.d.ts +39 -0
  10. package/dist/client/backend-client.d.ts.map +1 -0
  11. package/dist/client/backend-client.js +22 -0
  12. package/dist/client/backend-client.js.map +1 -0
  13. package/dist/client/backup-client.d.ts +56 -0
  14. package/dist/client/backup-client.d.ts.map +1 -0
  15. package/dist/client/backup-client.js +12 -0
  16. package/dist/client/backup-client.js.map +1 -0
  17. package/dist/client/capabilities-client.d.ts +35 -0
  18. package/dist/client/capabilities-client.d.ts.map +1 -0
  19. package/dist/client/capabilities-client.js +19 -0
  20. package/dist/client/capabilities-client.js.map +1 -0
  21. package/dist/client/channels-client.d.ts +7 -0
  22. package/dist/client/channels-client.d.ts.map +1 -0
  23. package/dist/client/channels-client.js +10 -0
  24. package/dist/client/channels-client.js.map +1 -0
  25. package/dist/client/config-client.d.ts +59 -0
  26. package/dist/client/config-client.d.ts.map +1 -0
  27. package/dist/client/config-client.js +18 -0
  28. package/dist/client/config-client.js.map +1 -0
  29. package/dist/client/connectors-client.d.ts +225 -0
  30. package/dist/client/connectors-client.d.ts.map +1 -0
  31. package/dist/client/connectors-client.js +31 -0
  32. package/dist/client/connectors-client.js.map +1 -0
  33. package/dist/client/conversations-client.d.ts +399 -0
  34. package/dist/client/conversations-client.d.ts.map +1 -0
  35. package/dist/client/conversations-client.js +120 -0
  36. package/dist/client/conversations-client.js.map +1 -0
  37. package/dist/client/hooks-client.d.ts +113 -0
  38. package/dist/client/hooks-client.d.ts.map +1 -0
  39. package/dist/client/hooks-client.js +25 -0
  40. package/dist/client/hooks-client.js.map +1 -0
  41. package/dist/{client.d.ts → client/index.d.ts} +2235 -2666
  42. package/dist/client/index.d.ts.map +1 -0
  43. package/dist/client/index.js +79 -0
  44. package/dist/client/index.js.map +1 -0
  45. package/dist/client/interactions-client.d.ts +52 -0
  46. package/dist/client/interactions-client.d.ts.map +1 -0
  47. package/dist/client/interactions-client.js +84 -0
  48. package/dist/client/interactions-client.js.map +1 -0
  49. package/dist/client/login-client.d.ts +56 -0
  50. package/dist/client/login-client.d.ts.map +1 -0
  51. package/dist/client/login-client.js +103 -0
  52. package/dist/client/login-client.js.map +1 -0
  53. package/dist/client/manifest-client.d.ts +354 -0
  54. package/dist/client/manifest-client.d.ts.map +1 -0
  55. package/dist/client/manifest-client.js +76 -0
  56. package/dist/client/manifest-client.js.map +1 -0
  57. package/dist/client/marketplace-client.d.ts +274 -0
  58. package/dist/client/marketplace-client.d.ts.map +1 -0
  59. package/dist/client/marketplace-client.js +46 -0
  60. package/dist/client/marketplace-client.js.map +1 -0
  61. package/dist/client/mcp-config-schema-client.d.ts +5 -0
  62. package/dist/client/mcp-config-schema-client.d.ts.map +1 -0
  63. package/dist/client/mcp-config-schema-client.js +9 -0
  64. package/dist/client/mcp-config-schema-client.js.map +1 -0
  65. package/dist/client/notifications-client.d.ts +27 -0
  66. package/dist/client/notifications-client.d.ts.map +1 -0
  67. package/dist/client/notifications-client.js +11 -0
  68. package/dist/client/notifications-client.js.map +1 -0
  69. package/dist/client/observability-client.d.ts +103 -0
  70. package/dist/client/observability-client.d.ts.map +1 -0
  71. package/dist/client/observability-client.js +43 -0
  72. package/dist/client/observability-client.js.map +1 -0
  73. package/dist/client/plugins-client.d.ts +17 -0
  74. package/dist/client/plugins-client.d.ts.map +1 -0
  75. package/dist/client/plugins-client.js +9 -0
  76. package/dist/client/plugins-client.js.map +1 -0
  77. package/dist/client/policy-client.d.ts +37 -0
  78. package/dist/client/policy-client.d.ts.map +1 -0
  79. package/dist/client/policy-client.js +26 -0
  80. package/dist/client/policy-client.js.map +1 -0
  81. package/dist/client/presets-client.d.ts +335 -0
  82. package/dist/client/presets-client.d.ts.map +1 -0
  83. package/dist/client/presets-client.js +38 -0
  84. package/dist/client/presets-client.js.map +1 -0
  85. package/dist/client/profiles-client.d.ts +102 -0
  86. package/dist/client/profiles-client.d.ts.map +1 -0
  87. package/dist/client/profiles-client.js +37 -0
  88. package/dist/client/profiles-client.js.map +1 -0
  89. package/dist/client/schedules-client.d.ts +28 -0
  90. package/dist/client/schedules-client.d.ts.map +1 -0
  91. package/dist/client/schedules-client.js +13 -0
  92. package/dist/client/schedules-client.js.map +1 -0
  93. package/dist/client/settings-schema-client.d.ts +23 -0
  94. package/dist/client/settings-schema-client.d.ts.map +1 -0
  95. package/dist/client/settings-schema-client.js +9 -0
  96. package/dist/client/settings-schema-client.js.map +1 -0
  97. package/dist/client/states-client.d.ts +471 -0
  98. package/dist/client/states-client.d.ts.map +1 -0
  99. package/dist/client/states-client.js +144 -0
  100. package/dist/client/states-client.js.map +1 -0
  101. package/dist/client/storage-client.d.ts +40 -0
  102. package/dist/client/storage-client.d.ts.map +1 -0
  103. package/dist/client/storage-client.js +43 -0
  104. package/dist/client/storage-client.js.map +1 -0
  105. package/dist/client/sub-mcp-client.d.ts +17 -0
  106. package/dist/client/sub-mcp-client.d.ts.map +1 -0
  107. package/dist/client/sub-mcp-client.js +14 -0
  108. package/dist/client/sub-mcp-client.js.map +1 -0
  109. package/dist/client/system-client.d.ts +11 -0
  110. package/dist/client/system-client.d.ts.map +1 -0
  111. package/dist/client/system-client.js +13 -0
  112. package/dist/client/system-client.js.map +1 -0
  113. package/dist/client/templates-client.d.ts +29 -0
  114. package/dist/client/templates-client.d.ts.map +1 -0
  115. package/dist/client/templates-client.js +21 -0
  116. package/dist/client/templates-client.js.map +1 -0
  117. package/dist/client/tool-extensions-client.d.ts +54 -0
  118. package/dist/client/tool-extensions-client.d.ts.map +1 -0
  119. package/dist/client/tool-extensions-client.js +21 -0
  120. package/dist/client/tool-extensions-client.js.map +1 -0
  121. package/dist/client/tool-meta-client.d.ts +69 -0
  122. package/dist/client/tool-meta-client.d.ts.map +1 -0
  123. package/dist/client/tool-meta-client.js +38 -0
  124. package/dist/client/tool-meta-client.js.map +1 -0
  125. package/dist/client/tools-client.d.ts +83 -0
  126. package/dist/client/tools-client.d.ts.map +1 -0
  127. package/dist/client/tools-client.js +38 -0
  128. package/dist/client/tools-client.js.map +1 -0
  129. package/dist/client/transport.d.ts +13 -0
  130. package/dist/client/transport.d.ts.map +1 -0
  131. package/dist/client/transport.js +10 -0
  132. package/dist/client/transport.js.map +1 -0
  133. package/dist/client/trigger-links-client.d.ts +44 -0
  134. package/dist/client/trigger-links-client.d.ts.map +1 -0
  135. package/dist/client/trigger-links-client.js +30 -0
  136. package/dist/client/trigger-links-client.js.map +1 -0
  137. package/dist/client/web-entry-gate-client.d.ts +34 -0
  138. package/dist/client/web-entry-gate-client.d.ts.map +1 -0
  139. package/dist/client/web-entry-gate-client.js +25 -0
  140. package/dist/client/web-entry-gate-client.js.map +1 -0
  141. package/dist/http.d.ts.map +1 -1
  142. package/dist/http.js +33 -17
  143. package/dist/http.js.map +1 -1
  144. package/dist/schemas/api-keys.d.ts +34 -0
  145. package/dist/schemas/api-keys.d.ts.map +1 -0
  146. package/dist/schemas/api-keys.js +22 -0
  147. package/dist/schemas/api-keys.js.map +1 -0
  148. package/dist/schemas/auth-routes.d.ts +78 -0
  149. package/dist/schemas/auth-routes.d.ts.map +1 -0
  150. package/dist/schemas/auth-routes.js +42 -0
  151. package/dist/schemas/auth-routes.js.map +1 -0
  152. package/dist/schemas/backup.d.ts +78 -0
  153. package/dist/schemas/backup.d.ts.map +1 -0
  154. package/dist/schemas/backup.js +33 -0
  155. package/dist/schemas/backup.js.map +1 -0
  156. package/dist/schemas/capabilities.d.ts +99 -0
  157. package/dist/schemas/capabilities.d.ts.map +1 -0
  158. package/dist/schemas/capabilities.js +74 -0
  159. package/dist/schemas/capabilities.js.map +1 -0
  160. package/dist/schemas/channels.d.ts +7 -0
  161. package/dist/schemas/channels.d.ts.map +1 -0
  162. package/dist/schemas/channels.js +9 -0
  163. package/dist/schemas/channels.js.map +1 -0
  164. package/dist/schemas/config.d.ts +17 -0
  165. package/dist/schemas/config.d.ts.map +1 -0
  166. package/dist/schemas/config.js +17 -0
  167. package/dist/schemas/config.js.map +1 -0
  168. package/dist/schemas/connectors.d.ts +383 -0
  169. package/dist/schemas/connectors.d.ts.map +1 -0
  170. package/dist/schemas/connectors.js +122 -0
  171. package/dist/schemas/connectors.js.map +1 -0
  172. package/dist/schemas/conversations.d.ts +600 -0
  173. package/dist/schemas/conversations.d.ts.map +1 -0
  174. package/dist/schemas/conversations.js +208 -0
  175. package/dist/schemas/conversations.js.map +1 -0
  176. package/dist/schemas/extensions.d.ts +44 -0
  177. package/dist/schemas/extensions.d.ts.map +1 -0
  178. package/dist/schemas/extensions.js +29 -0
  179. package/dist/schemas/extensions.js.map +1 -0
  180. package/dist/schemas/fleet.d.ts +271 -0
  181. package/dist/schemas/fleet.d.ts.map +1 -0
  182. package/dist/schemas/fleet.js +132 -0
  183. package/dist/schemas/fleet.js.map +1 -0
  184. package/dist/schemas/hooks.d.ts +120 -0
  185. package/dist/schemas/hooks.d.ts.map +1 -0
  186. package/dist/schemas/hooks.js +44 -0
  187. package/dist/schemas/hooks.js.map +1 -0
  188. package/dist/schemas/index.d.ts +38 -0
  189. package/dist/schemas/index.d.ts.map +1 -0
  190. package/dist/schemas/index.js +38 -0
  191. package/dist/schemas/index.js.map +1 -0
  192. package/dist/schemas/interactions.d.ts +156 -0
  193. package/dist/schemas/interactions.d.ts.map +1 -0
  194. package/dist/schemas/interactions.js +124 -0
  195. package/dist/schemas/interactions.js.map +1 -0
  196. package/dist/schemas/login.d.ts +86 -0
  197. package/dist/schemas/login.d.ts.map +1 -0
  198. package/dist/schemas/login.js +54 -0
  199. package/dist/schemas/login.js.map +1 -0
  200. package/dist/schemas/manifest-mcp.d.ts +125 -0
  201. package/dist/schemas/manifest-mcp.d.ts.map +1 -0
  202. package/dist/schemas/manifest-mcp.js +61 -0
  203. package/dist/schemas/manifest-mcp.js.map +1 -0
  204. package/dist/schemas/marketplace.d.ts +708 -0
  205. package/dist/schemas/marketplace.d.ts.map +1 -0
  206. package/dist/schemas/marketplace.js +387 -0
  207. package/dist/schemas/marketplace.js.map +1 -0
  208. package/dist/schemas/notifications.d.ts +61 -0
  209. package/dist/schemas/notifications.d.ts.map +1 -0
  210. package/dist/schemas/notifications.js +38 -0
  211. package/dist/schemas/notifications.js.map +1 -0
  212. package/dist/schemas/observability.d.ts +114 -0
  213. package/dist/schemas/observability.d.ts.map +1 -0
  214. package/dist/schemas/observability.js +74 -0
  215. package/dist/schemas/observability.js.map +1 -0
  216. package/dist/schemas/policy.d.ts +58 -0
  217. package/dist/schemas/policy.d.ts.map +1 -0
  218. package/dist/schemas/policy.js +32 -0
  219. package/dist/schemas/policy.js.map +1 -0
  220. package/dist/schemas/presets.d.ts +258 -0
  221. package/dist/schemas/presets.d.ts.map +1 -0
  222. package/dist/schemas/presets.js +95 -0
  223. package/dist/schemas/presets.js.map +1 -0
  224. package/dist/schemas/profiles.d.ts +180 -0
  225. package/dist/schemas/profiles.d.ts.map +1 -0
  226. package/dist/schemas/profiles.js +100 -0
  227. package/dist/schemas/profiles.js.map +1 -0
  228. package/dist/schemas/roles.d.ts +125 -0
  229. package/dist/schemas/roles.d.ts.map +1 -0
  230. package/dist/schemas/roles.js +46 -0
  231. package/dist/schemas/roles.js.map +1 -0
  232. package/dist/schemas/schedules.d.ts +25 -0
  233. package/dist/schemas/schedules.d.ts.map +1 -0
  234. package/dist/schemas/schedules.js +24 -0
  235. package/dist/schemas/schedules.js.map +1 -0
  236. package/dist/schemas/served.d.ts +626 -0
  237. package/dist/schemas/served.d.ts.map +1 -0
  238. package/dist/schemas/served.js +28 -0
  239. package/dist/schemas/served.js.map +1 -0
  240. package/dist/schemas/settings-schema.d.ts +23 -0
  241. package/dist/schemas/settings-schema.d.ts.map +1 -0
  242. package/dist/schemas/settings-schema.js +25 -0
  243. package/dist/schemas/settings-schema.js.map +1 -0
  244. package/dist/schemas/shared.d.ts +20 -0
  245. package/dist/schemas/shared.d.ts.map +1 -0
  246. package/dist/schemas/shared.js +20 -0
  247. package/dist/schemas/shared.js.map +1 -0
  248. package/dist/schemas/states.d.ts +499 -0
  249. package/dist/schemas/states.d.ts.map +1 -0
  250. package/dist/schemas/states.js +220 -0
  251. package/dist/schemas/states.js.map +1 -0
  252. package/dist/schemas/storage.d.ts +37 -0
  253. package/dist/schemas/storage.d.ts.map +1 -0
  254. package/dist/schemas/storage.js +24 -0
  255. package/dist/schemas/storage.js.map +1 -0
  256. package/dist/schemas/studio-plugins.d.ts +30 -0
  257. package/dist/schemas/studio-plugins.d.ts.map +1 -0
  258. package/dist/schemas/studio-plugins.js +20 -0
  259. package/dist/schemas/studio-plugins.js.map +1 -0
  260. package/dist/schemas/sub-mcp.d.ts +29 -0
  261. package/dist/schemas/sub-mcp.d.ts.map +1 -0
  262. package/dist/schemas/sub-mcp.js +22 -0
  263. package/dist/schemas/sub-mcp.js.map +1 -0
  264. package/dist/schemas/system-kinds.d.ts +122 -0
  265. package/dist/schemas/system-kinds.d.ts.map +1 -0
  266. package/dist/schemas/system-kinds.js +40 -0
  267. package/dist/schemas/system-kinds.js.map +1 -0
  268. package/dist/schemas/templates.d.ts +26 -0
  269. package/dist/schemas/templates.d.ts.map +1 -0
  270. package/dist/schemas/templates.js +11 -0
  271. package/dist/schemas/templates.js.map +1 -0
  272. package/dist/schemas/tool-meta.d.ts +64 -0
  273. package/dist/schemas/tool-meta.d.ts.map +1 -0
  274. package/dist/schemas/tool-meta.js +44 -0
  275. package/dist/schemas/tool-meta.js.map +1 -0
  276. package/dist/schemas/tools.d.ts +62 -0
  277. package/dist/schemas/tools.d.ts.map +1 -0
  278. package/dist/schemas/tools.js +53 -0
  279. package/dist/schemas/tools.js.map +1 -0
  280. package/dist/schemas/trigger-links.d.ts +71 -0
  281. package/dist/schemas/trigger-links.d.ts.map +1 -0
  282. package/dist/schemas/trigger-links.js +46 -0
  283. package/dist/schemas/trigger-links.js.map +1 -0
  284. package/dist/schemas/web-entry.d.ts +45 -0
  285. package/dist/schemas/web-entry.d.ts.map +1 -0
  286. package/dist/schemas/web-entry.js +36 -0
  287. package/dist/schemas/web-entry.js.map +1 -0
  288. package/dist/tool-runs.d.ts +4 -4
  289. package/package.json +1 -1
  290. package/src/client/agents-client.ts +23 -0
  291. package/src/client/auth-client.ts +144 -0
  292. package/src/client/backend-client.ts +25 -0
  293. package/src/client/backup-client.ts +16 -0
  294. package/src/client/capabilities-client.ts +22 -0
  295. package/src/client/channels-client.ts +11 -0
  296. package/src/client/config-client.ts +21 -0
  297. package/src/client/connectors-client.ts +52 -0
  298. package/src/client/conversations-client.ts +240 -0
  299. package/src/client/hooks-client.ts +44 -0
  300. package/src/client/index.ts +122 -0
  301. package/src/client/interactions-client.ts +89 -0
  302. package/src/client/login-client.ts +109 -0
  303. package/src/client/manifest-client.ts +118 -0
  304. package/src/client/marketplace-client.ts +122 -0
  305. package/src/client/mcp-config-schema-client.ts +11 -0
  306. package/src/client/notifications-client.ts +13 -0
  307. package/src/client/observability-client.ts +82 -0
  308. package/src/client/plugins-client.ts +11 -0
  309. package/src/client/policy-client.ts +41 -0
  310. package/src/client/presets-client.ts +124 -0
  311. package/src/client/profiles-client.ts +51 -0
  312. package/src/client/schedules-client.ts +22 -0
  313. package/src/client/settings-schema-client.ts +11 -0
  314. package/src/client/states-client.ts +292 -0
  315. package/src/client/storage-client.ts +63 -0
  316. package/src/client/sub-mcp-client.ts +17 -0
  317. package/src/client/system-client.ts +16 -0
  318. package/src/client/templates-client.ts +28 -0
  319. package/src/client/tool-extensions-client.ts +24 -0
  320. package/src/client/tool-meta-client.ts +65 -0
  321. package/src/client/tools-client.ts +66 -0
  322. package/src/client/transport.ts +18 -0
  323. package/src/client/trigger-links-client.ts +51 -0
  324. package/src/client/web-entry-gate-client.ts +45 -0
  325. package/src/http.ts +48 -24
  326. package/src/schemas/api-keys.ts +26 -0
  327. package/src/schemas/auth-routes.ts +48 -0
  328. package/src/schemas/backup.ts +42 -0
  329. package/src/schemas/capabilities.ts +87 -0
  330. package/src/schemas/channels.ts +11 -0
  331. package/src/schemas/config.ts +17 -0
  332. package/src/schemas/connectors.ts +138 -0
  333. package/src/schemas/conversations.ts +256 -0
  334. package/src/schemas/extensions.ts +34 -0
  335. package/src/schemas/fleet.ts +153 -0
  336. package/src/schemas/hooks.ts +56 -0
  337. package/src/schemas/index.ts +37 -0
  338. package/src/schemas/interactions.ts +146 -0
  339. package/src/schemas/login.ts +62 -0
  340. package/src/schemas/manifest-mcp.ts +69 -0
  341. package/src/schemas/marketplace.ts +447 -0
  342. package/src/schemas/notifications.ts +42 -0
  343. package/src/schemas/observability.ts +86 -0
  344. package/src/schemas/policy.ts +37 -0
  345. package/src/schemas/presets.ts +113 -0
  346. package/src/schemas/profiles.ts +119 -0
  347. package/src/schemas/roles.ts +57 -0
  348. package/src/schemas/schedules.ts +27 -0
  349. package/src/schemas/served.ts +49 -0
  350. package/src/schemas/settings-schema.ts +31 -0
  351. package/src/schemas/shared.ts +21 -0
  352. package/src/schemas/states.ts +272 -0
  353. package/src/schemas/storage.ts +31 -0
  354. package/src/schemas/studio-plugins.ts +21 -0
  355. package/src/schemas/sub-mcp.ts +24 -0
  356. package/src/schemas/system-kinds.ts +46 -0
  357. package/src/schemas/templates.ts +11 -0
  358. package/src/schemas/tool-meta.ts +51 -0
  359. package/src/schemas/tools.ts +61 -0
  360. package/src/schemas/trigger-links.ts +54 -0
  361. package/src/schemas/web-entry.ts +46 -0
  362. package/dist/client.d.ts.map +0 -1
  363. package/dist/client.js +0 -920
  364. package/dist/client.js.map +0 -1
  365. package/dist/schemas.d.ts +0 -5172
  366. package/dist/schemas.d.ts.map +0 -1
  367. package/dist/schemas.js +0 -2268
  368. package/dist/schemas.js.map +0 -1
  369. package/src/client.ts +0 -1771
  370. package/src/schemas.ts +0 -2760
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-schema-client.js","sourceRoot":"","sources":["../../src/client/settings-schema-client.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,OAAO,KAAK,CAAC,MAAM,YAAY,CAAC;AAGhC,MAAM,UAAU,oBAAoB,CAAC,CAAY;IAC/C,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAClB,OAAO;QACL,iBAAiB,EAAE,CAAC,MAAoB,EAAE,EAAE,CAC1C,GAAG,CAAC,6BAA6B,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,CAAC;KACnE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,471 @@
1
+ /** State declaration, record, template and consumer sub-client. */
2
+ import * as s from '../schemas';
3
+ import type { Transport } from './transport';
4
+ /**
5
+ * The client-facing write body for a state declaration (`PUT /api/states/{name}`), the
6
+ * wire shape of `tai42_contract.states.StateDeclaration` minus the platform-computed
7
+ * `effective_schema`/`regimes` (those are read-only, refused on a write). `schema` is the
8
+ * `TemplatedText | dict` union: an inline JSON-schema object, or a stored template reference
9
+ * (`id` + render `kwargs`) the platform renders to the schema. `retention_days` is `null` to
10
+ * keep records forever.
11
+ */
12
+ export interface StateDeclarationBody {
13
+ readonly name: string;
14
+ readonly description?: string;
15
+ readonly schema: s.TemplatedText | Record<string, unknown>;
16
+ readonly subject_kinds: readonly string[];
17
+ readonly default_subject_kind: string;
18
+ readonly retention_days?: number | null;
19
+ }
20
+ /**
21
+ * A state-template document write body (`PUT /api/state-templates/{name}`, the platform half).
22
+ * `schema` is the `TemplatedText | dict` union — an inline fragment schema, or a stored
23
+ * template reference the platform renders to the fragment.
24
+ */
25
+ export interface StateTemplateBody {
26
+ readonly name: string;
27
+ readonly description?: string;
28
+ readonly parameters?: Record<string, unknown>;
29
+ readonly schema: s.TemplatedText | Record<string, unknown>;
30
+ readonly regimes?: Record<string, unknown>[];
31
+ readonly declarations?: Record<string, unknown> | null;
32
+ readonly trace?: Record<string, unknown>;
33
+ }
34
+ /** A template attach / re-attach body (`PUT|PATCH /api/states/{name}/attachments/{template}`). */
35
+ export interface StateAttachmentBody {
36
+ readonly path?: string[];
37
+ readonly parameters?: Record<string, unknown>;
38
+ readonly declarations?: Record<string, unknown>;
39
+ readonly options?: Record<string, unknown>;
40
+ }
41
+ /** The four-part subject a record route addresses in its path. */
42
+ export interface StateSubjectRef {
43
+ readonly target_kind: string;
44
+ readonly target_name: string;
45
+ readonly kind: string;
46
+ readonly key: string;
47
+ }
48
+ /** A keyset page request: an optional size and the opaque cursor a prior page returned. */
49
+ export interface StatePageQuery {
50
+ readonly limit?: number;
51
+ readonly cursor?: string;
52
+ }
53
+ export declare function statesClient(t: Transport): {
54
+ listStates: (signal?: AbortSignal) => Promise<{
55
+ default_subject_kind: string;
56
+ description: string;
57
+ effective_schema: Record<string, unknown> | null;
58
+ name: string;
59
+ regimes: Record<string, unknown>[] | null;
60
+ retention_days: number | null;
61
+ subject_kinds: string[];
62
+ updated_at: string | null;
63
+ schema?: Record<string, unknown> | {
64
+ content?: string | undefined;
65
+ id?: string | undefined;
66
+ kwargs?: Record<string, unknown> | undefined;
67
+ } | undefined;
68
+ }[]>;
69
+ getState: (name: string, signal?: AbortSignal) => Promise<{
70
+ default_subject_kind: string;
71
+ description: string;
72
+ effective_schema: Record<string, unknown> | null;
73
+ name: string;
74
+ regimes: Record<string, unknown>[] | null;
75
+ retention_days: number | null;
76
+ subject_kinds: string[];
77
+ updated_at: string | null;
78
+ attachments: {
79
+ template: string;
80
+ path: string[];
81
+ parameters: Record<string, unknown>;
82
+ declarations: Record<string, unknown>;
83
+ }[];
84
+ schema?: Record<string, unknown> | {
85
+ content?: string | undefined;
86
+ id?: string | undefined;
87
+ kwargs?: Record<string, unknown> | undefined;
88
+ } | undefined;
89
+ }>;
90
+ putState: (name: string, body: StateDeclarationBody) => Promise<{
91
+ default_subject_kind: string;
92
+ description: string;
93
+ effective_schema: Record<string, unknown> | null;
94
+ name: string;
95
+ regimes: Record<string, unknown>[] | null;
96
+ retention_days: number | null;
97
+ subject_kinds: string[];
98
+ updated_at: string | null;
99
+ attachments: {
100
+ template: string;
101
+ path: string[];
102
+ parameters: Record<string, unknown>;
103
+ declarations: Record<string, unknown>;
104
+ }[];
105
+ schema?: Record<string, unknown> | {
106
+ content?: string | undefined;
107
+ id?: string | undefined;
108
+ kwargs?: Record<string, unknown> | undefined;
109
+ } | undefined;
110
+ }>;
111
+ deleteState: (name: string) => Promise<{
112
+ name: string;
113
+ deleted: true;
114
+ }>;
115
+ getStateStats: (name: string, signal?: AbortSignal) => Promise<{
116
+ records: number;
117
+ per_field: Record<string, number>;
118
+ per_kind: Record<string, number>;
119
+ consumers: number;
120
+ }>;
121
+ listStateAttachments: (name: string, signal?: AbortSignal) => Promise<{
122
+ template: string;
123
+ path: string[];
124
+ parameters: Record<string, unknown>;
125
+ declarations: Record<string, unknown>;
126
+ }[]>;
127
+ getStateAttachment: (name: string, template: string, signal?: AbortSignal) => Promise<{
128
+ template: string;
129
+ path: string[];
130
+ parameters: Record<string, unknown>;
131
+ declarations: Record<string, unknown>;
132
+ }>;
133
+ attachStateTemplate: (name: string, template: string, body: StateAttachmentBody) => Promise<{
134
+ attached: true;
135
+ state: string;
136
+ template: string;
137
+ }>;
138
+ patchStateAttachment: (name: string, template: string, body: StateAttachmentBody) => Promise<{
139
+ updated: true;
140
+ state: string;
141
+ template: string;
142
+ }>;
143
+ detachStateTemplate: (name: string, template: string) => Promise<{
144
+ detached: true;
145
+ state: string;
146
+ template: string;
147
+ }>;
148
+ listStateSubjects: (name: string, params: {
149
+ kind?: string;
150
+ } & StatePageQuery, signal?: AbortSignal) => Promise<{
151
+ subjects: {
152
+ subject: {
153
+ target_kind: "tool" | "agent";
154
+ target_name: string;
155
+ kind: string;
156
+ key: string;
157
+ };
158
+ updated_at: number;
159
+ }[];
160
+ next_cursor: string | null;
161
+ }>;
162
+ searchStateRecords: (name: string, body: {
163
+ filters: Record<string, unknown>;
164
+ } & StatePageQuery, signal?: AbortSignal) => Promise<{
165
+ matches: {
166
+ subject: {
167
+ target_kind: "tool" | "agent";
168
+ target_name: string;
169
+ kind: string;
170
+ key: string;
171
+ };
172
+ updated_at: number;
173
+ }[];
174
+ next_cursor: string | null;
175
+ }>;
176
+ getStateRecord: (name: string, subject: StateSubjectRef, signal?: AbortSignal) => Promise<{
177
+ state: string;
178
+ subject: {
179
+ target_kind: "tool" | "agent";
180
+ target_name: string;
181
+ kind: string;
182
+ key: string;
183
+ };
184
+ data: Record<string, unknown>;
185
+ seq: number;
186
+ canonical_subject: {
187
+ target_kind: "tool" | "agent";
188
+ target_name: string;
189
+ kind: string;
190
+ key: string;
191
+ };
192
+ folded_from: {
193
+ target_kind: "tool" | "agent";
194
+ target_name: string;
195
+ kind: string;
196
+ key: string;
197
+ }[];
198
+ } | null>;
199
+ putStateRecord: (name: string, subject: StateSubjectRef, data: Record<string, unknown>) => Promise<{
200
+ state: string;
201
+ subject: {
202
+ target_kind: "tool" | "agent";
203
+ target_name: string;
204
+ kind: string;
205
+ key: string;
206
+ };
207
+ data: Record<string, unknown>;
208
+ seq: number;
209
+ canonical_subject: {
210
+ target_kind: "tool" | "agent";
211
+ target_name: string;
212
+ kind: string;
213
+ key: string;
214
+ };
215
+ folded_from: {
216
+ target_kind: "tool" | "agent";
217
+ target_name: string;
218
+ kind: string;
219
+ key: string;
220
+ }[];
221
+ }>;
222
+ patchStateRecord: (name: string, subject: StateSubjectRef, data: Record<string, unknown>) => Promise<{
223
+ state: string;
224
+ subject: {
225
+ target_kind: "tool" | "agent";
226
+ target_name: string;
227
+ kind: string;
228
+ key: string;
229
+ };
230
+ data: Record<string, unknown>;
231
+ seq: number;
232
+ canonical_subject: {
233
+ target_kind: "tool" | "agent";
234
+ target_name: string;
235
+ kind: string;
236
+ key: string;
237
+ };
238
+ folded_from: {
239
+ target_kind: "tool" | "agent";
240
+ target_name: string;
241
+ kind: string;
242
+ key: string;
243
+ }[];
244
+ }>;
245
+ applyStateRecord: (name: string, subject: StateSubjectRef, ops: readonly Record<string, unknown>[]) => Promise<{
246
+ applied: boolean;
247
+ data: Record<string, unknown> | null;
248
+ seq: number | null;
249
+ skipped: Record<string, unknown>[];
250
+ }>;
251
+ evalTemplateJq: (name: string, subject: StateSubjectRef, jqName: string, params?: Record<string, unknown>, signal?: AbortSignal) => Promise<{
252
+ name: string;
253
+ purpose: "input";
254
+ value: unknown;
255
+ }>;
256
+ applyTemplateJq: (name: string, subject: StateSubjectRef, jqName: string, body?: {
257
+ input?: unknown;
258
+ op_id?: string;
259
+ }) => Promise<{
260
+ name: string;
261
+ applied: boolean;
262
+ data: Record<string, unknown> | null;
263
+ seq: number | null;
264
+ skipped: Record<string, unknown>[];
265
+ }>;
266
+ deleteStateRecord: (name: string, subject: StateSubjectRef) => Promise<{
267
+ erased: true;
268
+ }>;
269
+ foldStateRecord: (name: string, subject: StateSubjectRef, into: StateSubjectRef, mode: "switch" | "merge") => Promise<{
270
+ mode: "switch" | "merge";
271
+ from: {
272
+ kind: string;
273
+ key: string;
274
+ };
275
+ into: {
276
+ kind: string;
277
+ key: string;
278
+ };
279
+ already: boolean;
280
+ flattened: number;
281
+ }>;
282
+ listStateWrites: (name: string, subject: StateSubjectRef, params?: StatePageQuery, signal?: AbortSignal) => Promise<{
283
+ items: {
284
+ seq: number;
285
+ at: string;
286
+ origin: {
287
+ consumer: string | null;
288
+ meta: Record<string, unknown> | null;
289
+ run_id: string | null;
290
+ op_id: string | null;
291
+ door: string;
292
+ actor: string | null;
293
+ turn_id: string | null;
294
+ inbound_id: string | null;
295
+ };
296
+ paths: (string | number)[][];
297
+ }[];
298
+ next_cursor: string | null;
299
+ }>;
300
+ stateConsumers: (name: string, signal?: AbortSignal) => Promise<{
301
+ kind: string;
302
+ name: string | null;
303
+ detail: string | null;
304
+ link: {
305
+ token: string | null;
306
+ plugin_path: string | null;
307
+ search: Record<string, unknown> | null;
308
+ } | null;
309
+ unavailable: string | null;
310
+ }[]>;
311
+ listStateTemplates: (signal?: AbortSignal) => Promise<{
312
+ declarations: {
313
+ check: {
314
+ content?: string | undefined;
315
+ id?: string | undefined;
316
+ kwargs?: Record<string, unknown> | undefined;
317
+ } | null;
318
+ schema: Record<string, unknown>;
319
+ } | null;
320
+ description: string;
321
+ kind: "state-template";
322
+ name: string;
323
+ parameters: Record<string, unknown>;
324
+ reconcile: {
325
+ close: {
326
+ content?: string | undefined;
327
+ id?: string | undefined;
328
+ kwargs?: Record<string, unknown> | undefined;
329
+ };
330
+ orphans: {
331
+ content?: string | undefined;
332
+ id?: string | undefined;
333
+ kwargs?: Record<string, unknown> | undefined;
334
+ };
335
+ resolutions: {
336
+ content?: string | undefined;
337
+ id?: string | undefined;
338
+ kwargs?: Record<string, unknown> | undefined;
339
+ };
340
+ } | null;
341
+ regimes: Record<string, unknown>[];
342
+ template_jq: Record<string, {
343
+ description: string;
344
+ jq: {
345
+ content?: string | undefined;
346
+ id?: string | undefined;
347
+ kwargs?: Record<string, unknown> | undefined;
348
+ };
349
+ params: string[];
350
+ purpose: "input" | "update";
351
+ reads: string[][];
352
+ writes: string[][];
353
+ }> | null;
354
+ trace: Record<string, unknown>;
355
+ attached_to: number;
356
+ shipped_default: boolean;
357
+ schema?: Record<string, unknown> | {
358
+ content?: string | undefined;
359
+ id?: string | undefined;
360
+ kwargs?: Record<string, unknown> | undefined;
361
+ } | undefined;
362
+ }[]>;
363
+ getStateTemplate: (name: string, signal?: AbortSignal) => Promise<{
364
+ declarations: {
365
+ check: {
366
+ content?: string | undefined;
367
+ id?: string | undefined;
368
+ kwargs?: Record<string, unknown> | undefined;
369
+ } | null;
370
+ schema: Record<string, unknown>;
371
+ } | null;
372
+ description: string;
373
+ kind: "state-template";
374
+ name: string;
375
+ parameters: Record<string, unknown>;
376
+ reconcile: {
377
+ close: {
378
+ content?: string | undefined;
379
+ id?: string | undefined;
380
+ kwargs?: Record<string, unknown> | undefined;
381
+ };
382
+ orphans: {
383
+ content?: string | undefined;
384
+ id?: string | undefined;
385
+ kwargs?: Record<string, unknown> | undefined;
386
+ };
387
+ resolutions: {
388
+ content?: string | undefined;
389
+ id?: string | undefined;
390
+ kwargs?: Record<string, unknown> | undefined;
391
+ };
392
+ } | null;
393
+ regimes: Record<string, unknown>[];
394
+ template_jq: Record<string, {
395
+ description: string;
396
+ jq: {
397
+ content?: string | undefined;
398
+ id?: string | undefined;
399
+ kwargs?: Record<string, unknown> | undefined;
400
+ };
401
+ params: string[];
402
+ purpose: "input" | "update";
403
+ reads: string[][];
404
+ writes: string[][];
405
+ }> | null;
406
+ trace: Record<string, unknown>;
407
+ schema?: Record<string, unknown> | {
408
+ content?: string | undefined;
409
+ id?: string | undefined;
410
+ kwargs?: Record<string, unknown> | undefined;
411
+ } | undefined;
412
+ }>;
413
+ putStateTemplate: (name: string, body: StateTemplateBody, replace?: boolean) => Promise<{
414
+ declarations: {
415
+ check: {
416
+ content?: string | undefined;
417
+ id?: string | undefined;
418
+ kwargs?: Record<string, unknown> | undefined;
419
+ } | null;
420
+ schema: Record<string, unknown>;
421
+ } | null;
422
+ description: string;
423
+ kind: "state-template";
424
+ name: string;
425
+ parameters: Record<string, unknown>;
426
+ reconcile: {
427
+ close: {
428
+ content?: string | undefined;
429
+ id?: string | undefined;
430
+ kwargs?: Record<string, unknown> | undefined;
431
+ };
432
+ orphans: {
433
+ content?: string | undefined;
434
+ id?: string | undefined;
435
+ kwargs?: Record<string, unknown> | undefined;
436
+ };
437
+ resolutions: {
438
+ content?: string | undefined;
439
+ id?: string | undefined;
440
+ kwargs?: Record<string, unknown> | undefined;
441
+ };
442
+ } | null;
443
+ regimes: Record<string, unknown>[];
444
+ template_jq: Record<string, {
445
+ description: string;
446
+ jq: {
447
+ content?: string | undefined;
448
+ id?: string | undefined;
449
+ kwargs?: Record<string, unknown> | undefined;
450
+ };
451
+ params: string[];
452
+ purpose: "input" | "update";
453
+ reads: string[][];
454
+ writes: string[][];
455
+ }> | null;
456
+ trace: Record<string, unknown>;
457
+ schema?: Record<string, unknown> | {
458
+ content?: string | undefined;
459
+ id?: string | undefined;
460
+ kwargs?: Record<string, unknown> | undefined;
461
+ } | undefined;
462
+ }>;
463
+ deleteStateTemplate: (name: string) => Promise<{
464
+ name: string;
465
+ deleted: true;
466
+ }>;
467
+ pruneStateRetention: () => Promise<{
468
+ pruned: Record<string, number>;
469
+ }>;
470
+ };
471
+ //# sourceMappingURL=states-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"states-client.d.ts","sourceRoot":"","sources":["../../src/client/states-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,144 @@
1
+ /** State declaration, record, template and consumer sub-client. */
2
+ import * as s from '../schemas';
3
+ import { encodeSegment } from '../http';
4
+ /**
5
+ * The subject-addressed record path: `/api/states/{name}/records/{target_kind}/
6
+ * {target_name}/{kind}/{key}` — four path segments, each percent-encoded, so a key
7
+ * carrying a slash or a colon never escapes its segment.
8
+ */
9
+ function stateRecordPath(name, subject) {
10
+ return (`/api/states/${encodeSegment(name)}/records/` +
11
+ `${encodeSegment(subject.target_kind)}/${encodeSegment(subject.target_name)}/` +
12
+ `${encodeSegment(subject.kind)}/${encodeSegment(subject.key)}`);
13
+ }
14
+ /**
15
+ * Encode a template jq's declared params as JSON query values: the record `template-jq`
16
+ * route reads each `?<param>=<json>` as a JSON-decoded argument, so a string, number,
17
+ * array or object round-trips faithfully. An `undefined` value is dropped (an
18
+ * omitted optional param).
19
+ */
20
+ function encodeJqParams(params) {
21
+ if (params === undefined)
22
+ return undefined;
23
+ const query = {};
24
+ for (const [key, value] of Object.entries(params)) {
25
+ if (value === undefined)
26
+ continue;
27
+ query[key] = JSON.stringify(value);
28
+ }
29
+ return query;
30
+ }
31
+ /** State declaration CRUD: list, read, upsert, delete and stats of a state document. */
32
+ function stateDeclarationMethods(t) {
33
+ const { req } = t;
34
+ return {
35
+ // A state is a declared JSON document, one per subject. The list is the
36
+ // management population; a single state read composes the declaration with its
37
+ // effective schema, regimes and attachments. Every record route addresses its subject
38
+ // as four percent-encoded path segments (see `stateRecordPath`).
39
+ listStates: (signal) => req('/api/states', s.stateList, { signal }),
40
+ getState: (name, signal) => req(`/api/states/${encodeSegment(name)}`, s.stateDetail, { signal }),
41
+ // A plain declaration upsert — no `replace` flag. With records present the server
42
+ // accepts additive schema changes and refuses with a 409 any change that removes or
43
+ // alters an existing field, or a subject-kind removal that would strand records.
44
+ putState: (name, body) => req(`/api/states/${encodeSegment(name)}`, s.stateDetail, {
45
+ method: 'PUT',
46
+ body,
47
+ }),
48
+ deleteState: (name) => req(`/api/states/${encodeSegment(name)}`, s.stateDeleted, { method: 'DELETE' }),
49
+ getStateStats: (name, signal) => req(`/api/states/${encodeSegment(name)}/stats`, s.stateStats, { signal }),
50
+ };
51
+ }
52
+ /** Template attachments on a state: list, read, attach, re-attach and detach. */
53
+ function stateAttachmentMethods(t) {
54
+ const { req } = t;
55
+ return {
56
+ listStateAttachments: (name, signal) => req(`/api/states/${encodeSegment(name)}/attachments`, s.stateAttachmentList, { signal }),
57
+ getStateAttachment: (name, template, signal) => req(`/api/states/${encodeSegment(name)}/attachments/${encodeSegment(template)}`, s.stateAttachment, { signal }),
58
+ attachStateTemplate: (name, template, body) => req(`/api/states/${encodeSegment(name)}/attachments/${encodeSegment(template)}`, s.stateAttached, { method: 'PUT', body }),
59
+ patchStateAttachment: (name, template, body) => req(`/api/states/${encodeSegment(name)}/attachments/${encodeSegment(template)}`, s.stateAttachmentUpdated, { method: 'PATCH', body }),
60
+ detachStateTemplate: (name, template) => req(`/api/states/${encodeSegment(name)}/attachments/${encodeSegment(template)}`, s.stateDetached, { method: 'DELETE' }),
61
+ };
62
+ }
63
+ /** Record reads and writes: subject listing, content search, and per-subject CRUD. */
64
+ function stateRecordMethods(t) {
65
+ const { req } = t;
66
+ return {
67
+ listStateSubjects: (name, params, signal) => req(`/api/states/${encodeSegment(name)}/subjects`, s.subjectPage, {
68
+ signal,
69
+ query: { kind: params.kind, limit: params.limit, cursor: params.cursor },
70
+ }),
71
+ // The content search body is a single JSONB containment document (`filters`); the
72
+ // server refuses an empty one, so the UI validates a non-empty object first.
73
+ searchStateRecords: (name, body, signal) => req(`/api/states/${encodeSegment(name)}/records/search`, s.recordSearchPage, {
74
+ method: 'POST',
75
+ body,
76
+ signal,
77
+ }),
78
+ // A subject with no document yet reads as `null` (a 200 `{data: null}`, the record
79
+ // page's Create path) — never an error, so the schema is nullable.
80
+ getStateRecord: (name, subject, signal) => req(stateRecordPath(name, subject), s.stateRecord.nullable(), { signal }),
81
+ putStateRecord: (name, subject, data) => req(stateRecordPath(name, subject), s.stateRecord, { method: 'PUT', body: data }),
82
+ patchStateRecord: (name, subject, data) => req(stateRecordPath(name, subject), s.stateRecord, { method: 'PATCH', body: data }),
83
+ applyStateRecord: (name, subject, ops) => req(`${stateRecordPath(name, subject)}/deltas`, s.applyResult, {
84
+ method: 'POST',
85
+ body: { ops },
86
+ }),
87
+ };
88
+ }
89
+ /** Record operations on a subject: template-jq eval/apply, delete, fold, write log, consumers. */
90
+ function stateRecordOpMethods(t) {
91
+ const { req } = t;
92
+ return {
93
+ // Evaluate a template jq over the subject: each declared param is JSON-encoded into
94
+ // the query string (`?<param>=<json>`); the response is `{name, purpose, value}`. An
95
+ // `attachment.name` jq is percent-encoded as one path segment.
96
+ evalTemplateJq: (name, subject, jqName, params, signal) => req(`${stateRecordPath(name, subject)}/template-jq/${encodeSegment(jqName)}`, s.templateJqResult, { signal, query: encodeJqParams(params) }),
97
+ // Apply an `update`-purpose template jq to the subject: `input` is the jq's argument,
98
+ // `op_id` its idempotency key (a replay is a no-op). The jq lands its op batch through
99
+ // the apply chokepoint. An `attachment.name` jq is percent-encoded as one path segment.
100
+ applyTemplateJq: (name, subject, jqName, body) => req(`${stateRecordPath(name, subject)}/template-jq/${encodeSegment(jqName)}`, s.templateJqApplyResult, { method: 'POST', body: body ?? {} }),
101
+ deleteStateRecord: (name, subject) => req(stateRecordPath(name, subject), s.recordErased, { method: 'DELETE' }),
102
+ // `mode` is required server-side (`switch` drops, `merge` combines); the fold returns
103
+ // a report, not the surviving record.
104
+ foldStateRecord: (name, subject, into, mode) => req(`${stateRecordPath(name, subject)}/fold`, s.stateFoldReport, {
105
+ method: 'POST',
106
+ body: { into, mode },
107
+ }),
108
+ listStateWrites: (name, subject, params, signal) => req(`${stateRecordPath(name, subject)}/writes`, s.writesPage, {
109
+ signal,
110
+ query: { limit: params?.limit, cursor: params?.cursor },
111
+ }),
112
+ stateConsumers: (name, signal) => req(`/api/states/${encodeSegment(name)}/consumers`, s.stateConsumers, { signal }),
113
+ };
114
+ }
115
+ /** State-template documents and retention: list, read, upsert, delete, prune. */
116
+ function stateTemplateMethods(t) {
117
+ const { req } = t;
118
+ return {
119
+ listStateTemplates: (signal) => req('/api/state-templates', s.stateTemplateList, { signal }),
120
+ getStateTemplate: (name, signal) => req(`/api/state-templates/${encodeSegment(name)}`, s.stateTemplateDocument, { signal }),
121
+ putStateTemplate: (name, body, replace) => req(`/api/state-templates/${encodeSegment(name)}`, s.stateTemplateDocument, {
122
+ method: 'PUT',
123
+ body,
124
+ query: replace === true ? { replace: 'true' } : undefined,
125
+ }),
126
+ deleteStateTemplate: (name) => req(`/api/state-templates/${encodeSegment(name)}`, s.stateTemplateDeleted, {
127
+ method: 'DELETE',
128
+ }),
129
+ pruneStateRetention: () => req('/api/state-retention/prune', s.stateRetentionPruned, { method: 'POST', body: {} }),
130
+ };
131
+ }
132
+ export function statesClient(t) {
133
+ // Declaration emit prepends each spread group's members, so the groups are
134
+ // spread in reverse of their public order to keep the surface declaration →
135
+ // attachments → records → record-ops → templates.
136
+ return {
137
+ ...stateTemplateMethods(t),
138
+ ...stateRecordOpMethods(t),
139
+ ...stateRecordMethods(t),
140
+ ...stateAttachmentMethods(t),
141
+ ...stateDeclarationMethods(t),
142
+ };
143
+ }
144
+ //# sourceMappingURL=states-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"states-client.js","sourceRoot":"","sources":["../../src/client/states-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { Transport } from './transport';
2
+ /**
3
+ * Body for a storage upload (POST `/api/storage/resources`). Exactly ONE of
4
+ * `content_text` (stored verbatim) or `content_base64` (a base64 string decoded to
5
+ * bytes) supplies the content for `id`; uploading an existing id overwrites it
6
+ * (provider passthrough semantics).
7
+ */
8
+ export interface StorageUploadBody {
9
+ readonly id: string;
10
+ readonly content_text?: string;
11
+ readonly content_base64?: string;
12
+ }
13
+ export declare function storageClient(t: Transport): {
14
+ getStorageInfo: (signal?: AbortSignal) => Promise<{
15
+ present: boolean;
16
+ provider: string | null;
17
+ module: string | null;
18
+ }>;
19
+ listStorageResources: (signal?: AbortSignal) => Promise<{
20
+ resources: string[];
21
+ }>;
22
+ statStorageResource: (id: string, signal?: AbortSignal) => Promise<{
23
+ id: string;
24
+ content_type: string | null;
25
+ }>;
26
+ downloadStorageResource: (id: string, signal?: AbortSignal) => Promise<Blob>;
27
+ uploadStorageResource: (body: StorageUploadBody) => Promise<{
28
+ id: string;
29
+ stored: true;
30
+ }>;
31
+ deleteStorageResource: (id: string) => Promise<{
32
+ id: string;
33
+ deleted: true;
34
+ }>;
35
+ deleteStorageDir: (path: string) => Promise<{
36
+ dir: string;
37
+ deleted: true;
38
+ }>;
39
+ };
40
+ //# sourceMappingURL=storage-client.d.ts.map