@cavi-ai/api-client 0.1.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 (665) hide show
  1. package/ARCHITECTURE.md +12 -0
  2. package/CHANGELOG.md +80 -0
  3. package/CONTRIBUTING.md +158 -0
  4. package/LICENSE +21 -0
  5. package/README.md +618 -0
  6. package/SECURITY.md +48 -0
  7. package/dist/contracts/index.d.ts +5 -0
  8. package/dist/contracts/index.d.ts.map +1 -0
  9. package/dist/contracts/index.js +4 -0
  10. package/dist/contracts/paths.d.ts +154 -0
  11. package/dist/contracts/paths.d.ts.map +1 -0
  12. package/dist/contracts/paths.js +89 -0
  13. package/dist/contracts/resolve.d.ts +7 -0
  14. package/dist/contracts/resolve.d.ts.map +1 -0
  15. package/dist/contracts/resolve.js +22 -0
  16. package/dist/contracts/surfaces.d.ts +13 -0
  17. package/dist/contracts/surfaces.d.ts.map +1 -0
  18. package/dist/contracts/surfaces.js +332 -0
  19. package/dist/contracts/team-manifest.d.ts +200 -0
  20. package/dist/contracts/team-manifest.d.ts.map +1 -0
  21. package/dist/contracts/team-manifest.js +951 -0
  22. package/dist/core/data/guards.d.ts +6 -0
  23. package/dist/core/data/guards.d.ts.map +1 -0
  24. package/dist/core/data/guards.js +22 -0
  25. package/dist/core/data/index.d.ts +2 -0
  26. package/dist/core/data/index.d.ts.map +1 -0
  27. package/dist/core/data/index.js +1 -0
  28. package/dist/core/env/config.d.ts +40 -0
  29. package/dist/core/env/config.d.ts.map +1 -0
  30. package/dist/core/env/config.js +44 -0
  31. package/dist/core/env/index.d.ts +3 -0
  32. package/dist/core/env/index.d.ts.map +1 -0
  33. package/dist/core/env/index.js +2 -0
  34. package/dist/core/env/repo-root.d.ts +11 -0
  35. package/dist/core/env/repo-root.d.ts.map +1 -0
  36. package/dist/core/env/repo-root.js +36 -0
  37. package/dist/core/gateway/agent/commands.d.ts +93 -0
  38. package/dist/core/gateway/agent/commands.d.ts.map +1 -0
  39. package/dist/core/gateway/agent/commands.js +351 -0
  40. package/dist/core/gateway/agent/config.d.ts +158 -0
  41. package/dist/core/gateway/agent/config.d.ts.map +1 -0
  42. package/dist/core/gateway/agent/config.js +536 -0
  43. package/dist/core/gateway/agent/index.d.ts +4 -0
  44. package/dist/core/gateway/agent/index.d.ts.map +1 -0
  45. package/dist/core/gateway/agent/index.js +3 -0
  46. package/dist/core/gateway/agent/voice-config.d.ts +20 -0
  47. package/dist/core/gateway/agent/voice-config.d.ts.map +1 -0
  48. package/dist/core/gateway/agent/voice-config.js +65 -0
  49. package/dist/core/gateway/client/capabilities.d.ts +28 -0
  50. package/dist/core/gateway/client/capabilities.d.ts.map +1 -0
  51. package/dist/core/gateway/client/capabilities.js +288 -0
  52. package/dist/core/gateway/client/client.d.ts +106 -0
  53. package/dist/core/gateway/client/client.d.ts.map +1 -0
  54. package/dist/core/gateway/client/client.js +41 -0
  55. package/dist/core/gateway/client/error-details.d.ts +17 -0
  56. package/dist/core/gateway/client/error-details.d.ts.map +1 -0
  57. package/dist/core/gateway/client/error-details.js +50 -0
  58. package/dist/core/gateway/client/fetch.d.ts +24 -0
  59. package/dist/core/gateway/client/fetch.d.ts.map +1 -0
  60. package/dist/core/gateway/client/fetch.js +98 -0
  61. package/dist/core/gateway/client/index.d.ts +6 -0
  62. package/dist/core/gateway/client/index.d.ts.map +1 -0
  63. package/dist/core/gateway/client/index.js +5 -0
  64. package/dist/core/gateway/client/runtime-targets.d.ts +11 -0
  65. package/dist/core/gateway/client/runtime-targets.d.ts.map +1 -0
  66. package/dist/core/gateway/client/runtime-targets.js +86 -0
  67. package/dist/core/gateway/envelope/envelope.d.ts +25 -0
  68. package/dist/core/gateway/envelope/envelope.d.ts.map +1 -0
  69. package/dist/core/gateway/envelope/envelope.js +141 -0
  70. package/dist/core/gateway/envelope/index.d.ts +3 -0
  71. package/dist/core/gateway/envelope/index.d.ts.map +1 -0
  72. package/dist/core/gateway/envelope/index.js +1 -0
  73. package/dist/core/gateway/envelope/types.d.ts +32 -0
  74. package/dist/core/gateway/envelope/types.d.ts.map +1 -0
  75. package/dist/core/gateway/envelope/types.js +1 -0
  76. package/dist/core/gateway/index.d.ts +11 -0
  77. package/dist/core/gateway/index.d.ts.map +1 -0
  78. package/dist/core/gateway/index.js +10 -0
  79. package/dist/core/gateway/jobs.d.ts +44 -0
  80. package/dist/core/gateway/jobs.d.ts.map +1 -0
  81. package/dist/core/gateway/jobs.js +104 -0
  82. package/dist/core/gateway/portal/config-patch.d.ts +42 -0
  83. package/dist/core/gateway/portal/config-patch.d.ts.map +1 -0
  84. package/dist/core/gateway/portal/config-patch.js +99 -0
  85. package/dist/core/gateway/portal/index.d.ts +2 -0
  86. package/dist/core/gateway/portal/index.d.ts.map +1 -0
  87. package/dist/core/gateway/portal/index.js +1 -0
  88. package/dist/core/gateway/providers/factory.d.ts +18 -0
  89. package/dist/core/gateway/providers/factory.d.ts.map +1 -0
  90. package/dist/core/gateway/providers/factory.js +40 -0
  91. package/dist/core/gateway/providers/index.d.ts +5 -0
  92. package/dist/core/gateway/providers/index.d.ts.map +1 -0
  93. package/dist/core/gateway/providers/index.js +4 -0
  94. package/dist/core/gateway/providers/normalize.d.ts +2 -0
  95. package/dist/core/gateway/providers/normalize.d.ts.map +1 -0
  96. package/dist/core/gateway/providers/normalize.js +6 -0
  97. package/dist/core/gateway/providers/registry.d.ts +5 -0
  98. package/dist/core/gateway/providers/registry.d.ts.map +1 -0
  99. package/dist/core/gateway/providers/registry.js +76 -0
  100. package/dist/core/gateway/providers/types.d.ts +42 -0
  101. package/dist/core/gateway/providers/types.d.ts.map +1 -0
  102. package/dist/core/gateway/providers/types.js +4 -0
  103. package/dist/core/gateway/resources/index.d.ts +3 -0
  104. package/dist/core/gateway/resources/index.d.ts.map +1 -0
  105. package/dist/core/gateway/resources/index.js +2 -0
  106. package/dist/core/gateway/resources/media.d.ts +165 -0
  107. package/dist/core/gateway/resources/media.d.ts.map +1 -0
  108. package/dist/core/gateway/resources/media.js +170 -0
  109. package/dist/core/gateway/resources/wiki.d.ts +136 -0
  110. package/dist/core/gateway/resources/wiki.d.ts.map +1 -0
  111. package/dist/core/gateway/resources/wiki.js +72 -0
  112. package/dist/core/gateway/rpc/client.d.ts +150 -0
  113. package/dist/core/gateway/rpc/client.d.ts.map +1 -0
  114. package/dist/core/gateway/rpc/client.js +675 -0
  115. package/dist/core/gateway/rpc/device-crypto.d.ts +19 -0
  116. package/dist/core/gateway/rpc/device-crypto.d.ts.map +1 -0
  117. package/dist/core/gateway/rpc/device-crypto.js +75 -0
  118. package/dist/core/gateway/rpc/device-store.d.ts +8 -0
  119. package/dist/core/gateway/rpc/device-store.d.ts.map +1 -0
  120. package/dist/core/gateway/rpc/device-store.js +113 -0
  121. package/dist/core/gateway/rpc/error.d.ts +5 -0
  122. package/dist/core/gateway/rpc/error.d.ts.map +1 -0
  123. package/dist/core/gateway/rpc/error.js +9 -0
  124. package/dist/core/gateway/rpc/index.d.ts +6 -0
  125. package/dist/core/gateway/rpc/index.d.ts.map +1 -0
  126. package/dist/core/gateway/rpc/index.js +5 -0
  127. package/dist/core/gateway/rpc/preauth-handshake.d.ts +39 -0
  128. package/dist/core/gateway/rpc/preauth-handshake.d.ts.map +1 -0
  129. package/dist/core/gateway/rpc/preauth-handshake.js +58 -0
  130. package/dist/core/gateway/run/contracts.d.ts +126 -0
  131. package/dist/core/gateway/run/contracts.d.ts.map +1 -0
  132. package/dist/core/gateway/run/contracts.js +23 -0
  133. package/dist/core/gateway/run/event-stream.d.ts +106 -0
  134. package/dist/core/gateway/run/event-stream.d.ts.map +1 -0
  135. package/dist/core/gateway/run/event-stream.js +264 -0
  136. package/dist/core/gateway/run/index.d.ts +5 -0
  137. package/dist/core/gateway/run/index.d.ts.map +1 -0
  138. package/dist/core/gateway/run/index.js +4 -0
  139. package/dist/core/gateway/run/sse-run-event-provider.d.ts +55 -0
  140. package/dist/core/gateway/run/sse-run-event-provider.d.ts.map +1 -0
  141. package/dist/core/gateway/run/sse-run-event-provider.js +394 -0
  142. package/dist/core/gateway/run/stream-failure.d.ts +11 -0
  143. package/dist/core/gateway/run/stream-failure.d.ts.map +1 -0
  144. package/dist/core/gateway/run/stream-failure.js +101 -0
  145. package/dist/core/gateway/snapshots/cache.d.ts +7 -0
  146. package/dist/core/gateway/snapshots/cache.d.ts.map +1 -0
  147. package/dist/core/gateway/snapshots/cache.js +13 -0
  148. package/dist/core/gateway/snapshots/contracts.d.ts +279 -0
  149. package/dist/core/gateway/snapshots/contracts.d.ts.map +1 -0
  150. package/dist/core/gateway/snapshots/contracts.js +1 -0
  151. package/dist/core/gateway/snapshots/index.d.ts +7 -0
  152. package/dist/core/gateway/snapshots/index.d.ts.map +1 -0
  153. package/dist/core/gateway/snapshots/index.js +6 -0
  154. package/dist/core/gateway/snapshots/loaders.d.ts +76 -0
  155. package/dist/core/gateway/snapshots/loaders.d.ts.map +1 -0
  156. package/dist/core/gateway/snapshots/loaders.js +515 -0
  157. package/dist/core/gateway/snapshots/session-loaders.d.ts +116 -0
  158. package/dist/core/gateway/snapshots/session-loaders.d.ts.map +1 -0
  159. package/dist/core/gateway/snapshots/session-loaders.js +310 -0
  160. package/dist/core/gateway/snapshots/system-loaders.d.ts +16 -0
  161. package/dist/core/gateway/snapshots/system-loaders.d.ts.map +1 -0
  162. package/dist/core/gateway/snapshots/system-loaders.js +61 -0
  163. package/dist/core/gateway/snapshots/transforms.d.ts +38 -0
  164. package/dist/core/gateway/snapshots/transforms.d.ts.map +1 -0
  165. package/dist/core/gateway/snapshots/transforms.js +328 -0
  166. package/dist/core/http/client-id.d.ts +6 -0
  167. package/dist/core/http/client-id.d.ts.map +1 -0
  168. package/dist/core/http/client-id.js +29 -0
  169. package/dist/core/http/client.d.ts +25 -0
  170. package/dist/core/http/client.d.ts.map +1 -0
  171. package/dist/core/http/client.js +234 -0
  172. package/dist/core/http/contracts.d.ts +3 -0
  173. package/dist/core/http/contracts.d.ts.map +1 -0
  174. package/dist/core/http/contracts.js +5 -0
  175. package/dist/core/http/errors.d.ts +17 -0
  176. package/dist/core/http/errors.d.ts.map +1 -0
  177. package/dist/core/http/errors.js +16 -0
  178. package/dist/core/http/gateway-error.d.ts +15 -0
  179. package/dist/core/http/gateway-error.d.ts.map +1 -0
  180. package/dist/core/http/gateway-error.js +15 -0
  181. package/dist/core/http/index.d.ts +10 -0
  182. package/dist/core/http/index.d.ts.map +1 -0
  183. package/dist/core/http/index.js +9 -0
  184. package/dist/core/http/json-client.d.ts +17 -0
  185. package/dist/core/http/json-client.d.ts.map +1 -0
  186. package/dist/core/http/json-client.js +62 -0
  187. package/dist/core/http/raw-client.d.ts +16 -0
  188. package/dist/core/http/raw-client.d.ts.map +1 -0
  189. package/dist/core/http/raw-client.js +36 -0
  190. package/dist/core/http/redaction.d.ts +20 -0
  191. package/dist/core/http/redaction.d.ts.map +1 -0
  192. package/dist/core/http/redaction.js +58 -0
  193. package/dist/core/http/types.d.ts +44 -0
  194. package/dist/core/http/types.d.ts.map +1 -0
  195. package/dist/core/http/types.js +3 -0
  196. package/dist/core/runtime/index.d.ts +2 -0
  197. package/dist/core/runtime/index.d.ts.map +1 -0
  198. package/dist/core/runtime/index.js +1 -0
  199. package/dist/core/runtime/paths.d.ts +5 -0
  200. package/dist/core/runtime/paths.d.ts.map +1 -0
  201. package/dist/core/runtime/paths.js +29 -0
  202. package/dist/core/sse/index.d.ts +2 -0
  203. package/dist/core/sse/index.d.ts.map +1 -0
  204. package/dist/core/sse/index.js +1 -0
  205. package/dist/core/sse/stream.d.ts +17 -0
  206. package/dist/core/sse/stream.d.ts.map +1 -0
  207. package/dist/core/sse/stream.js +106 -0
  208. package/dist/core/ws/close.d.ts +11 -0
  209. package/dist/core/ws/close.d.ts.map +1 -0
  210. package/dist/core/ws/close.js +34 -0
  211. package/dist/core/ws/gateway-websocket.d.ts +2 -0
  212. package/dist/core/ws/gateway-websocket.d.ts.map +1 -0
  213. package/dist/core/ws/gateway-websocket.js +1 -0
  214. package/dist/core/ws/index.d.ts +4 -0
  215. package/dist/core/ws/index.d.ts.map +1 -0
  216. package/dist/core/ws/index.js +3 -0
  217. package/dist/core/ws/targets.d.ts +21 -0
  218. package/dist/core/ws/targets.d.ts.map +1 -0
  219. package/dist/core/ws/targets.js +61 -0
  220. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-loaders.d.ts +21 -0
  221. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-loaders.d.ts.map +1 -0
  222. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-loaders.js +22 -0
  223. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-snapshot-loaders.d.ts +30 -0
  224. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-snapshot-loaders.d.ts.map +1 -0
  225. package/dist/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-snapshot-loaders.js +72 -0
  226. package/dist/extensions/cavi/adapters/cavi-control-adapters/library-live.d.ts +4 -0
  227. package/dist/extensions/cavi/adapters/cavi-control-adapters/library-live.d.ts.map +1 -0
  228. package/dist/extensions/cavi/adapters/cavi-control-adapters/library-live.js +66 -0
  229. package/dist/extensions/cavi/adapters/cavi-control-adapters/operator-control-live.d.ts +7 -0
  230. package/dist/extensions/cavi/adapters/cavi-control-adapters/operator-control-live.d.ts.map +1 -0
  231. package/dist/extensions/cavi/adapters/cavi-control-adapters/operator-control-live.js +318 -0
  232. package/dist/extensions/cavi/adapters/create-cavi-control-adapters.d.ts +88 -0
  233. package/dist/extensions/cavi/adapters/create-cavi-control-adapters.d.ts.map +1 -0
  234. package/dist/extensions/cavi/adapters/create-cavi-control-adapters.js +172 -0
  235. package/dist/extensions/cavi/client.d.ts +72 -0
  236. package/dist/extensions/cavi/client.d.ts.map +1 -0
  237. package/dist/extensions/cavi/client.js +19 -0
  238. package/dist/extensions/cavi/contracts/index.d.ts +6 -0
  239. package/dist/extensions/cavi/contracts/index.d.ts.map +1 -0
  240. package/dist/extensions/cavi/contracts/index.js +5 -0
  241. package/dist/extensions/cavi/contracts/mobile.d.ts +441 -0
  242. package/dist/extensions/cavi/contracts/mobile.d.ts.map +1 -0
  243. package/dist/extensions/cavi/contracts/mobile.js +467 -0
  244. package/dist/extensions/cavi/contracts/paths.d.ts +121 -0
  245. package/dist/extensions/cavi/contracts/paths.d.ts.map +1 -0
  246. package/dist/extensions/cavi/contracts/paths.js +197 -0
  247. package/dist/extensions/cavi/contracts/portals.d.ts +78 -0
  248. package/dist/extensions/cavi/contracts/portals.d.ts.map +1 -0
  249. package/dist/extensions/cavi/contracts/portals.js +70 -0
  250. package/dist/extensions/cavi/contracts/resolve.d.ts +3 -0
  251. package/dist/extensions/cavi/contracts/resolve.d.ts.map +1 -0
  252. package/dist/extensions/cavi/contracts/resolve.js +4 -0
  253. package/dist/extensions/cavi/contracts/surfaces.d.ts +5 -0
  254. package/dist/extensions/cavi/contracts/surfaces.d.ts.map +1 -0
  255. package/dist/extensions/cavi/contracts/surfaces.js +551 -0
  256. package/dist/extensions/cavi/discourse/contracts.d.ts +5 -0
  257. package/dist/extensions/cavi/discourse/contracts.d.ts.map +1 -0
  258. package/dist/extensions/cavi/discourse/contracts.js +7 -0
  259. package/dist/extensions/cavi/discourse/fallback.d.ts +3 -0
  260. package/dist/extensions/cavi/discourse/fallback.d.ts.map +1 -0
  261. package/dist/extensions/cavi/discourse/fallback.js +364 -0
  262. package/dist/extensions/cavi/discourse/live.d.ts +5 -0
  263. package/dist/extensions/cavi/discourse/live.d.ts.map +1 -0
  264. package/dist/extensions/cavi/discourse/live.js +22 -0
  265. package/dist/extensions/cavi/discourse/normalize-helpers.d.ts +11 -0
  266. package/dist/extensions/cavi/discourse/normalize-helpers.d.ts.map +1 -0
  267. package/dist/extensions/cavi/discourse/normalize-helpers.js +155 -0
  268. package/dist/extensions/cavi/discourse/normalize.d.ts +4 -0
  269. package/dist/extensions/cavi/discourse/normalize.d.ts.map +1 -0
  270. package/dist/extensions/cavi/discourse/normalize.js +287 -0
  271. package/dist/extensions/cavi/domain/discourse.d.ts +161 -0
  272. package/dist/extensions/cavi/domain/discourse.d.ts.map +1 -0
  273. package/dist/extensions/cavi/domain/discourse.js +1 -0
  274. package/dist/extensions/cavi/domain/index.d.ts +6 -0
  275. package/dist/extensions/cavi/domain/index.d.ts.map +1 -0
  276. package/dist/extensions/cavi/domain/index.js +5 -0
  277. package/dist/extensions/cavi/domain/library.d.ts +80 -0
  278. package/dist/extensions/cavi/domain/library.d.ts.map +1 -0
  279. package/dist/extensions/cavi/domain/library.js +2 -0
  280. package/dist/extensions/cavi/domain/observability.d.ts +34 -0
  281. package/dist/extensions/cavi/domain/observability.d.ts.map +1 -0
  282. package/dist/extensions/cavi/domain/observability.js +1 -0
  283. package/dist/extensions/cavi/domain/operator.d.ts +420 -0
  284. package/dist/extensions/cavi/domain/operator.d.ts.map +1 -0
  285. package/dist/extensions/cavi/domain/operator.js +1 -0
  286. package/dist/extensions/cavi/domain/project-board.d.ts +96 -0
  287. package/dist/extensions/cavi/domain/project-board.d.ts.map +1 -0
  288. package/dist/extensions/cavi/domain/project-board.js +1 -0
  289. package/dist/extensions/cavi/fallbacks/provider.d.ts +13 -0
  290. package/dist/extensions/cavi/fallbacks/provider.d.ts.map +1 -0
  291. package/dist/extensions/cavi/fallbacks/provider.js +23 -0
  292. package/dist/extensions/cavi/fallbacks/snapshots/agent-memory.d.ts +3 -0
  293. package/dist/extensions/cavi/fallbacks/snapshots/agent-memory.d.ts.map +1 -0
  294. package/dist/extensions/cavi/fallbacks/snapshots/agent-memory.js +6 -0
  295. package/dist/extensions/cavi/fallbacks/snapshots/cost-history.d.ts +3 -0
  296. package/dist/extensions/cavi/fallbacks/snapshots/cost-history.d.ts.map +1 -0
  297. package/dist/extensions/cavi/fallbacks/snapshots/cost-history.js +73 -0
  298. package/dist/extensions/cavi/fallbacks/snapshots/incidents.d.ts +3 -0
  299. package/dist/extensions/cavi/fallbacks/snapshots/incidents.d.ts.map +1 -0
  300. package/dist/extensions/cavi/fallbacks/snapshots/incidents.js +50 -0
  301. package/dist/extensions/cavi/fallbacks/snapshots/index.d.ts +10 -0
  302. package/dist/extensions/cavi/fallbacks/snapshots/index.d.ts.map +1 -0
  303. package/dist/extensions/cavi/fallbacks/snapshots/index.js +9 -0
  304. package/dist/extensions/cavi/fallbacks/snapshots/library.d.ts +3 -0
  305. package/dist/extensions/cavi/fallbacks/snapshots/library.d.ts.map +1 -0
  306. package/dist/extensions/cavi/fallbacks/snapshots/library.js +110 -0
  307. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/defaults.d.ts +8 -0
  308. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/defaults.d.ts.map +1 -0
  309. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/defaults.js +29 -0
  310. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/index.d.ts +4 -0
  311. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/index.d.ts.map +1 -0
  312. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/index.js +3 -0
  313. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-memory.d.ts +3 -0
  314. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-memory.d.ts.map +1 -0
  315. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-memory.js +63 -0
  316. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-registry-detail.d.ts +3 -0
  317. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-registry-detail.d.ts.map +1 -0
  318. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-registry-detail.js +716 -0
  319. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-section-status.d.ts +3 -0
  320. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-section-status.d.ts.map +1 -0
  321. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-section-status.js +38 -0
  322. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-status.d.ts +3 -0
  323. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-status.d.ts.map +1 -0
  324. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-status.js +84 -0
  325. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-tasks.d.ts +3 -0
  326. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-tasks.d.ts.map +1 -0
  327. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-tasks.js +111 -0
  328. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-ready.d.ts +3 -0
  329. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-ready.d.ts.map +1 -0
  330. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-ready.js +16 -0
  331. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-tasks.d.ts +3 -0
  332. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-tasks.d.ts.map +1 -0
  333. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-tasks.js +43 -0
  334. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot.d.ts +3 -0
  335. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot.d.ts.map +1 -0
  336. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/snapshot.js +16 -0
  337. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/transports.d.ts +4 -0
  338. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/transports.d.ts.map +1 -0
  339. package/dist/extensions/cavi/fallbacks/snapshots/operator-control/transports.js +65 -0
  340. package/dist/extensions/cavi/fallbacks/snapshots/overview.d.ts +3 -0
  341. package/dist/extensions/cavi/fallbacks/snapshots/overview.d.ts.map +1 -0
  342. package/dist/extensions/cavi/fallbacks/snapshots/overview.js +40 -0
  343. package/dist/extensions/cavi/fallbacks/snapshots/routing.d.ts +3 -0
  344. package/dist/extensions/cavi/fallbacks/snapshots/routing.d.ts.map +1 -0
  345. package/dist/extensions/cavi/fallbacks/snapshots/routing.js +36 -0
  346. package/dist/extensions/cavi/fallbacks/snapshots/runs.d.ts +4 -0
  347. package/dist/extensions/cavi/fallbacks/snapshots/runs.d.ts.map +1 -0
  348. package/dist/extensions/cavi/fallbacks/snapshots/runs.js +133 -0
  349. package/dist/extensions/cavi/fallbacks/snapshots/shared.d.ts +2 -0
  350. package/dist/extensions/cavi/fallbacks/snapshots/shared.d.ts.map +1 -0
  351. package/dist/extensions/cavi/fallbacks/snapshots/shared.js +1 -0
  352. package/dist/extensions/cavi/index.d.ts +27 -0
  353. package/dist/extensions/cavi/index.d.ts.map +1 -0
  354. package/dist/extensions/cavi/index.js +26 -0
  355. package/dist/extensions/cavi/library/api.d.ts +18 -0
  356. package/dist/extensions/cavi/library/api.d.ts.map +1 -0
  357. package/dist/extensions/cavi/library/api.js +67 -0
  358. package/dist/extensions/cavi/library/client.d.ts +51 -0
  359. package/dist/extensions/cavi/library/client.d.ts.map +1 -0
  360. package/dist/extensions/cavi/library/client.js +23 -0
  361. package/dist/extensions/cavi/library/clip.d.ts +93 -0
  362. package/dist/extensions/cavi/library/clip.d.ts.map +1 -0
  363. package/dist/extensions/cavi/library/clip.js +272 -0
  364. package/dist/extensions/cavi/operator-control/constants.d.ts +4 -0
  365. package/dist/extensions/cavi/operator-control/constants.d.ts.map +1 -0
  366. package/dist/extensions/cavi/operator-control/constants.js +3 -0
  367. package/dist/extensions/cavi/operator-control/defaults.d.ts +11 -0
  368. package/dist/extensions/cavi/operator-control/defaults.d.ts.map +1 -0
  369. package/dist/extensions/cavi/operator-control/defaults.js +243 -0
  370. package/dist/extensions/cavi/operator-control/load-section.d.ts +24 -0
  371. package/dist/extensions/cavi/operator-control/load-section.d.ts.map +1 -0
  372. package/dist/extensions/cavi/operator-control/load-section.js +46 -0
  373. package/dist/extensions/cavi/portal/client.d.ts +16 -0
  374. package/dist/extensions/cavi/portal/client.d.ts.map +1 -0
  375. package/dist/extensions/cavi/portal/client.js +38 -0
  376. package/dist/extensions/cavi/portal/tts.d.ts +69 -0
  377. package/dist/extensions/cavi/portal/tts.d.ts.map +1 -0
  378. package/dist/extensions/cavi/portal/tts.js +116 -0
  379. package/dist/extensions/cavi/project-board/constants.d.ts +68 -0
  380. package/dist/extensions/cavi/project-board/constants.d.ts.map +1 -0
  381. package/dist/extensions/cavi/project-board/constants.js +9 -0
  382. package/dist/extensions/cavi/project-board/fallback.d.ts +3 -0
  383. package/dist/extensions/cavi/project-board/fallback.d.ts.map +1 -0
  384. package/dist/extensions/cavi/project-board/fallback.js +127 -0
  385. package/dist/extensions/cavi/project-board/live.d.ts +16 -0
  386. package/dist/extensions/cavi/project-board/live.d.ts.map +1 -0
  387. package/dist/extensions/cavi/project-board/live.js +86 -0
  388. package/dist/extensions/cavi/project-board/mutations.d.ts +43 -0
  389. package/dist/extensions/cavi/project-board/mutations.d.ts.map +1 -0
  390. package/dist/extensions/cavi/project-board/mutations.js +210 -0
  391. package/dist/extensions/cavi/project-board/normalize.d.ts +23 -0
  392. package/dist/extensions/cavi/project-board/normalize.d.ts.map +1 -0
  393. package/dist/extensions/cavi/project-board/normalize.js +410 -0
  394. package/dist/extensions/cavi/project-board/trace-id.d.ts +2 -0
  395. package/dist/extensions/cavi/project-board/trace-id.d.ts.map +1 -0
  396. package/dist/extensions/cavi/project-board/trace-id.js +7 -0
  397. package/dist/extensions/cavi/registry/canonical-team-registry.d.ts +41 -0
  398. package/dist/extensions/cavi/registry/canonical-team-registry.d.ts.map +1 -0
  399. package/dist/extensions/cavi/registry/canonical-team-registry.js +102 -0
  400. package/dist/extensions/cavi/registry/portal-library-registry.d.ts +6 -0
  401. package/dist/extensions/cavi/registry/portal-library-registry.d.ts.map +1 -0
  402. package/dist/extensions/cavi/registry/portal-library-registry.js +17 -0
  403. package/dist/extensions/cavi/registry/session-keys.d.ts +16 -0
  404. package/dist/extensions/cavi/registry/session-keys.d.ts.map +1 -0
  405. package/dist/extensions/cavi/registry/session-keys.js +68 -0
  406. package/dist/extensions/cavi/registry/team-registry-config.d.ts +6 -0
  407. package/dist/extensions/cavi/registry/team-registry-config.d.ts.map +1 -0
  408. package/dist/extensions/cavi/registry/team-registry-config.js +23 -0
  409. package/dist/extensions/cavi/registry/team-registry.d.ts +49 -0
  410. package/dist/extensions/cavi/registry/team-registry.d.ts.map +1 -0
  411. package/dist/extensions/cavi/registry/team-registry.js +290 -0
  412. package/dist/extensions/cavi/runtime/env-config.d.ts +35 -0
  413. package/dist/extensions/cavi/runtime/env-config.d.ts.map +1 -0
  414. package/dist/extensions/cavi/runtime/env-config.js +74 -0
  415. package/dist/extensions/cavi/runtime/paths.d.ts +11 -0
  416. package/dist/extensions/cavi/runtime/paths.d.ts.map +1 -0
  417. package/dist/extensions/cavi/runtime/paths.js +43 -0
  418. package/dist/extensions/cavi/runtime/standalone-mode.d.ts +3 -0
  419. package/dist/extensions/cavi/runtime/standalone-mode.d.ts.map +1 -0
  420. package/dist/extensions/cavi/runtime/standalone-mode.js +15 -0
  421. package/dist/index.d.ts +70 -0
  422. package/dist/index.d.ts.map +1 -0
  423. package/dist/index.js +75 -0
  424. package/dist/providers/hermes/agent-config.d.ts +36 -0
  425. package/dist/providers/hermes/agent-config.d.ts.map +1 -0
  426. package/dist/providers/hermes/agent-config.js +242 -0
  427. package/dist/providers/hermes/chat-run.d.ts +106 -0
  428. package/dist/providers/hermes/chat-run.d.ts.map +1 -0
  429. package/dist/providers/hermes/chat-run.js +221 -0
  430. package/dist/providers/hermes/client.d.ts +13 -0
  431. package/dist/providers/hermes/client.d.ts.map +1 -0
  432. package/dist/providers/hermes/client.js +6 -0
  433. package/dist/providers/hermes/env-config.d.ts +18 -0
  434. package/dist/providers/hermes/env-config.d.ts.map +1 -0
  435. package/dist/providers/hermes/env-config.js +38 -0
  436. package/dist/providers/hermes/index.d.ts +12 -0
  437. package/dist/providers/hermes/index.d.ts.map +1 -0
  438. package/dist/providers/hermes/index.js +11 -0
  439. package/dist/providers/hermes/media.d.ts +6 -0
  440. package/dist/providers/hermes/media.d.ts.map +1 -0
  441. package/dist/providers/hermes/media.js +10 -0
  442. package/dist/providers/hermes/provider-module.d.ts +3 -0
  443. package/dist/providers/hermes/provider-module.d.ts.map +1 -0
  444. package/dist/providers/hermes/provider-module.js +22 -0
  445. package/dist/providers/hermes/sse-run-event-provider.d.ts +24 -0
  446. package/dist/providers/hermes/sse-run-event-provider.d.ts.map +1 -0
  447. package/dist/providers/hermes/sse-run-event-provider.js +32 -0
  448. package/dist/providers/hermes/team-registry-config.d.ts +3 -0
  449. package/dist/providers/hermes/team-registry-config.d.ts.map +1 -0
  450. package/dist/providers/hermes/team-registry-config.js +1 -0
  451. package/dist/providers/hermes/team-registry.d.ts +3 -0
  452. package/dist/providers/hermes/team-registry.d.ts.map +1 -0
  453. package/dist/providers/hermes/team-registry.js +5 -0
  454. package/dist/providers/hermes/websocket.d.ts +6 -0
  455. package/dist/providers/hermes/websocket.d.ts.map +1 -0
  456. package/dist/providers/hermes/websocket.js +6 -0
  457. package/dist/providers/hermes/wiki.d.ts +6 -0
  458. package/dist/providers/hermes/wiki.d.ts.map +1 -0
  459. package/dist/providers/hermes/wiki.js +10 -0
  460. package/dist/providers/openclaw/agent-config.d.ts +6 -0
  461. package/dist/providers/openclaw/agent-config.d.ts.map +1 -0
  462. package/dist/providers/openclaw/agent-config.js +10 -0
  463. package/dist/providers/openclaw/client.d.ts +13 -0
  464. package/dist/providers/openclaw/client.d.ts.map +1 -0
  465. package/dist/providers/openclaw/client.js +6 -0
  466. package/dist/providers/openclaw/index.d.ts +10 -0
  467. package/dist/providers/openclaw/index.d.ts.map +1 -0
  468. package/dist/providers/openclaw/index.js +9 -0
  469. package/dist/providers/openclaw/media.d.ts +6 -0
  470. package/dist/providers/openclaw/media.d.ts.map +1 -0
  471. package/dist/providers/openclaw/media.js +10 -0
  472. package/dist/providers/openclaw/provider-module.d.ts +3 -0
  473. package/dist/providers/openclaw/provider-module.d.ts.map +1 -0
  474. package/dist/providers/openclaw/provider-module.js +16 -0
  475. package/dist/providers/openclaw/sse-run-event-provider.d.ts +6 -0
  476. package/dist/providers/openclaw/sse-run-event-provider.d.ts.map +1 -0
  477. package/dist/providers/openclaw/sse-run-event-provider.js +10 -0
  478. package/dist/providers/openclaw/team-registry-config.d.ts +3 -0
  479. package/dist/providers/openclaw/team-registry-config.d.ts.map +1 -0
  480. package/dist/providers/openclaw/team-registry-config.js +1 -0
  481. package/dist/providers/openclaw/team-registry.d.ts +3 -0
  482. package/dist/providers/openclaw/team-registry.d.ts.map +1 -0
  483. package/dist/providers/openclaw/team-registry.js +5 -0
  484. package/dist/providers/openclaw/websocket.d.ts +6 -0
  485. package/dist/providers/openclaw/websocket.d.ts.map +1 -0
  486. package/dist/providers/openclaw/websocket.js +28 -0
  487. package/dist/providers/openclaw/wiki.d.ts +6 -0
  488. package/dist/providers/openclaw/wiki.d.ts.map +1 -0
  489. package/dist/providers/openclaw/wiki.js +10 -0
  490. package/dist/react/gateway-provider.d.ts +142 -0
  491. package/dist/react/gateway-provider.d.ts.map +1 -0
  492. package/dist/react/gateway-provider.js +569 -0
  493. package/dist/react/index.d.ts +2 -0
  494. package/dist/react/index.d.ts.map +1 -0
  495. package/dist/react/index.js +1 -0
  496. package/docs/assets/api-client-hero.svg +73 -0
  497. package/docs/cavi-team-manifest.example.ts +219 -0
  498. package/docs/team-manifest.consumer.template.ts +248 -0
  499. package/docs/team-manifest.md +252 -0
  500. package/package.json +152 -0
  501. package/src/contracts/index.ts +4 -0
  502. package/src/contracts/paths.ts +126 -0
  503. package/src/contracts/resolve.ts +42 -0
  504. package/src/contracts/surfaces.ts +366 -0
  505. package/src/contracts/team-manifest.ts +1402 -0
  506. package/src/core/data/guards.ts +26 -0
  507. package/src/core/data/index.ts +1 -0
  508. package/src/core/env/config.ts +97 -0
  509. package/src/core/env/index.ts +2 -0
  510. package/src/core/env/repo-root.ts +59 -0
  511. package/src/core/gateway/README.md +35 -0
  512. package/src/core/gateway/agent/commands.ts +482 -0
  513. package/src/core/gateway/agent/config.ts +786 -0
  514. package/src/core/gateway/agent/index.ts +3 -0
  515. package/src/core/gateway/agent/voice-config.ts +91 -0
  516. package/src/core/gateway/client/capabilities.ts +385 -0
  517. package/src/core/gateway/client/client.ts +137 -0
  518. package/src/core/gateway/client/error-details.ts +74 -0
  519. package/src/core/gateway/client/fetch.ts +180 -0
  520. package/src/core/gateway/client/index.ts +5 -0
  521. package/src/core/gateway/client/runtime-targets.ts +132 -0
  522. package/src/core/gateway/envelope/envelope.ts +204 -0
  523. package/src/core/gateway/envelope/index.ts +2 -0
  524. package/src/core/gateway/envelope/types.ts +48 -0
  525. package/src/core/gateway/index.ts +10 -0
  526. package/src/core/gateway/jobs.ts +178 -0
  527. package/src/core/gateway/portal/config-patch.ts +136 -0
  528. package/src/core/gateway/portal/index.ts +1 -0
  529. package/src/core/gateway/providers/factory.ts +77 -0
  530. package/src/core/gateway/providers/index.ts +4 -0
  531. package/src/core/gateway/providers/normalize.ts +7 -0
  532. package/src/core/gateway/providers/registry.ts +96 -0
  533. package/src/core/gateway/providers/types.ts +73 -0
  534. package/src/core/gateway/resources/index.ts +2 -0
  535. package/src/core/gateway/resources/media.ts +474 -0
  536. package/src/core/gateway/resources/wiki.ts +301 -0
  537. package/src/core/gateway/rpc/client.ts +1067 -0
  538. package/src/core/gateway/rpc/device-crypto.ts +101 -0
  539. package/src/core/gateway/rpc/device-store.ts +147 -0
  540. package/src/core/gateway/rpc/error.ts +11 -0
  541. package/src/core/gateway/rpc/index.ts +5 -0
  542. package/src/core/gateway/rpc/preauth-handshake.ts +99 -0
  543. package/src/core/gateway/run/contracts.ts +155 -0
  544. package/src/core/gateway/run/event-stream.ts +373 -0
  545. package/src/core/gateway/run/index.ts +4 -0
  546. package/src/core/gateway/run/sse-run-event-provider.ts +513 -0
  547. package/src/core/gateway/run/stream-failure.ts +135 -0
  548. package/src/core/gateway/snapshots/cache.ts +22 -0
  549. package/src/core/gateway/snapshots/contracts.ts +293 -0
  550. package/src/core/gateway/snapshots/index.ts +6 -0
  551. package/src/core/gateway/snapshots/loaders.ts +738 -0
  552. package/src/core/gateway/snapshots/session-loaders.ts +534 -0
  553. package/src/core/gateway/snapshots/system-loaders.ts +93 -0
  554. package/src/core/gateway/snapshots/transforms.ts +508 -0
  555. package/src/core/http/client-id.ts +40 -0
  556. package/src/core/http/client.ts +271 -0
  557. package/src/core/http/contracts.ts +9 -0
  558. package/src/core/http/errors.ts +26 -0
  559. package/src/core/http/gateway-error.ts +38 -0
  560. package/src/core/http/index.ts +9 -0
  561. package/src/core/http/json-client.ts +90 -0
  562. package/src/core/http/raw-client.ts +57 -0
  563. package/src/core/http/redaction.ts +78 -0
  564. package/src/core/http/types.ts +59 -0
  565. package/src/core/runtime/index.ts +1 -0
  566. package/src/core/runtime/paths.ts +44 -0
  567. package/src/core/sse/index.ts +1 -0
  568. package/src/core/sse/stream.ts +118 -0
  569. package/src/core/ws/close.ts +51 -0
  570. package/src/core/ws/gateway-websocket.ts +8 -0
  571. package/src/core/ws/index.ts +3 -0
  572. package/src/core/ws/targets.ts +74 -0
  573. package/src/extensions/README.md +16 -0
  574. package/src/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-loaders.ts +33 -0
  575. package/src/extensions/cavi/adapters/cavi-control-adapters/gateway-ws-snapshot-loaders.ts +152 -0
  576. package/src/extensions/cavi/adapters/cavi-control-adapters/library-live.ts +120 -0
  577. package/src/extensions/cavi/adapters/cavi-control-adapters/operator-control-live.ts +422 -0
  578. package/src/extensions/cavi/adapters/create-cavi-control-adapters.ts +350 -0
  579. package/src/extensions/cavi/client.ts +25 -0
  580. package/src/extensions/cavi/contracts/index.ts +5 -0
  581. package/src/extensions/cavi/contracts/mobile.ts +528 -0
  582. package/src/extensions/cavi/contracts/paths.ts +242 -0
  583. package/src/extensions/cavi/contracts/portals.ts +165 -0
  584. package/src/extensions/cavi/contracts/resolve.ts +6 -0
  585. package/src/extensions/cavi/contracts/surfaces.ts +567 -0
  586. package/src/extensions/cavi/discourse/contracts.ts +9 -0
  587. package/src/extensions/cavi/discourse/fallback.ts +387 -0
  588. package/src/extensions/cavi/discourse/live.ts +36 -0
  589. package/src/extensions/cavi/discourse/normalize-helpers.ts +202 -0
  590. package/src/extensions/cavi/discourse/normalize.ts +415 -0
  591. package/src/extensions/cavi/domain/discourse.ts +209 -0
  592. package/src/extensions/cavi/domain/index.ts +5 -0
  593. package/src/extensions/cavi/domain/library.ts +96 -0
  594. package/src/extensions/cavi/domain/observability.ts +36 -0
  595. package/src/extensions/cavi/domain/operator.ts +486 -0
  596. package/src/extensions/cavi/domain/project-board.ts +107 -0
  597. package/src/extensions/cavi/fallbacks/provider.ts +57 -0
  598. package/src/extensions/cavi/fallbacks/snapshots/agent-memory.ts +8 -0
  599. package/src/extensions/cavi/fallbacks/snapshots/cost-history.ts +101 -0
  600. package/src/extensions/cavi/fallbacks/snapshots/incidents.ts +56 -0
  601. package/src/extensions/cavi/fallbacks/snapshots/index.ts +9 -0
  602. package/src/extensions/cavi/fallbacks/snapshots/library.ts +112 -0
  603. package/src/extensions/cavi/fallbacks/snapshots/operator-control/defaults.ts +57 -0
  604. package/src/extensions/cavi/fallbacks/snapshots/operator-control/index.ts +3 -0
  605. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-memory.ts +65 -0
  606. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-registry-detail.ts +735 -0
  607. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-section-status.ts +41 -0
  608. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-status.ts +87 -0
  609. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-tasks.ts +113 -0
  610. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-ready.ts +19 -0
  611. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot-worker-tasks.ts +46 -0
  612. package/src/extensions/cavi/fallbacks/snapshots/operator-control/snapshot.ts +18 -0
  613. package/src/extensions/cavi/fallbacks/snapshots/operator-control/transports.ts +81 -0
  614. package/src/extensions/cavi/fallbacks/snapshots/overview.ts +42 -0
  615. package/src/extensions/cavi/fallbacks/snapshots/routing.ts +38 -0
  616. package/src/extensions/cavi/fallbacks/snapshots/runs.ts +141 -0
  617. package/src/extensions/cavi/fallbacks/snapshots/shared.ts +1 -0
  618. package/src/extensions/cavi/index.ts +52 -0
  619. package/src/extensions/cavi/library/api.ts +120 -0
  620. package/src/extensions/cavi/library/client.ts +54 -0
  621. package/src/extensions/cavi/library/clip.ts +389 -0
  622. package/src/extensions/cavi/operator-control/constants.ts +3 -0
  623. package/src/extensions/cavi/operator-control/defaults.ts +254 -0
  624. package/src/extensions/cavi/operator-control/load-section.ts +92 -0
  625. package/src/extensions/cavi/portal/client.ts +63 -0
  626. package/src/extensions/cavi/portal/tts.ts +213 -0
  627. package/src/extensions/cavi/project-board/constants.ts +84 -0
  628. package/src/extensions/cavi/project-board/fallback.ts +129 -0
  629. package/src/extensions/cavi/project-board/live.ts +121 -0
  630. package/src/extensions/cavi/project-board/mutations.ts +306 -0
  631. package/src/extensions/cavi/project-board/normalize.ts +552 -0
  632. package/src/extensions/cavi/project-board/trace-id.ts +9 -0
  633. package/src/extensions/cavi/registry/canonical-team-registry.ts +193 -0
  634. package/src/extensions/cavi/registry/portal-library-registry.ts +24 -0
  635. package/src/extensions/cavi/registry/session-keys.ts +92 -0
  636. package/src/extensions/cavi/registry/team-registry-config.ts +36 -0
  637. package/src/extensions/cavi/registry/team-registry.ts +414 -0
  638. package/src/extensions/cavi/runtime/env-config.ts +114 -0
  639. package/src/extensions/cavi/runtime/paths.ts +82 -0
  640. package/src/extensions/cavi/runtime/standalone-mode.ts +28 -0
  641. package/src/index.ts +576 -0
  642. package/src/providers/hermes/agent-config.ts +322 -0
  643. package/src/providers/hermes/chat-run.ts +340 -0
  644. package/src/providers/hermes/client.ts +21 -0
  645. package/src/providers/hermes/env-config.ts +58 -0
  646. package/src/providers/hermes/index.ts +11 -0
  647. package/src/providers/hermes/media.ts +12 -0
  648. package/src/providers/hermes/provider-module.ts +26 -0
  649. package/src/providers/hermes/sse-run-event-provider.ts +47 -0
  650. package/src/providers/hermes/team-registry-config.ts +2 -0
  651. package/src/providers/hermes/team-registry.ts +12 -0
  652. package/src/providers/hermes/websocket.ts +16 -0
  653. package/src/providers/hermes/wiki.ts +12 -0
  654. package/src/providers/openclaw/agent-config.ts +12 -0
  655. package/src/providers/openclaw/client.ts +21 -0
  656. package/src/providers/openclaw/index.ts +9 -0
  657. package/src/providers/openclaw/media.ts +12 -0
  658. package/src/providers/openclaw/provider-module.ts +20 -0
  659. package/src/providers/openclaw/sse-run-event-provider.ts +16 -0
  660. package/src/providers/openclaw/team-registry-config.ts +2 -0
  661. package/src/providers/openclaw/team-registry.ts +12 -0
  662. package/src/providers/openclaw/websocket.ts +56 -0
  663. package/src/providers/openclaw/wiki.ts +12 -0
  664. package/src/react/gateway-provider.tsx +835 -0
  665. package/src/react/index.ts +1 -0
