@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,113 @@
1
+ /** Preset record, version and validation response schemas. */
2
+ import { z } from 'zod';
3
+ import { presetExtensionElement } from './extensions';
4
+ import { presetBody } from './served';
5
+
6
+ /** A list of extension COMBOS — each combo an ordered list of elements. */
7
+ export const presetExtensions = z.array(z.array(presetExtensionElement));
8
+
9
+ /**
10
+ * One preset as `GET /api/presets` returns it. Every preset is versioned, so
11
+ * `active_version` is always an int; `conflicted` marks a QUARANTINED row (its
12
+ * name collided with a foreign tool at boot — delete-only). `extensions` are the
13
+ * ACTIVE version's extension combos, `output_schema` the optional author-set
14
+ * output JSON Schema, and `input_schema` the optional author-set input JSON
15
+ * Schema. Categorization tags live in the tool_meta overlay
16
+ * (`GET /api/tool-meta`), never on the record. A drift throws `ApiSchemaError`;
17
+ * nothing is coerced.
18
+ */
19
+ export const presetRecord = z.object({
20
+ name: z.string(),
21
+ base_tool: z.string(),
22
+ description: z.string(),
23
+ active_version: z.number(),
24
+ extensions: presetExtensions,
25
+ output_schema: z.record(z.string(), z.unknown()).nullable(),
26
+ input_schema: z.record(z.string(), z.unknown()).nullable(),
27
+ conflicted: z.boolean(),
28
+ // The human-readable cause a row is quarantined (its name collided with a
29
+ // foreign tool at boot), or `null` when the row is not conflicted. Rendered
30
+ // verbatim; nothing is coerced.
31
+ conflicted_reason: z.string().nullable(),
32
+ // Sorted preset-name cross-references: `uses` names the presets this one
33
+ // composes as tools; `used_by` names the presets that compose this one.
34
+ uses: z.array(z.string()),
35
+ used_by: z.array(z.string()),
36
+ });
37
+ export type PresetRecord = z.infer<typeof presetRecord>;
38
+
39
+ export const presetList = z.array(presetRecord);
40
+
41
+ /** `GET /api/presets/{name}` — the record plus the active version's baked kwargs. */
42
+ export const presetDetail = presetRecord.extend({
43
+ fixed_kwargs: z.record(z.string(), z.unknown()),
44
+ });
45
+ export type PresetDetail = z.infer<typeof presetDetail>;
46
+
47
+ /**
48
+ * One immutable version row (`GET /api/presets/{name}/versions[/{version}]`).
49
+ * `is_current` flags the active version; `tags` here is the GENERIC per-version
50
+ * label list (kind-agnostic) — the only preset tags that remain, distinct from the
51
+ * removed record-level categorization and from the tool_meta overlay.
52
+ */
53
+ export const presetVersion = z.object({
54
+ version: z.number(),
55
+ body: presetBody,
56
+ tags: z.array(z.string()),
57
+ created_at: z.string(),
58
+ is_current: z.boolean(),
59
+ });
60
+ export type PresetVersion = z.infer<typeof presetVersion>;
61
+
62
+ export const presetVersionList = z.array(presetVersion);
63
+
64
+ /** `POST /api/presets/{name}/rollback` — the re-pointed active version. */
65
+ export const presetRollback = z.object({ name: z.string(), active_version: z.number() });
66
+
67
+ /** `DELETE /api/presets/{name}` — the removed preset. */
68
+ export const presetDeleted = z.object({ name: z.string(), deleted: z.literal(true) });
69
+
70
+ /** `POST /api/presets/{name}/rename` — the re-keyed record identity. */
71
+ export const presetRenamed = z.object({
72
+ name: z.string(),
73
+ renamed_from: z.string(),
74
+ active_version: z.number(),
75
+ });
76
+ export type PresetRenamed = z.infer<typeof presetRenamed>;
77
+
78
+ /**
79
+ * `GET /api/presets/{name}/referees` — every OTHER preset whose active authored
80
+ * composition names this one as a tool (the referees a rename would strand). An
81
+ * empty list is the clean case; a non-empty list means a rename is blocked until
82
+ * those presets are updated. A drift throws `ApiSchemaError`.
83
+ */
84
+ export const presetReferees = z.object({
85
+ name: z.string(),
86
+ referees: z.array(z.string()),
87
+ });
88
+ export type PresetReferees = z.infer<typeof presetReferees>;
89
+
90
+ /**
91
+ * `POST /api/presets/validate` — the dry-run verdict for a preset draft. `valid`
92
+ * is the absence of an `error`; an invalid draft is a SUCCESSFUL validation (HTTP
93
+ * 200), so `error` carries the server's verbatim message. A drift throws
94
+ * `ApiSchemaError`.
95
+ */
96
+ export const presetValidation = z.object({
97
+ valid: z.boolean(),
98
+ error: z.string().nullable(),
99
+ });
100
+ export type PresetValidation = z.infer<typeof presetValidation>;
101
+
102
+ /**
103
+ * `PUT /api/presets/{name}/versions/{version}/tags` — the re-annotated version.
104
+ * Version tags are labels on an immutable body, so this rebinds nothing; the
105
+ * response echoes the identity plus the new tag list. A drift throws
106
+ * `ApiSchemaError`.
107
+ */
108
+ export const presetVersionTags = z.object({
109
+ name: z.string(),
110
+ version: z.number(),
111
+ tags: z.array(z.string()),
112
+ });
113
+ export type PresetVersionTags = z.infer<typeof presetVersionTags>;
@@ -0,0 +1,119 @@
1
+ /** Settings-profile record, version, diff and apply response schemas. */
2
+ import { z } from 'zod';
3
+ import { fleetReportFanout } from './fleet';
4
+
5
+ // The admin-only `/api/config/profiles/*` surface. Secrets ride the wire in the
6
+ // clear (secret/fenced routes); masking is CLIENT-SIDE per the secret-mask union. A drift
7
+ // on any of these throws `ApiSchemaError`.
8
+
9
+ /**
10
+ * `GET /api/config/profiles` — one row per stored profile. The list is
11
+ * names+descriptions ONLY (action=read); no `env`, no `secret_keys`, no bodies.
12
+ * (No `last_modified`: the list carries identity, not history — version metadata
13
+ * is the `/versions` surface — so the list renders no last-modified column.)
14
+ */
15
+ export const settingsProfileSummary = z.object({
16
+ name: z.string(),
17
+ description: z.string(),
18
+ });
19
+ export type SettingsProfileSummary = z.infer<typeof settingsProfileSummary>;
20
+ export const settingsProfileList = z.array(settingsProfileSummary);
21
+
22
+ /**
23
+ * `GET /api/config/profiles/{name}` and each version body — the stored profile
24
+ * document (action=secret). `env` carries REAL values; `secret_keys` is the
25
+ * per-profile secret-marks band folded into the secret-mask union for masking.
26
+ */
27
+ export const settingsProfileBody = z.object({
28
+ description: z.string(),
29
+ env: z.record(z.string(), z.string()),
30
+ secret_keys: z.array(z.string()),
31
+ });
32
+ export type SettingsProfileBody = z.infer<typeof settingsProfileBody>;
33
+
34
+ /** `PUT /api/config/profiles/{name}` — a minimal save ack; `version` is the new store version. */
35
+ export const settingsProfileSaved = z.object({
36
+ ok: z.literal(true),
37
+ version: z.number().optional(),
38
+ });
39
+ export type SettingsProfileSaved = z.infer<typeof settingsProfileSaved>;
40
+
41
+ /** `DELETE /api/config/profiles/{name}` — a minimal removal ack. */
42
+ export const settingsProfileDeleted = z.object({ ok: z.literal(true) });
43
+
44
+ /** `POST /api/config/profiles/{name}/rollback` — the restore ack; `version` is the resulting active version. */
45
+ export const settingsProfileRollback = z.object({
46
+ ok: z.literal(true),
47
+ version: z.number(),
48
+ });
49
+ export type SettingsProfileRollback = z.infer<typeof settingsProfileRollback>;
50
+
51
+ /**
52
+ * `POST /api/config/profiles/{name}/diff` — the SAVED profile vs the stored env
53
+ * (action=secret). `changed` carries real `old`/`new` values (UI masks via
54
+ * JsonDiff); `recycle_keys`/`refused_keys` are the diff's recycle-class and
55
+ * boundary-refused key names, called out in the UI before apply.
56
+ */
57
+ export const settingsProfileDiff = z.object({
58
+ added: z.array(z.string()),
59
+ removed: z.array(z.string()),
60
+ changed: z.array(z.object({ key: z.string(), old: z.string(), new: z.string() })),
61
+ recycle_keys: z.array(z.string()),
62
+ refused_keys: z.array(z.string()),
63
+ });
64
+ export type SettingsProfileDiff = z.infer<typeof settingsProfileDiff>;
65
+
66
+ /**
67
+ * `POST /api/config/profiles/{name}/apply` — the dedicated `profile_apply_response`
68
+ * (action=fenced, destructive). NAMES-ONLY (no env value in any
69
+ * section): `hot` is the hot-swapped key names; `recycle` is the orchestrator's
70
+ * per-worker section — one `{name, kind, status, generation_before}` row per recycled
71
+ * target, `generation_before` the life that was recycled, the applier's OWN row carrying
72
+ * the `self-deferred` status literal when the diff has serve-affecting recycle keys;
73
+ * `fresh` is the per-kind list of NEW ready lives observed since the pre-apply snapshot
74
+ * (each `{name, kind, generation}`), evidence of fresh capacity and never claimed as any
75
+ * target's successor; `refused` is `[]` on success by construction (populated
76
+ * `{key, reason}` only on a refusal), the populated refusal surfaces being the diff
77
+ * preview and the refusal error report. `fanout` is the mode-wrapped fleet broadcast,
78
+ * parsed EXPLICITLY so a failed propagation reaches the shared fleet-report handler. A
79
+ * drift throws `ApiSchemaError`.
80
+ */
81
+ export const profileApplyResponse = z.object({
82
+ hot: z.array(z.string()),
83
+ recycle: z.array(
84
+ z.object({
85
+ name: z.string(),
86
+ kind: z.string(),
87
+ status: z.string(),
88
+ generation_before: z.number(),
89
+ }),
90
+ ),
91
+ fresh: z.array(z.object({ name: z.string(), kind: z.string(), generation: z.number() })),
92
+ refused: z.array(z.object({ key: z.string(), reason: z.string() })),
93
+ fanout: fleetReportFanout,
94
+ });
95
+ export type ProfileApplyResponse = z.infer<typeof profileApplyResponse>;
96
+
97
+ /**
98
+ * `GET /api/config/profiles/{name}/versions` — version METADATA only (action=read;
99
+ * no bodies), the generic versioned-store row minus `body`. `is_current` flags the
100
+ * active pointer.
101
+ */
102
+ export const settingsProfileVersionMeta = z.object({
103
+ version: z.number(),
104
+ tags: z.array(z.string()),
105
+ created_at: z.string(),
106
+ is_current: z.boolean(),
107
+ });
108
+ export type SettingsProfileVersionMeta = z.infer<typeof settingsProfileVersionMeta>;
109
+ export const settingsProfileVersionList = z.array(settingsProfileVersionMeta);
110
+
111
+ /**
112
+ * `GET /api/config/profiles/{name}/versions/{version}` — one immutable version WITH
113
+ * its `body` (action=secret; body rendered masked per the secret-mask union). The generic
114
+ * versioned-store row shape.
115
+ */
116
+ export const settingsProfileVersion = settingsProfileVersionMeta.extend({
117
+ body: settingsProfileBody,
118
+ });
119
+ export type SettingsProfileVersion = z.infer<typeof settingsProfileVersion>;
@@ -0,0 +1,57 @@
1
+ /** Role grant, version and audit response schemas. */
2
+ import { z } from 'zod';
3
+ import { roleBody } from './served';
4
+ import { jsonValue } from './shared';
5
+
6
+ /** A role's per-tag ACCESS LEVEL: `none` (no access), `read`, or `write`. */
7
+ export const grantLevel = z.enum(['none', 'read', 'write']);
8
+ export type GrantLevel = z.infer<typeof grantLevel>;
9
+
10
+ /** A role's editable grant map: feature-group TAG name → the role's access level. */
11
+ export const roleGrants = z.record(z.string(), grantLevel);
12
+ export type RoleGrants = z.infer<typeof roleGrants>;
13
+
14
+ export const roleList = z.array(roleBody);
15
+
16
+ /** `DELETE /api/auth/roles/{name}` — the deleted role's name. */
17
+ export const roleDeleted = z.object({ name: z.string(), deleted: z.boolean() });
18
+
19
+ /**
20
+ * One immutable role-version row (`GET /api/auth/roles/{name}/versions` →
21
+ * `versions`). `body` is the role body at that version; `is_current` flags the
22
+ * active pointer. Mirrors the generic versioned-store row shape.
23
+ */
24
+ export const roleVersion = z.object({
25
+ version: z.number(),
26
+ body: roleBody,
27
+ tags: z.array(z.string()),
28
+ created_at: z.string(),
29
+ is_current: z.boolean(),
30
+ });
31
+ export type RoleVersion = z.infer<typeof roleVersion>;
32
+
33
+ /**
34
+ * One who/action/before→after audit row (`GET /api/auth/roles/{name}/versions` →
35
+ * `audit`). Its `body` carries the mutation kind, the actor, and the before/after
36
+ * role bodies (both `null` for a create's `before` / a delete's `after`).
37
+ */
38
+ export const roleAuditEvent = z.object({
39
+ version: z.number(),
40
+ body: z.object({
41
+ action: z.string(),
42
+ actor: z.string().nullable(),
43
+ before: jsonValue.nullable(),
44
+ after: jsonValue.nullable(),
45
+ }),
46
+ tags: z.array(z.string()),
47
+ created_at: z.string(),
48
+ is_current: z.boolean(),
49
+ });
50
+ export type RoleAuditEvent = z.infer<typeof roleAuditEvent>;
51
+
52
+ /** `GET /api/auth/roles/{name}/versions` — the append-only history + audit trail. */
53
+ export const roleVersions = z.object({
54
+ versions: z.array(roleVersion),
55
+ audit: z.array(roleAuditEvent),
56
+ });
57
+ export type RoleVersions = z.infer<typeof roleVersions>;
@@ -0,0 +1,27 @@
1
+ /** Schedule listing and server-clock response schemas. */
2
+ import { z } from 'zod';
3
+ import { jsonValue } from './shared';
4
+
5
+ // The skeleton returns opaque backend-tool results; the table reads a few known
6
+ // fields and passes the rest through untouched.
7
+
8
+ export const scheduleItem = z
9
+ .object({
10
+ name: z.string(),
11
+ enabled: z.boolean().optional(),
12
+ schedule: jsonValue.optional(),
13
+ target: jsonValue.optional(),
14
+ args: z.array(jsonValue).optional(),
15
+ kwargs: z.record(z.string(), jsonValue).optional(),
16
+ })
17
+ .loose();
18
+ export const scheduleList = z.array(scheduleItem);
19
+ export type ScheduleItem = z.infer<typeof scheduleItem>;
20
+
21
+ export const serverDateTime = z
22
+ .object({
23
+ utc: jsonValue,
24
+ local: jsonValue.optional(),
25
+ system: jsonValue.optional(),
26
+ })
27
+ .loose();
@@ -0,0 +1,49 @@
1
+ /** Generated served-document schema aliases and templated-text re-exports. */
2
+ import { z } from 'zod';
3
+ import * as generated from '../generated/served-schemas';
4
+
5
+ export { templatedText, requiredTemplatedText } from '../templated-text';
6
+ export type { TemplatedText } from '../templated-text';
7
+
8
+ // Served-document schemas are GENERATED from the platform contract JSON-schema
9
+ // bundle (src/generated/served-schemas.ts) and re-exported here under the names the
10
+ // rest of the client uses. The generator maps every `x-tai42-templated-text` field
11
+ // to the shared `templatedText` zod, so a served body can never be a bare string.
12
+ export const stateInjection = generated.stateInjection;
13
+ export type StateInjection = z.infer<typeof stateInjection>;
14
+ export const stateUpdate = generated.stateUpdate;
15
+ export type StateUpdate = z.infer<typeof stateUpdate>;
16
+ export const stateAttach = generated.stateAttach;
17
+ export type StateAttach = z.infer<typeof stateAttach>;
18
+ export const stateBinding = generated.stateBinding;
19
+ export type StateBinding = z.infer<typeof stateBinding>;
20
+ export const presetBody = generated.presetBody;
21
+ export type PresetBody = z.input<typeof presetBody>;
22
+ export const conversationRoute = generated.conversationRoute;
23
+ export type ConversationRoute = z.infer<typeof conversationRoute>;
24
+ export const conversationRouteCreate = generated.conversationRouteCreate;
25
+ export type ConversationRouteCreate = z.input<typeof conversationRouteCreate>;
26
+ export const targetConversationConfig = generated.targetConversationConfig;
27
+ export type TargetConversationConfig = z.input<typeof targetConversationConfig>;
28
+ export const channelTemplate = generated.channelTemplate;
29
+ export type ChannelTemplate = z.infer<typeof channelTemplate>;
30
+ export const hookSubject = generated.hookSubject;
31
+ export type HookSubject = z.infer<typeof hookSubject>;
32
+ export const hookParams = generated.hookParams;
33
+ export type HookParams = z.infer<typeof hookParams>;
34
+ export const hookRegister = generated.hookRegister;
35
+ export type HookRegister = z.input<typeof hookRegister>;
36
+ export const stateDeclaration = generated.stateDeclaration;
37
+ export type StateDeclaration = z.infer<typeof stateDeclaration>;
38
+ export const stateTemplateDocument = generated.stateTemplateDocument;
39
+ export type StateTemplateDocument = z.infer<typeof stateTemplateDocument>;
40
+ export const templateJq = generated.stateTemplateJq;
41
+ export type TemplateJq = z.infer<typeof templateJq>;
42
+ export const templateReconcile = generated.stateTemplateReconcile;
43
+ export type TemplateReconcile = z.infer<typeof templateReconcile>;
44
+ export const templateDeclarations = generated.stateTemplateDeclarations;
45
+ export type TemplateDeclarations = z.infer<typeof templateDeclarations>;
46
+ export const policyBody = generated.accessPolicy;
47
+ export type PolicyBody = z.infer<typeof policyBody>;
48
+ export const roleBody = generated.roleDefinition;
49
+ export type RoleBody = z.infer<typeof roleBody>;
@@ -0,0 +1,31 @@
1
+ /** Declarative settings-form schema response. */
2
+ import { z } from 'zod';
3
+ import { jsonValue } from './shared';
4
+
5
+ // The settings form is auto-rendered from a declarative group/field description
6
+ // the skeleton emits from its typed settings models.
7
+
8
+ export const settingsSchema = z.object({
9
+ groups: z.array(
10
+ z.object({
11
+ name: z.string(),
12
+ module: z.string(),
13
+ qualname: z.string(),
14
+ fields: z.array(
15
+ z.object({
16
+ name: z.string(),
17
+ env_var: z.string(),
18
+ type: z.string(),
19
+ default: jsonValue.nullable(),
20
+ required: z.boolean(),
21
+ secret: z.boolean(),
22
+ description: z.string().nullable(),
23
+ nested_group: z.string().nullable(),
24
+ default_namespace_var: z.string().nullable(),
25
+ value: jsonValue.nullable(),
26
+ }),
27
+ ),
28
+ }),
29
+ ),
30
+ });
31
+ export type SettingsSchema = z.infer<typeof settingsSchema>;
@@ -0,0 +1,21 @@
1
+ /** Shared primitive schemas (json value/schema) and the paged-window fields. */
2
+ import { z } from 'zod';
3
+
4
+ /** An arbitrary JSON value (tool results, rendered payloads). */
5
+ export const jsonValue: z.ZodType = z.unknown();
6
+
7
+ /** A JSON Schema object (Pydantic-emitted). Permissive; parsed by the auto-form. */
8
+ export const jsonSchema = z.record(z.string(), z.unknown());
9
+ /**
10
+ * The page window every paged read door carries; `next_page` is null on the last
11
+ * page. `truncated` is TRUE when the door had more matches than it would scan or
12
+ * return under its cap — the UI must surface that LOUDLY, never a silent cut — and
13
+ * false whenever the window is exhaustive.
14
+ */
15
+ export const pageWindow = {
16
+ total: z.number(),
17
+ page: z.number(),
18
+ page_size: z.number(),
19
+ next_page: z.number().nullable(),
20
+ truncated: z.boolean(),
21
+ };