@@ -0,0 +1,6 @@
1
+ export declare function isRecord(value: unknown): value is Record<string, unknown>;
2
+ export declare function asString(value: unknown): string | null;
3
+ export declare function asNumber(value: unknown): number | null;
4
+ export declare function asStringArray(value: unknown): string[];
5
+ export declare function asBoolean(value: unknown): boolean | null;
6
+ //# sourceMappingURL=guards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guards.d.ts","sourceRoot":"","sources":["../../../src/core/data/guards.ts"],"names":[],"mappings":"AAAA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAItD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAEtD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAOtD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAExD"}
@@ -0,0 +1,22 @@
1
+ export function isRecord(value) {
2
+ return Boolean(value) && typeof value === "object";
3
+ }
4
+ export function asString(value) {
5
+ return typeof value === "string" && value.trim().length > 0
6
+ ? value.trim()
7
+ : null;
8
+ }
9
+ export function asNumber(value) {
10
+ return typeof value === "number" && Number.isFinite(value) ? value : null;
11
+ }
12
+ export function asStringArray(value) {
13
+ if (!Array.isArray(value)) {
14
+ return [];
15
+ }
16
+ return value
17
+ .map((entry) => asString(entry))
18
+ .filter((entry) => Boolean(entry));
19
+ }
20
+ export function asBoolean(value) {
21
+ return typeof value === "boolean" ? value : null;
22
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./guards.js";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/data/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./guards.js";
@@ -0,0 +1,40 @@
1
+ export type HttpApiEnvSource = Record<string, string | undefined>;
2
+ export type HttpApiSurfaceConfig = {
3
+ baseUrl: string;
4
+ authToken: string | null;
5
+ clientId: string;
6
+ };
7
+ /** Primary env-var names for one HTTP surface. */
8
+ export type HttpSurfaceEnvKeys = {
9
+ baseUrl: string;
10
+ authToken: string;
11
+ clientId: string;
12
+ };
13
+ /** Fallback env-var names checked (in order) when the primary key is unset. */
14
+ export type HttpSurfaceEnvAliases = {
15
+ baseUrl?: readonly string[];
16
+ authToken?: readonly string[];
17
+ clientId?: readonly string[];
18
+ };
19
+ /** Last-resort values used when neither the primary nor any alias env var is set. */
20
+ export type HttpSurfaceEnvFallback = {
21
+ baseUrl: string;
22
+ authToken?: string | null;
23
+ clientId: string;
24
+ };
25
+ export type HttpSurfaceEnvSpec = {
26
+ keys: HttpSurfaceEnvKeys;
27
+ aliases?: HttpSurfaceEnvAliases;
28
+ fallback: HttpSurfaceEnvFallback;
29
+ };
30
+ export type ResolveHttpSurfaceConfigOptions = {
31
+ defaults?: Partial<HttpApiSurfaceConfig>;
32
+ trimValues?: boolean;
33
+ includeAliases?: boolean;
34
+ };
35
+ /**
36
+ * Resolve a single HTTP surface's config from an env bag.
37
+ * Precedence per field: primary key → aliases → caller `defaults` → spec `fallback`.
38
+ */
39
+ export declare function resolveHttpSurfaceConfigFromEnv(env: HttpApiEnvSource, spec: HttpSurfaceEnvSpec, options?: ResolveHttpSurfaceConfigOptions): HttpApiSurfaceConfig;
40
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/core/env/config.ts"],"names":[],"mappings":"AAMA,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAElE,MAAM,MAAM,oBAAoB,GAAG;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,kDAAkD;AAClD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,+EAA+E;AAC/E,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC9B,CAAC;AAEF,qFAAqF;AACrF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,CAAC,EAAE,qBAAqB,CAAC;IAChC,QAAQ,EAAE,sBAAsB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AA6BF;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,EAAE,gBAAgB,EACrB,IAAI,EAAE,kBAAkB,EACxB,OAAO,GAAE,+BAAoC,GAC5C,oBAAoB,CActB"}
@@ -0,0 +1,44 @@
1
+ // Gateway-agnostic env resolution primitive. Core knows how to read a single
2
+ // HTTP surface's config from an env bag with primary keys + ordered aliases +
3
+ // caller-supplied fallbacks. It deliberately knows NOTHING about any specific
4
+ // domain, provider, or surface/env-var name or default — those live in the
5
+ // owning layer (extensions/cavi, providers/*) which composes this primitive.
6
+ function clean(value, trim) {
7
+ if (value === undefined)
8
+ return undefined;
9
+ const cleaned = trim ? value.trim() : value;
10
+ return cleaned || undefined;
11
+ }
12
+ function firstEnvValue(env, primary, aliases, trim, includeAliases) {
13
+ const primaryValue = clean(env[primary], trim);
14
+ if (primaryValue !== undefined)
15
+ return primaryValue;
16
+ if (!includeAliases)
17
+ return undefined;
18
+ for (const alias of aliases) {
19
+ const value = clean(env[alias], trim);
20
+ if (value !== undefined)
21
+ return value;
22
+ }
23
+ return undefined;
24
+ }
25
+ function cleanToken(value) {
26
+ return value || null;
27
+ }
28
+ /**
29
+ * Resolve a single HTTP surface's config from an env bag.
30
+ * Precedence per field: primary key → aliases → caller `defaults` → spec `fallback`.
31
+ */
32
+ export function resolveHttpSurfaceConfigFromEnv(env, spec, options = {}) {
33
+ const trim = options.trimValues ?? true;
34
+ const includeAliases = options.includeAliases ?? true;
35
+ const defaults = options.defaults;
36
+ const baseUrl = firstEnvValue(env, spec.keys.baseUrl, spec.aliases?.baseUrl ?? [], trim, includeAliases);
37
+ const authToken = firstEnvValue(env, spec.keys.authToken, spec.aliases?.authToken ?? [], trim, includeAliases);
38
+ const clientId = firstEnvValue(env, spec.keys.clientId, spec.aliases?.clientId ?? [], trim, includeAliases);
39
+ return {
40
+ baseUrl: baseUrl ?? defaults?.baseUrl ?? spec.fallback.baseUrl,
41
+ authToken: cleanToken(authToken) ?? defaults?.authToken ?? spec.fallback.authToken ?? null,
42
+ clientId: clientId ?? defaults?.clientId ?? spec.fallback.clientId,
43
+ };
44
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./config.js";
2
+ export * from "./repo-root.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/env/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from "./config.js";
2
+ export * from "./repo-root.js";
@@ -0,0 +1,11 @@
1
+ export declare const REPO_ROOT_ENV_KEY: "REPO_ROOT";
2
+ export declare const GLOBAL_REPO_ROOT_KEY: "__CAVI_REPO_ROOT__";
3
+ export type RepoRootEnv = Record<string, string | undefined>;
4
+ export type ResolveRepoRootOptions = {
5
+ repoRoot?: string | null;
6
+ env?: RepoRootEnv;
7
+ globalRepoRoot?: string | null;
8
+ };
9
+ export declare function resolveRepoRoot(options?: ResolveRepoRootOptions): string | null;
10
+ export declare function requireRepoRoot(options?: ResolveRepoRootOptions): string;
11
+ //# sourceMappingURL=repo-root.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-root.d.ts","sourceRoot":"","sources":["../../../src/core/env/repo-root.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,EAAG,WAAoB,CAAC;AACtD,eAAO,MAAM,oBAAoB,EAAG,oBAA6B,CAAC;AAElE,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;AAE7D,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAiCF,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,GAAG,IAAI,CAQnF;AAED,wBAAgB,eAAe,CAAC,OAAO,GAAE,sBAA2B,GAAG,MAAM,CAM5E"}
@@ -0,0 +1,36 @@
1
+ export const REPO_ROOT_ENV_KEY = "REPO_ROOT";
2
+ export const GLOBAL_REPO_ROOT_KEY = "__CAVI_REPO_ROOT__";
3
+ function cleanRepoRoot(value) {
4
+ const trimmed = value?.trim();
5
+ return trimmed ? trimmed.replace(/\/+$/, "") : null;
6
+ }
7
+ function readProcessEnv() {
8
+ try {
9
+ return typeof process !== "undefined" && process.env ? process.env : {};
10
+ }
11
+ catch {
12
+ return {};
13
+ }
14
+ }
15
+ function readGlobalRepoRoot() {
16
+ try {
17
+ return cleanRepoRoot(globalThis[GLOBAL_REPO_ROOT_KEY]);
18
+ }
19
+ catch {
20
+ return null;
21
+ }
22
+ }
23
+ export function resolveRepoRoot(options = {}) {
24
+ return (cleanRepoRoot(options.repoRoot) ??
25
+ cleanRepoRoot(options.env?.[REPO_ROOT_ENV_KEY]) ??
26
+ cleanRepoRoot(options.globalRepoRoot) ??
27
+ readGlobalRepoRoot() ??
28
+ cleanRepoRoot(readProcessEnv()[REPO_ROOT_ENV_KEY]));
29
+ }
30
+ export function requireRepoRoot(options = {}) {
31
+ const repoRoot = resolveRepoRoot(options);
32
+ if (!repoRoot) {
33
+ throw new Error("Missing REPO_ROOT for @cavi-ai/api-client filesystem integration");
34
+ }
35
+ return repoRoot;
36
+ }
@@ -0,0 +1,93 @@
1
+ /**
2
+ * Gateway-agnostic chat slash-command + mention parsing.
3
+ *
4
+ * The authoritative command catalog is owned by the gateway and surfaced on the
5
+ * capabilities snapshot (`capabilities.commands`). Use {@link extractGatewayCommandCatalog}
6
+ * to read it and pass the result as the `coreCommands` option so built-ins stay
7
+ * dynamic rather than manually maintained. {@link FALLBACK_CORE_SLASH_COMMANDS}
8
+ * is an offline-only safety net used when the gateway snapshot is unavailable.
9
+ */
10
+ export type AgentCommandShortcut = {
11
+ id: string;
12
+ label: string;
13
+ insert: string;
14
+ description?: string;
15
+ };
16
+ export type AgentMentionSuggestion = {
17
+ id: string;
18
+ label: string;
19
+ insert: string;
20
+ };
21
+ export type AgentCommandSource = {
22
+ id?: string | null;
23
+ name?: string | null;
24
+ commands?: unknown;
25
+ slashCommands?: unknown;
26
+ slash_commands?: unknown;
27
+ commandRegistry?: unknown;
28
+ command_registry?: unknown;
29
+ routing?: unknown;
30
+ config?: unknown;
31
+ snapshot?: unknown;
32
+ orchestration?: unknown;
33
+ triggers?: readonly unknown[] | null;
34
+ };
35
+ export type AgentCommandSurface = {
36
+ slashShortcuts: AgentCommandShortcut[];
37
+ mentionChips: AgentMentionSuggestion[];
38
+ };
39
+ /** Shape of a single entry in the gateway capabilities `commands` catalog. */
40
+ export type GatewayCommandSpec = {
41
+ command?: string;
42
+ name?: string;
43
+ id?: string;
44
+ insert?: string;
45
+ template?: string;
46
+ description?: string;
47
+ summary?: string;
48
+ help?: string;
49
+ category?: string;
50
+ aliases?: readonly string[];
51
+ params?: readonly Record<string, unknown>[];
52
+ arguments?: readonly Record<string, unknown>[];
53
+ examples?: readonly string[];
54
+ enabled?: boolean;
55
+ source?: string;
56
+ scope?: string;
57
+ metadata?: Record<string, unknown>;
58
+ };
59
+ export type GatewayCommandCatalog = readonly (GatewayCommandSpec | string)[] | {
60
+ commands?: unknown;
61
+ slashCommands?: unknown;
62
+ slash_commands?: unknown;
63
+ core?: unknown;
64
+ agent?: unknown;
65
+ teams?: unknown;
66
+ };
67
+ export type GatewayCommandCapabilities = {
68
+ commands?: GatewayCommandCatalog;
69
+ slashCommands?: GatewayCommandCatalog;
70
+ slash_commands?: GatewayCommandCatalog;
71
+ commandCatalog?: GatewayCommandCatalog;
72
+ command_catalog?: GatewayCommandCatalog;
73
+ };
74
+ /**
75
+ * Offline-only fallback for the gateway built-in slash commands. The live
76
+ * catalog comes from {@link extractGatewayCommandCatalog}; this is only used
77
+ * when the capabilities snapshot has not been fetched yet.
78
+ */
79
+ export declare const FALLBACK_CORE_SLASH_COMMANDS: readonly AgentCommandShortcut[];
80
+ /**
81
+ * Read the gateway built-in command catalog from a capabilities snapshot
82
+ * (`capabilities.commands`). Returns an empty list when the gateway has not
83
+ * surfaced a catalog yet, so callers can decide whether to fall back.
84
+ */
85
+ export declare function extractGatewayCommandCatalog(capabilities: unknown): AgentCommandShortcut[];
86
+ export type BuildAgentSlashShortcutsOptions = {
87
+ /** Gateway built-ins (from {@link extractGatewayCommandCatalog}); defaults to the offline fallback. */
88
+ coreCommands?: readonly AgentCommandShortcut[];
89
+ };
90
+ export declare function buildAgentSlashShortcuts(agent: AgentCommandSource | null | undefined, options?: BuildAgentSlashShortcutsOptions): AgentCommandShortcut[];
91
+ export declare function buildAgentMentionChips(agent: AgentCommandSource | null | undefined): AgentMentionSuggestion[];
92
+ export declare function buildAgentCommandSurface(agent: AgentCommandSource | null | undefined, options?: BuildAgentSlashShortcutsOptions): AgentCommandSurface;
93
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/core/gateway/agent/commands.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,MAAM,oBAAoB,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,oBAAoB,EAAE,CAAC;IACvC,YAAY,EAAE,sBAAsB,EAAE,CAAC;CACxC,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,MAAM,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5C,SAAS,CAAC,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC/C,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAC7B,SAAS,CAAC,kBAAkB,GAAG,MAAM,CAAC,EAAE,GACxC;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACzC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,EAAE,SAAS,oBAAoB,EAiBvE,CAAC;AAgSF;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,OAAO,GAAG,oBAAoB,EAAE,CAuC1F;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC5C,uGAAuG;IACvG,YAAY,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;CAChD,CAAC;AAEF,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC5C,OAAO,GAAE,+BAAoC,GAC5C,oBAAoB,EAAE,CAYxB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,GAC3C,sBAAsB,EAAE,CAQ1B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC5C,OAAO,GAAE,+BAAoC,GAC5C,mBAAmB,CAKrB"}
@@ -0,0 +1,351 @@
1
+ /**
2
+ * Gateway-agnostic chat slash-command + mention parsing.
3
+ *
4
+ * The authoritative command catalog is owned by the gateway and surfaced on the
5
+ * capabilities snapshot (`capabilities.commands`). Use {@link extractGatewayCommandCatalog}
6
+ * to read it and pass the result as the `coreCommands` option so built-ins stay
7
+ * dynamic rather than manually maintained. {@link FALLBACK_CORE_SLASH_COMMANDS}
8
+ * is an offline-only safety net used when the gateway snapshot is unavailable.
9
+ */
10
+ /**
11
+ * Offline-only fallback for the gateway built-in slash commands. The live
12
+ * catalog comes from {@link extractGatewayCommandCatalog}; this is only used
13
+ * when the capabilities snapshot has not been fetched yet.
14
+ */
15
+ export const FALLBACK_CORE_SLASH_COMMANDS = [
16
+ { id: "help", label: "/help", insert: "/help", description: "Short help summary from the gateway" },
17
+ { id: "commands", label: "/commands", insert: "/commands", description: "Live command catalog for this session" },
18
+ { id: "agent", label: "/agent", insert: "/agent ", description: "Show or switch the active agent" },
19
+ { id: "session", label: "/session", insert: "/session", description: "Show the current session binding" },
20
+ { id: "status", label: "/status", insert: "/status", description: "Gateway, runtime, and provider usage status" },
21
+ { id: "tools", label: "/tools", insert: "/tools", description: "Tools the active agent can use right now" },
22
+ { id: "new", label: "/new", insert: "/new", description: "Start a new session (alias: /reset)" },
23
+ { id: "stop", label: "/stop", insert: "/stop", description: "Abort the current run" },
24
+ { id: "model", label: "/model", insert: "/model", description: "Show or set the active model" },
25
+ { id: "think", label: "/think", insert: "/think ", description: "Set thinking level (e.g. low|medium|high)" },
26
+ { id: "verbose", label: "/verbose", insert: "/verbose ", description: "Toggle verbose output (on|off|full)" },
27
+ { id: "queue", label: "/queue", insert: "/queue ", description: "Manage queue behavior (steer|interrupt|...)" },
28
+ { id: "skill", label: "/skill", insert: "/skill ", description: "Run a skill by name" },
29
+ { id: "focus", label: "/focus", insert: "/focus ", description: "Bind this thread to an agent target" },
30
+ { id: "unfocus", label: "/unfocus", insert: "/unfocus", description: "Remove the current thread binding" },
31
+ { id: "whoami", label: "/whoami", insert: "/whoami", description: "Show your sender id" },
32
+ ];
33
+ function cleanString(value) {
34
+ return typeof value === "string" ? value.trim() : "";
35
+ }
36
+ function cleanInsertString(value) {
37
+ return typeof value === "string" ? value.trimStart() : "";
38
+ }
39
+ function isRecord(value) {
40
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
41
+ }
42
+ function stableSlug(value) {
43
+ return value
44
+ .toLowerCase()
45
+ .replace(/[^a-z0-9]+/gu, "_")
46
+ .replace(/^_+|_+$/gu, "")
47
+ .slice(0, 72) || "command";
48
+ }
49
+ function commandHead(value) {
50
+ return value.split(/\s+/u)[0] ?? value;
51
+ }
52
+ function agentLabel(agent) {
53
+ return cleanString(agent?.name) || cleanString(agent?.id) || "agent";
54
+ }
55
+ function firstString(record, keys) {
56
+ for (const key of keys) {
57
+ const value = cleanString(record[key]);
58
+ if (value)
59
+ return value;
60
+ }
61
+ return "";
62
+ }
63
+ function firstInsertString(record, keys) {
64
+ for (const key of keys) {
65
+ const value = cleanInsertString(record[key]);
66
+ if (value.trim())
67
+ return value;
68
+ }
69
+ return "";
70
+ }
71
+ function normalizeSlashTrigger(agent, raw) {
72
+ const trigger = cleanString(raw);
73
+ if (!trigger.startsWith("/"))
74
+ return null;
75
+ const label = commandHead(trigger);
76
+ if (label.length <= 1)
77
+ return null;
78
+ const suffix = trigger.slice(label.length).trim();
79
+ const agentId = cleanString(agent?.id) || agentLabel(agent);
80
+ return {
81
+ id: `agent_${stableSlug(agentId)}_${stableSlug(trigger)}`,
82
+ label,
83
+ insert: trigger.endsWith(" ") ? trigger : suffix ? trigger : label,
84
+ description: suffix
85
+ ? `${agentLabel(agent)} preset: ${suffix}`
86
+ : `${agentLabel(agent)} command`,
87
+ };
88
+ }
89
+ const COMMAND_VALUE_KEYS = [
90
+ "command",
91
+ "cmd",
92
+ "slashCommand",
93
+ "slash_command",
94
+ "insert",
95
+ "template",
96
+ "prefill",
97
+ "value",
98
+ "name",
99
+ "id",
100
+ ];
101
+ const COMMAND_DESCRIPTION_KEYS = [
102
+ "description",
103
+ "summary",
104
+ "help",
105
+ "hint",
106
+ "label",
107
+ ];
108
+ const COMMAND_SOURCE_KEYS = [
109
+ "commands",
110
+ "slashCommands",
111
+ "slash_commands",
112
+ "commandRegistry",
113
+ "command_registry",
114
+ "command",
115
+ "cmd",
116
+ "slashCommand",
117
+ "slash_command",
118
+ "commandModifier",
119
+ "command_modifier",
120
+ ];
121
+ const COMMAND_SECTION_KEYS = [
122
+ "routing",
123
+ "config",
124
+ "snapshot",
125
+ "orchestration",
126
+ "metadata",
127
+ "profile",
128
+ ];
129
+ const MENTION_SOURCE_KEYS = [
130
+ "triggers",
131
+ "mentions",
132
+ "mentionTriggers",
133
+ "mention_triggers",
134
+ "aliases",
135
+ "keywords",
136
+ ];
137
+ function normalizeSlashCommandEntry(agent, raw) {
138
+ if (typeof raw === "string") {
139
+ return normalizeSlashTrigger(agent, raw);
140
+ }
141
+ if (!isRecord(raw)) {
142
+ return null;
143
+ }
144
+ const insertCandidate = firstInsertString(raw, ["insert", "template", "prefill"]);
145
+ const commandCandidate = firstString(raw, COMMAND_VALUE_KEYS);
146
+ const command = insertCandidate.startsWith("/")
147
+ ? insertCandidate
148
+ : commandCandidate.startsWith("/")
149
+ ? commandCandidate
150
+ : "";
151
+ const shortcut = normalizeSlashTrigger(agent, command);
152
+ if (!shortcut)
153
+ return null;
154
+ const description = firstString(raw, COMMAND_DESCRIPTION_KEYS);
155
+ if (!description || description.startsWith("/")) {
156
+ return shortcut;
157
+ }
158
+ return {
159
+ ...shortcut,
160
+ description,
161
+ };
162
+ }
163
+ function collectCommandEntries(value, out) {
164
+ if (value == null)
165
+ return;
166
+ if (Array.isArray(value)) {
167
+ for (const entry of value)
168
+ collectCommandEntries(entry, out);
169
+ return;
170
+ }
171
+ if (!isRecord(value)) {
172
+ out.push(value);
173
+ return;
174
+ }
175
+ if (COMMAND_VALUE_KEYS.some((key) => cleanString(value[key]))) {
176
+ out.push(value);
177
+ return;
178
+ }
179
+ for (const entry of Object.values(value)) {
180
+ collectCommandEntries(entry, out);
181
+ }
182
+ }
183
+ function collectCapabilityCommandEntries(value, out) {
184
+ if (value == null)
185
+ return;
186
+ if (Array.isArray(value)) {
187
+ for (const entry of value) {
188
+ collectCapabilityCommandEntries(entry, out);
189
+ }
190
+ return;
191
+ }
192
+ if (!isRecord(value)) {
193
+ out.push(value);
194
+ return;
195
+ }
196
+ if (COMMAND_VALUE_KEYS.some((key) => cleanString(value[key]))) {
197
+ out.push(value);
198
+ return;
199
+ }
200
+ for (const key of [
201
+ "commands",
202
+ "slashCommands",
203
+ "slash_commands",
204
+ "core",
205
+ "agent",
206
+ "teams",
207
+ ]) {
208
+ collectCapabilityCommandEntries(value[key], out);
209
+ }
210
+ }
211
+ function collectCommandSections(value, out, depth = 0) {
212
+ if (!isRecord(value) || depth > 3)
213
+ return;
214
+ for (const key of COMMAND_SOURCE_KEYS) {
215
+ collectCommandEntries(value[key], out);
216
+ }
217
+ for (const key of COMMAND_SECTION_KEYS) {
218
+ collectCommandSections(value[key], out, depth + 1);
219
+ }
220
+ }
221
+ function collectSlashCommandEntries(agent) {
222
+ const out = [];
223
+ collectCommandEntries(agent?.triggers, out);
224
+ collectCommandSections(agent, out);
225
+ const agentId = cleanString(agent?.id);
226
+ if (agentId) {
227
+ const label = agentLabel(agent);
228
+ out.push({
229
+ command: `/agent ${agentId}`,
230
+ description: `Switch command context to ${label}`,
231
+ }, {
232
+ command: `/focus ${agentId}`,
233
+ description: `Bind this thread to ${label}`,
234
+ });
235
+ }
236
+ return out;
237
+ }
238
+ function collectMentionEntries(agent) {
239
+ const out = [];
240
+ if (!isRecord(agent)) {
241
+ return out;
242
+ }
243
+ const record = agent;
244
+ for (const key of MENTION_SOURCE_KEYS) {
245
+ collectCommandEntries(record[key], out);
246
+ }
247
+ return out;
248
+ }
249
+ function normalizeMentionTrigger(agent, raw) {
250
+ const trigger = cleanString(raw);
251
+ if (!trigger || trigger.startsWith("/"))
252
+ return null;
253
+ const agentId = cleanString(agent?.id) || agentLabel(agent);
254
+ return {
255
+ id: `mention_${stableSlug(agentId)}_${stableSlug(trigger)}`,
256
+ label: trigger,
257
+ insert: trigger.endsWith(" ") ? trigger : `${trigger} `,
258
+ };
259
+ }
260
+ function pushUniqueShortcut(out, seen, shortcut) {
261
+ const key = `${shortcut.label.toLowerCase()}${shortcut.insert.toLowerCase()}`;
262
+ if (seen.has(key))
263
+ return;
264
+ seen.add(key);
265
+ out.push(shortcut);
266
+ }
267
+ function pushUniqueMention(out, seen, chip) {
268
+ const key = chip.insert.trim().toLowerCase();
269
+ if (!key || seen.has(key))
270
+ return;
271
+ seen.add(key);
272
+ out.push(chip);
273
+ }
274
+ /**
275
+ * Read the gateway built-in command catalog from a capabilities snapshot
276
+ * (`capabilities.commands`). Returns an empty list when the gateway has not
277
+ * surfaced a catalog yet, so callers can decide whether to fall back.
278
+ */
279
+ export function extractGatewayCommandCatalog(capabilities) {
280
+ if (!isRecord(capabilities))
281
+ return [];
282
+ const entries = [];
283
+ for (const key of [
284
+ "commands",
285
+ "slashCommands",
286
+ "slash_commands",
287
+ "commandCatalog",
288
+ "command_catalog",
289
+ "features",
290
+ ]) {
291
+ collectCapabilityCommandEntries(capabilities[key], entries);
292
+ }
293
+ if (entries.length === 0)
294
+ return [];
295
+ const seen = new Set();
296
+ const out = [];
297
+ for (const entry of entries) {
298
+ const command = typeof entry === "string"
299
+ ? cleanString(entry)
300
+ : isRecord(entry)
301
+ ? firstInsertString(entry, ["command", "name", "id", "insert", "template", "prefill"])
302
+ : "";
303
+ const insert = command.startsWith("/") ? command : command ? `/${command}` : "";
304
+ if (!insert)
305
+ continue;
306
+ const label = commandHead(insert);
307
+ if (label.length <= 1)
308
+ continue;
309
+ const description = isRecord(entry)
310
+ ? firstString(entry, COMMAND_DESCRIPTION_KEYS)
311
+ : "";
312
+ const shortcut = {
313
+ id: `core_${stableSlug(insert)}`,
314
+ label,
315
+ insert,
316
+ ...(description && !description.startsWith("/") ? { description } : {}),
317
+ };
318
+ pushUniqueShortcut(out, seen, shortcut);
319
+ }
320
+ return out;
321
+ }
322
+ export function buildAgentSlashShortcuts(agent, options = {}) {
323
+ const core = options.coreCommands ?? FALLBACK_CORE_SLASH_COMMANDS;
324
+ const seen = new Set();
325
+ const out = [];
326
+ for (const shortcut of core) {
327
+ pushUniqueShortcut(out, seen, shortcut);
328
+ }
329
+ for (const entry of collectSlashCommandEntries(agent)) {
330
+ const shortcut = normalizeSlashCommandEntry(agent, entry);
331
+ if (shortcut)
332
+ pushUniqueShortcut(out, seen, shortcut);
333
+ }
334
+ return out;
335
+ }
336
+ export function buildAgentMentionChips(agent) {
337
+ const seen = new Set();
338
+ const out = [];
339
+ for (const trigger of collectMentionEntries(agent)) {
340
+ const chip = normalizeMentionTrigger(agent, trigger);
341
+ if (chip)
342
+ pushUniqueMention(out, seen, chip);
343
+ }
344
+ return out;
345
+ }
346
+ export function buildAgentCommandSurface(agent, options = {}) {
347
+ return {
348
+ slashShortcuts: buildAgentSlashShortcuts(agent, options),
349
+ mentionChips: buildAgentMentionChips(agent),
350
+ };
351
+ }