@leaflow/sdk 0.200.0 → 0.201.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 (248) hide show
  1. package/dist/canopy/v1/generated/models.d.ts +13 -0
  2. package/dist/canopy/v1/generated/validators/endpointCapabilities.zod.d.ts +5 -0
  3. package/dist/canopy/v1/generated/validators/model.zod.d.ts +5 -0
  4. package/dist/canopy/v1/generated/validators/modelCapabilities.zod.d.ts +5 -0
  5. package/dist/canopy/v1/generated/validators/modelList.zod.d.ts +5 -0
  6. package/dist/canopy/v1/generated/validators/modelListResponseBody.zod.d.ts +5 -0
  7. package/dist/canopy/v1/generated/validators/modelResource.zod.d.ts +5 -0
  8. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.d.ts +5 -0
  9. package/dist/canopy/v1/generated/validators/videoCapabilities.zod.js +5 -0
  10. package/dist/canopy/v1/generated/validators/videoDurationRange.zod.d.ts +48 -0
  11. package/dist/canopy/v1/generated/validators/videoDurationRange.zod.js +48 -0
  12. package/dist/fleet/v1/generated/functions.d.ts +121 -13
  13. package/dist/fleet/v1/generated/functions.js +123 -8
  14. package/dist/fleet/v1/generated/models.d.ts +197 -4
  15. package/dist/fleet/v1/generated/models.js +18 -0
  16. package/dist/fleet/v1/generated/schemas.zod.d.ts +114 -12
  17. package/dist/fleet/v1/generated/schemas.zod.js +102 -12
  18. package/dist/fleet/v1/generated/validators/accountList.zod.d.ts +9 -5
  19. package/dist/fleet/v1/generated/validators/accountList.zod.js +9 -5
  20. package/dist/fleet/v1/generated/validators/accountResource.zod.d.ts +9 -5
  21. package/dist/fleet/v1/generated/validators/accountResource.zod.js +9 -5
  22. package/dist/fleet/v1/generated/validators/approveEnrollmentRequest.zod.d.ts +9 -5
  23. package/dist/fleet/v1/generated/validators/approveEnrollmentRequest.zod.js +9 -5
  24. package/dist/fleet/v1/generated/validators/callMcpToolRequest.zod.d.ts +9 -5
  25. package/dist/fleet/v1/generated/validators/callMcpToolRequest.zod.js +9 -5
  26. package/dist/fleet/v1/generated/validators/callMcpToolResponse.zod.d.ts +9 -5
  27. package/dist/fleet/v1/generated/validators/callMcpToolResponse.zod.js +9 -5
  28. package/dist/fleet/v1/generated/validators/callToolRequest.zod.d.ts +264 -0
  29. package/dist/fleet/v1/generated/validators/callToolRequest.zod.js +262 -0
  30. package/dist/fleet/v1/generated/validators/callToolResponse.zod.d.ts +270 -0
  31. package/dist/fleet/v1/generated/validators/callToolResponse.zod.js +257 -0
  32. package/dist/fleet/v1/generated/validators/createGroupMemberRequest.zod.d.ts +9 -5
  33. package/dist/fleet/v1/generated/validators/createGroupMemberRequest.zod.js +9 -5
  34. package/dist/fleet/v1/generated/validators/createGroupRequest.zod.d.ts +9 -5
  35. package/dist/fleet/v1/generated/validators/createGroupRequest.zod.js +9 -5
  36. package/dist/fleet/v1/generated/validators/createMachineRegistrationRequest.zod.d.ts +9 -5
  37. package/dist/fleet/v1/generated/validators/createMachineRegistrationRequest.zod.js +9 -5
  38. package/dist/fleet/v1/generated/validators/createMachineRegistrationResponse.zod.d.ts +9 -5
  39. package/dist/fleet/v1/generated/validators/createMachineRegistrationResponse.zod.js +9 -5
  40. package/dist/fleet/v1/generated/validators/createParticipantRequest.zod.d.ts +9 -5
  41. package/dist/fleet/v1/generated/validators/createParticipantRequest.zod.js +9 -5
  42. package/dist/fleet/v1/generated/validators/createParticipantResponse.zod.d.ts +9 -5
  43. package/dist/fleet/v1/generated/validators/createParticipantResponse.zod.js +9 -5
  44. package/dist/fleet/v1/generated/validators/createPeerConnectionCandidatesRequest.zod.d.ts +9 -5
  45. package/dist/fleet/v1/generated/validators/createPeerConnectionCandidatesRequest.zod.js +9 -5
  46. package/dist/fleet/v1/generated/validators/createPeerConnectionRequest.zod.d.ts +9 -5
  47. package/dist/fleet/v1/generated/validators/createPeerConnectionRequest.zod.js +9 -5
  48. package/dist/fleet/v1/generated/validators/createSessionRequest.zod.d.ts +9 -5
  49. package/dist/fleet/v1/generated/validators/createSessionRequest.zod.js +9 -5
  50. package/dist/fleet/v1/generated/validators/cursorPagination.zod.d.ts +9 -5
  51. package/dist/fleet/v1/generated/validators/cursorPagination.zod.js +9 -5
  52. package/dist/fleet/v1/generated/validators/deleteMcpServerParams.zod.d.ts +9 -5
  53. package/dist/fleet/v1/generated/validators/deleteMcpServerParams.zod.js +9 -5
  54. package/dist/fleet/v1/generated/validators/denyPrivilegeRequestRequest.zod.d.ts +9 -5
  55. package/dist/fleet/v1/generated/validators/denyPrivilegeRequestRequest.zod.js +9 -5
  56. package/dist/fleet/v1/generated/validators/desktopOptions.zod.d.ts +9 -5
  57. package/dist/fleet/v1/generated/validators/desktopOptions.zod.js +9 -5
  58. package/dist/fleet/v1/generated/validators/desktopState.zod.d.ts +9 -5
  59. package/dist/fleet/v1/generated/validators/desktopState.zod.js +9 -5
  60. package/dist/fleet/v1/generated/validators/directoryName.zod.d.ts +9 -5
  61. package/dist/fleet/v1/generated/validators/directoryName.zod.js +9 -5
  62. package/dist/fleet/v1/generated/validators/enrollmentResource.zod.d.ts +9 -5
  63. package/dist/fleet/v1/generated/validators/enrollmentResource.zod.js +9 -5
  64. package/dist/fleet/v1/generated/validators/enrollmentState.zod.d.ts +9 -5
  65. package/dist/fleet/v1/generated/validators/enrollmentState.zod.js +9 -5
  66. package/dist/fleet/v1/generated/validators/error.zod.d.ts +9 -5
  67. package/dist/fleet/v1/generated/validators/error.zod.js +9 -5
  68. package/dist/fleet/v1/generated/validators/errorStatus.zod.d.ts +9 -5
  69. package/dist/fleet/v1/generated/validators/errorStatus.zod.js +9 -5
  70. package/dist/fleet/v1/generated/validators/featureState.zod.d.ts +9 -5
  71. package/dist/fleet/v1/generated/validators/featureState.zod.js +9 -5
  72. package/dist/fleet/v1/generated/validators/fieldViolation.zod.d.ts +9 -5
  73. package/dist/fleet/v1/generated/validators/fieldViolation.zod.js +9 -5
  74. package/dist/fleet/v1/generated/validators/findEnrollmentByPairingCodeParams.zod.d.ts +9 -5
  75. package/dist/fleet/v1/generated/validators/findEnrollmentByPairingCodeParams.zod.js +9 -5
  76. package/dist/fleet/v1/generated/validators/findEnrollmentResponse.zod.d.ts +9 -5
  77. package/dist/fleet/v1/generated/validators/findEnrollmentResponse.zod.js +9 -5
  78. package/dist/fleet/v1/generated/validators/getPeerConnectionParams.zod.d.ts +9 -5
  79. package/dist/fleet/v1/generated/validators/getPeerConnectionParams.zod.js +9 -5
  80. package/dist/fleet/v1/generated/validators/groupList.zod.d.ts +9 -5
  81. package/dist/fleet/v1/generated/validators/groupList.zod.js +9 -5
  82. package/dist/fleet/v1/generated/validators/groupResource.zod.d.ts +9 -5
  83. package/dist/fleet/v1/generated/validators/groupResource.zod.js +9 -5
  84. package/dist/fleet/v1/generated/validators/iceCandidate.zod.d.ts +9 -5
  85. package/dist/fleet/v1/generated/validators/iceCandidate.zod.js +9 -5
  86. package/dist/fleet/v1/generated/validators/iceServer.zod.d.ts +9 -5
  87. package/dist/fleet/v1/generated/validators/iceServer.zod.js +9 -5
  88. package/dist/fleet/v1/generated/validators/listAccountsParams.zod.d.ts +9 -5
  89. package/dist/fleet/v1/generated/validators/listAccountsParams.zod.js +9 -5
  90. package/dist/fleet/v1/generated/validators/listGroupMembersParams.zod.d.ts +9 -5
  91. package/dist/fleet/v1/generated/validators/listGroupMembersParams.zod.js +9 -5
  92. package/dist/fleet/v1/generated/validators/listGroupsParams.zod.d.ts +9 -5
  93. package/dist/fleet/v1/generated/validators/listGroupsParams.zod.js +9 -5
  94. package/dist/fleet/v1/generated/validators/listMachineEventsParams.zod.d.ts +9 -5
  95. package/dist/fleet/v1/generated/validators/listMachineEventsParams.zod.js +9 -5
  96. package/dist/fleet/v1/generated/validators/listMachineRegistrationsParams.zod.d.ts +9 -5
  97. package/dist/fleet/v1/generated/validators/listMachineRegistrationsParams.zod.js +9 -5
  98. package/dist/fleet/v1/generated/validators/listMachinesParams.zod.d.ts +9 -5
  99. package/dist/fleet/v1/generated/validators/listMachinesParams.zod.js +9 -5
  100. package/dist/fleet/v1/generated/validators/listMcpToolsParams.zod.d.ts +9 -5
  101. package/dist/fleet/v1/generated/validators/listMcpToolsParams.zod.js +9 -5
  102. package/dist/fleet/v1/generated/validators/listPrivilegeAutoApprovalsParams.zod.d.ts +9 -5
  103. package/dist/fleet/v1/generated/validators/listPrivilegeAutoApprovalsParams.zod.js +9 -5
  104. package/dist/fleet/v1/generated/validators/listPrivilegeRequestsParams.zod.d.ts +9 -5
  105. package/dist/fleet/v1/generated/validators/listPrivilegeRequestsParams.zod.js +9 -5
  106. package/dist/fleet/v1/generated/validators/listSessionsParams.zod.d.ts +9 -5
  107. package/dist/fleet/v1/generated/validators/listSessionsParams.zod.js +9 -5
  108. package/dist/fleet/v1/generated/validators/listToolsParams.zod.d.ts +267 -0
  109. package/dist/fleet/v1/generated/validators/listToolsParams.zod.js +265 -0
  110. package/dist/fleet/v1/generated/validators/machineEventList.zod.d.ts +9 -5
  111. package/dist/fleet/v1/generated/validators/machineEventList.zod.js +9 -5
  112. package/dist/fleet/v1/generated/validators/machineEventResource.zod.d.ts +9 -5
  113. package/dist/fleet/v1/generated/validators/machineEventResource.zod.js +9 -5
  114. package/dist/fleet/v1/generated/validators/machineEventType.zod.d.ts +9 -5
  115. package/dist/fleet/v1/generated/validators/machineEventType.zod.js +9 -5
  116. package/dist/fleet/v1/generated/validators/machineFeature.zod.d.ts +9 -5
  117. package/dist/fleet/v1/generated/validators/machineFeature.zod.js +9 -5
  118. package/dist/fleet/v1/generated/validators/machineList.zod.d.ts +9 -5
  119. package/dist/fleet/v1/generated/validators/machineList.zod.js +9 -5
  120. package/dist/fleet/v1/generated/validators/machineRegistrationList.zod.d.ts +9 -5
  121. package/dist/fleet/v1/generated/validators/machineRegistrationList.zod.js +9 -5
  122. package/dist/fleet/v1/generated/validators/machineRegistrationResource.zod.d.ts +9 -5
  123. package/dist/fleet/v1/generated/validators/machineRegistrationResource.zod.js +9 -5
  124. package/dist/fleet/v1/generated/validators/machineRegistrationState.zod.d.ts +9 -5
  125. package/dist/fleet/v1/generated/validators/machineRegistrationState.zod.js +9 -5
  126. package/dist/fleet/v1/generated/validators/machineResource.zod.d.ts +9 -5
  127. package/dist/fleet/v1/generated/validators/machineResource.zod.js +9 -5
  128. package/dist/fleet/v1/generated/validators/mcpConfigurationFile.zod.d.ts +9 -5
  129. package/dist/fleet/v1/generated/validators/mcpConfigurationFile.zod.js +9 -5
  130. package/dist/fleet/v1/generated/validators/mcpConfigurationResource.zod.d.ts +9 -5
  131. package/dist/fleet/v1/generated/validators/mcpConfigurationResource.zod.js +9 -5
  132. package/dist/fleet/v1/generated/validators/mcpImplementation.zod.d.ts +9 -5
  133. package/dist/fleet/v1/generated/validators/mcpImplementation.zod.js +9 -5
  134. package/dist/fleet/v1/generated/validators/mcpServerFailure.zod.d.ts +9 -5
  135. package/dist/fleet/v1/generated/validators/mcpServerFailure.zod.js +9 -5
  136. package/dist/fleet/v1/generated/validators/mcpServerResource.zod.d.ts +9 -5
  137. package/dist/fleet/v1/generated/validators/mcpServerResource.zod.js +9 -5
  138. package/dist/fleet/v1/generated/validators/mcpToolList.zod.d.ts +9 -5
  139. package/dist/fleet/v1/generated/validators/mcpToolList.zod.js +9 -5
  140. package/dist/fleet/v1/generated/validators/mcpToolResource.zod.d.ts +9 -5
  141. package/dist/fleet/v1/generated/validators/mcpToolResource.zod.js +9 -5
  142. package/dist/fleet/v1/generated/validators/mcpTransport.zod.d.ts +9 -5
  143. package/dist/fleet/v1/generated/validators/mcpTransport.zod.js +9 -5
  144. package/dist/fleet/v1/generated/validators/mcpUnavailableServer.zod.d.ts +9 -5
  145. package/dist/fleet/v1/generated/validators/mcpUnavailableServer.zod.js +9 -5
  146. package/dist/fleet/v1/generated/validators/migrationStep.zod.d.ts +9 -5
  147. package/dist/fleet/v1/generated/validators/migrationStep.zod.js +9 -5
  148. package/dist/fleet/v1/generated/validators/namedIdentity.zod.d.ts +9 -5
  149. package/dist/fleet/v1/generated/validators/namedIdentity.zod.js +9 -5
  150. package/dist/fleet/v1/generated/validators/offsetPagination.zod.d.ts +9 -5
  151. package/dist/fleet/v1/generated/validators/offsetPagination.zod.js +9 -5
  152. package/dist/fleet/v1/generated/validators/operatingSystem.zod.d.ts +9 -5
  153. package/dist/fleet/v1/generated/validators/operatingSystem.zod.js +9 -5
  154. package/dist/fleet/v1/generated/validators/participantList.zod.d.ts +9 -5
  155. package/dist/fleet/v1/generated/validators/participantList.zod.js +9 -5
  156. package/dist/fleet/v1/generated/validators/participantResource.zod.d.ts +9 -5
  157. package/dist/fleet/v1/generated/validators/participantResource.zod.js +9 -5
  158. package/dist/fleet/v1/generated/validators/peerConnection.zod.d.ts +9 -5
  159. package/dist/fleet/v1/generated/validators/peerConnection.zod.js +9 -5
  160. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalList.zod.d.ts +9 -5
  161. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalList.zod.js +9 -5
  162. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalMode.zod.d.ts +9 -5
  163. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalMode.zod.js +9 -5
  164. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalResource.zod.d.ts +9 -5
  165. package/dist/fleet/v1/generated/validators/privilegeAutoApprovalResource.zod.js +9 -5
  166. package/dist/fleet/v1/generated/validators/privilegeDecider.zod.d.ts +9 -5
  167. package/dist/fleet/v1/generated/validators/privilegeDecider.zod.js +9 -5
  168. package/dist/fleet/v1/generated/validators/privilegeRequestList.zod.d.ts +9 -5
  169. package/dist/fleet/v1/generated/validators/privilegeRequestList.zod.js +9 -5
  170. package/dist/fleet/v1/generated/validators/privilegeRequestResource.zod.d.ts +9 -5
  171. package/dist/fleet/v1/generated/validators/privilegeRequestResource.zod.js +9 -5
  172. package/dist/fleet/v1/generated/validators/privilegeRequestState.zod.d.ts +9 -5
  173. package/dist/fleet/v1/generated/validators/privilegeRequestState.zod.js +9 -5
  174. package/dist/fleet/v1/generated/validators/publicKey.zod.d.ts +9 -5
  175. package/dist/fleet/v1/generated/validators/publicKey.zod.js +9 -5
  176. package/dist/fleet/v1/generated/validators/renewParticipantRequest.zod.d.ts +9 -5
  177. package/dist/fleet/v1/generated/validators/renewParticipantRequest.zod.js +9 -5
  178. package/dist/fleet/v1/generated/validators/renewParticipantResponse.zod.d.ts +9 -5
  179. package/dist/fleet/v1/generated/validators/renewParticipantResponse.zod.js +9 -5
  180. package/dist/fleet/v1/generated/validators/replaceMcpConfigurationRequest.zod.d.ts +9 -5
  181. package/dist/fleet/v1/generated/validators/replaceMcpConfigurationRequest.zod.js +9 -5
  182. package/dist/fleet/v1/generated/validators/rtcConfiguration.zod.d.ts +9 -5
  183. package/dist/fleet/v1/generated/validators/rtcConfiguration.zod.js +9 -5
  184. package/dist/fleet/v1/generated/validators/runCommandRequest.zod.d.ts +9 -5
  185. package/dist/fleet/v1/generated/validators/runCommandRequest.zod.js +9 -5
  186. package/dist/fleet/v1/generated/validators/runCommandResponse.zod.d.ts +9 -5
  187. package/dist/fleet/v1/generated/validators/runCommandResponse.zod.js +9 -5
  188. package/dist/fleet/v1/generated/validators/sendMcpRequestRequest.zod.d.ts +9 -5
  189. package/dist/fleet/v1/generated/validators/sendMcpRequestRequest.zod.js +9 -5
  190. package/dist/fleet/v1/generated/validators/sendMcpRequestResponse.zod.d.ts +9 -5
  191. package/dist/fleet/v1/generated/validators/sendMcpRequestResponse.zod.js +9 -5
  192. package/dist/fleet/v1/generated/validators/sessionCloseReason.zod.d.ts +9 -5
  193. package/dist/fleet/v1/generated/validators/sessionCloseReason.zod.js +9 -5
  194. package/dist/fleet/v1/generated/validators/sessionList.zod.d.ts +9 -5
  195. package/dist/fleet/v1/generated/validators/sessionList.zod.js +9 -5
  196. package/dist/fleet/v1/generated/validators/sessionMode.zod.d.ts +9 -5
  197. package/dist/fleet/v1/generated/validators/sessionMode.zod.js +9 -5
  198. package/dist/fleet/v1/generated/validators/sessionResource.zod.d.ts +9 -5
  199. package/dist/fleet/v1/generated/validators/sessionResource.zod.js +9 -5
  200. package/dist/fleet/v1/generated/validators/sessionState.zod.d.ts +9 -5
  201. package/dist/fleet/v1/generated/validators/sessionState.zod.js +9 -5
  202. package/dist/fleet/v1/generated/validators/signedMessage.zod.d.ts +9 -5
  203. package/dist/fleet/v1/generated/validators/signedMessage.zod.js +9 -5
  204. package/dist/fleet/v1/generated/validators/signingKey.zod.d.ts +9 -5
  205. package/dist/fleet/v1/generated/validators/signingKey.zod.js +9 -5
  206. package/dist/fleet/v1/generated/validators/toolActivityList.zod.d.ts +251 -0
  207. package/dist/fleet/v1/generated/validators/toolActivityList.zod.js +253 -0
  208. package/dist/fleet/v1/generated/validators/toolContent.zod.d.ts +263 -0
  209. package/dist/fleet/v1/generated/validators/toolContent.zod.js +260 -0
  210. package/dist/fleet/v1/generated/validators/toolDescriptor.zod.d.ts +263 -0
  211. package/dist/fleet/v1/generated/validators/toolDescriptor.zod.js +258 -0
  212. package/dist/fleet/v1/generated/validators/toolImage.zod.d.ts +258 -0
  213. package/dist/fleet/v1/generated/validators/toolImage.zod.js +255 -0
  214. package/dist/fleet/v1/generated/validators/toolList.zod.d.ts +276 -0
  215. package/dist/fleet/v1/generated/validators/toolList.zod.js +257 -0
  216. package/dist/fleet/v1/generated/validators/toolRef.zod.d.ts +257 -0
  217. package/dist/fleet/v1/generated/validators/toolRef.zod.js +257 -0
  218. package/dist/fleet/v1/generated/validators/updateAccountRequest.zod.d.ts +9 -5
  219. package/dist/fleet/v1/generated/validators/updateAccountRequest.zod.js +9 -5
  220. package/dist/fleet/v1/generated/validators/updateGroupRequest.zod.d.ts +9 -5
  221. package/dist/fleet/v1/generated/validators/updateGroupRequest.zod.js +9 -5
  222. package/dist/fleet/v1/generated/validators/updateMachineRequest.zod.d.ts +9 -5
  223. package/dist/fleet/v1/generated/validators/updateMachineRequest.zod.js +9 -5
  224. package/dist/fleet/v1/generated/validators/updateMcpServerRequest.zod.d.ts +9 -5
  225. package/dist/fleet/v1/generated/validators/updateMcpServerRequest.zod.js +9 -5
  226. package/dist/fleet/v1/generated/validators/updateMcpServerResponse.zod.d.ts +9 -5
  227. package/dist/fleet/v1/generated/validators/updateMcpServerResponse.zod.js +9 -5
  228. package/dist/fleet/v1/generated/validators/updatePrivilegeAutoApprovalRequest.zod.d.ts +9 -5
  229. package/dist/fleet/v1/generated/validators/updatePrivilegeAutoApprovalRequest.zod.js +9 -5
  230. package/dist/proto/leaflow/fleet/control/v1/control_pb.d.ts +24 -2
  231. package/dist/proto/leaflow/fleet/control/v1/control_pb.js +1 -1
  232. package/dist/proto/leaflow/fleet/session/v1/session_pb.d.ts +8 -0
  233. package/dist/proto/leaflow/fleet/session/v1/session_pb.js +1 -1
  234. package/dist/proto/leaflow/fleet/tool/v1/tool_pb.d.ts +683 -0
  235. package/dist/proto/leaflow/fleet/tool/v1/tool_pb.js +205 -0
  236. package/dist/proto/leaflow/fleet/virtualdesktop/capture/v1/capture_pb.d.ts +21 -1
  237. package/dist/proto/leaflow/fleet/virtualdesktop/capture/v1/capture_pb.js +1 -1
  238. package/dist/proto/leaflow/fleet/virtualdesktop/datatransfer/v1/datatransfer_pb.d.ts +11 -2
  239. package/dist/proto/leaflow/fleet/virtualdesktop/datatransfer/v1/datatransfer_pb.js +1 -1
  240. package/dist/proto/leaflow/fleet/virtualdesktop/display/v1/display_pb.d.ts +18 -0
  241. package/dist/proto/leaflow/fleet/virtualdesktop/display/v1/display_pb.js +10 -5
  242. package/dist/proto/leaflow/fleet/virtualdesktop/input/v1/input_pb.d.ts +8 -0
  243. package/dist/proto/leaflow/fleet/virtualdesktop/input/v1/input_pb.js +1 -1
  244. package/dist/proto/leaflow/fleet/virtualdesktop/window/v1/window_pb.d.ts +24 -1
  245. package/dist/proto/leaflow/fleet/virtualdesktop/window/v1/window_pb.js +1 -1
  246. package/dist/routes.d.ts +24 -0
  247. package/dist/routes.js +27 -0
  248. package/package.json +1 -1
@@ -127,19 +127,23 @@ export const getRunMachineCommandUrl = (machineId) => {
127
127
  * redirection and `&&` work; there is no terminal and no standard input. The machine admits
128
128
  * the account through PAM as for a login. The account is created if the caller has none yet.
129
129
  * A command that fails is still a successful request: its exit status is its result.
130
+ * Before starting it, Fleet prepares or reuses the account's ready lightweight graphical
131
+ * session, without starting a full desktop environment. The command has its own job scope;
132
+ * its timeout or exit must not close the account's graphical context.
130
133
  *
131
134
  * Inside the command, `sudo` works without a prompt while the caller has
132
135
  * `fleet:machines.admin` on the machine, and refuses otherwise.
133
136
  *
134
- * The request is held until the command ends, at most `timeout_seconds` and a few seconds
135
- * more. Neither the command nor its output is hidden from the platform: do not put secrets
137
+ * After graphical context preparation, the request is held until the command ends, at most
138
+ * `timeout_seconds` and a few seconds more. Neither the command nor its output is hidden from the platform: do not put secrets
136
139
  * into either.
137
140
  *
138
141
  * Requires `fleet:machines.login` on the machine.
139
142
  *
140
143
  * Fails with:
141
144
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
142
- * - `FEATURE_UNAVAILABLE` when the machine does not offer `leaflow.fleet.command.v1`;
145
+ * - `FEATURE_UNAVAILABLE` when the command, session or graphical backend is unavailable;
146
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when the account context is not ready or closing;
143
147
  * - `USER_NOT_FOUND`, `USER_NOT_ALLOWED`, `ACCOUNT_EXPIRED` or `PAM_PERMISSION_DENIED` when
144
148
  * the machine refuses the account, as for opening a session;
145
149
  * - `COMMAND_START_FAILED` when the shell could not start; nothing ran;
@@ -326,6 +330,105 @@ export const deleteMcpServer = async (machineId, serverName, params, options, fe
326
330
  const data = body ? JSON.parse(body) : {};
327
331
  return { data, status: res.status, headers: res.headers };
328
332
  };
333
+ export const getListToolsUrl = (machineId, params) => {
334
+ const normalizedParams = new URLSearchParams();
335
+ Object.entries(params || {}).forEach(([key, value]) => {
336
+ if (value !== undefined) {
337
+ normalizedParams.append(key, value === null ? "null" : String(value));
338
+ }
339
+ });
340
+ const stringifiedParams = normalizedParams.toString();
341
+ return stringifiedParams.length > 0
342
+ ? `https://fleet.leaflow.cloud/api/v1/machines/${encodeURIComponent(String(machineId))}/tools?${stringifiedParams}`
343
+ : `https://fleet.leaflow.cloud/api/v1/machines/${encodeURIComponent(String(machineId))}/tools`;
344
+ };
345
+ /**
346
+ * Queries Agent's builtin tools and the caller's configured MCP servers live. No directory,
347
+ * result or image is cached. Requires fleet:machines.login; builtin capabilities retain
348
+ * their native policies and read-only restrictions. Ensures or reuses the caller's single
349
+ * open graphical session, without launching a desktop environment. The client instance is
350
+ * a UUID generated once per running client, not an authorization credential. Each request
351
+ * checks current IAM permissions and signs a short-lived control-only authorization.
352
+ * Tool arguments, results and images traverse Fleet with hop-by-hop TLS and are visible to
353
+ * Fleet. Existing desktop streaming remains end-to-end encrypted. TOOL_LIST_CHANGED means
354
+ * restart listing from the first page, never replay a CallTool. At most 100 tools per page.
355
+ * @summary List live tools available to the caller on a machine
356
+ */
357
+ export const listTools = async (machineId, params, options, fetchFn) => {
358
+ const res = await (fetchFn ?? fetch)(getListToolsUrl(machineId, params), {
359
+ ...options,
360
+ method: "GET",
361
+ });
362
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
363
+ const data = body ? JSON.parse(body) : {};
364
+ return { data, status: res.status, headers: res.headers };
365
+ };
366
+ export const getCallToolUrl = (machineId) => {
367
+ return `https://fleet.leaflow.cloud/api/v1/machines/${encodeURIComponent(String(machineId))}/tools:call`;
368
+ };
369
+ /**
370
+ * Uses the same current permissions, directory account and graphical session as listTools.
371
+ * Listing is not a precondition: callers may use a previously discovered ToolRef, and this
372
+ * operation never sends a discovery request or refreshes schemas before executing it.
373
+ * A removed tool or MCP server returns TOOL_NOT_FOUND, as does a direct builtin computer.*
374
+ * call while virtual desktop capability is unavailable. Actual permission errors remain
375
+ * permission errors; a missing target window is not a missing tool. Use listTools only when
376
+ * discovery or refresh is needed, and do not cache or reuse execution results.
377
+ * Source is explicit: MCP names never select or impersonate builtin tools. The arguments
378
+ * object is at most 256 KiB. The complete result is at most 8 MiB in the protobuf transport,
379
+ * with each encoded image at most 4 MiB; images are converted to base64 once at this JSON
380
+ * boundary, without recompression or persistence. Cancellation is propagated. A timeout,
381
+ * disconnect or failed response does not prove that side effects did not happen; do not
382
+ * automatically replay. operation_id only correlates live activity, not idempotency.
383
+ * @summary Call a live builtin or external MCP tool
384
+ */
385
+ export const callTool = async (machineId, callToolRequest, options, fetchFn) => {
386
+ const getHeaders = (h) => {
387
+ if (!h)
388
+ return {};
389
+ if (h instanceof Headers)
390
+ return Object.fromEntries(h.entries());
391
+ if (Symbol.iterator in h) {
392
+ return Object.fromEntries(Array.from(h, (entry) => Array.from(entry)));
393
+ }
394
+ const headers = {};
395
+ for (const [name, value] of Object.entries(h)) {
396
+ if (value !== undefined)
397
+ headers[name] = value;
398
+ }
399
+ return headers;
400
+ };
401
+ const res = await (fetchFn ?? fetch)(getCallToolUrl(machineId), {
402
+ ...options,
403
+ method: "POST",
404
+ headers: { "Content-Type": "application/json", ...getHeaders(options?.headers) },
405
+ body: JSON.stringify(callToolRequest),
406
+ });
407
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
408
+ const data = body ? JSON.parse(body) : {};
409
+ return { data, status: res.status, headers: res.headers };
410
+ };
411
+ export const getPollToolActivitiesUrl = (sessionId) => {
412
+ return `https://fleet.leaflow.cloud/api/v1/sessions/${encodeURIComponent(String(sessionId))}/tool-activities`;
413
+ };
414
+ /**
415
+ * Checks current session viewing permission for each request and again before returning
416
+ * events. Subscribes only while this request is pending, returning on the first batch or
417
+ * after at most 20 idle seconds. At most 64 events, no offline queue, event database, cursor
418
+ * history or replay guarantee. Missing events never mean repeat an action. Coordinates
419
+ * are window-client-local (window_id=0 means canvas), not CSS or image pixels. The frontend
420
+ * applies its own zoom and DPI. Compare sequence only within the same instance_id.
421
+ * @summary Receive live tool activity for an authorized session
422
+ */
423
+ export const pollToolActivities = async (sessionId, options, fetchFn) => {
424
+ const res = await (fetchFn ?? fetch)(getPollToolActivitiesUrl(sessionId), {
425
+ ...options,
426
+ method: "GET",
427
+ });
428
+ const body = [204, 205, 304].includes(res.status) ? null : await res.text();
429
+ const data = body ? JSON.parse(body) : {};
430
+ return { data, status: res.status, headers: res.headers };
431
+ };
329
432
  export const getSendMcpRequestUrl = (machineId, serverName) => {
330
433
  return `https://fleet.leaflow.cloud/api/v1/machines/${encodeURIComponent(String(machineId))}/mcp-servers/${encodeURIComponent(String(serverName))}:send`;
331
434
  };
@@ -333,7 +436,9 @@ export const getSendMcpRequestUrl = (machineId, serverName) => {
333
436
  * Sends one JSON-RPC request of MCP to one of the caller's servers on the machine, such as
334
437
  * `tools/call`, `resources/read` or `prompts/get`, and returns the server's response. The
335
438
  * machine starts or connects to the server if it is not running, and handles its
336
- * initialization itself; a request still running when `timeout_seconds` passes is cancelled
439
+ * initialization itself. Before any such request, Fleet prepares or reuses the caller's
440
+ * ready lightweight account graphical session, including for resources and prompts; no full
441
+ * desktop environment is needed. A request still running when `timeout_seconds` passes is cancelled
337
442
  * at the server. Requests the server makes of the client are answered as by a client that
338
443
  * offers no sampling, elicitation or roots, and its notifications, such as of progress, are
339
444
  * dropped. A response with a JSON-RPC error is a successful request. Neither the request nor
@@ -347,7 +452,8 @@ export const getSendMcpRequestUrl = (machineId, serverName) => {
347
452
  * is one of initialization;
348
453
  * - `RESULT_TOO_LARGE` when the response is larger than 8 MiB;
349
454
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
350
- * - `FEATURE_UNAVAILABLE` when the machine does not offer `leaflow.fleet.mcp.v1`;
455
+ * - `FEATURE_UNAVAILABLE` when the MCP, session or graphical backend is unavailable;
456
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when the account context is not ready or closing;
351
457
  * - `USER_NOT_FOUND`, `USER_NOT_ALLOWED`, `ACCOUNT_EXPIRED` or `PAM_PERMISSION_DENIED` when
352
458
  * the machine refuses the account, as for opening a session;
353
459
  * - `MCP_START_FAILED` when the machine could not start MCP for the caller's account;
@@ -393,6 +499,7 @@ export const getCallMcpToolUrl = (machineId, serverName, toolName) => {
393
499
  * Fails as sending a request does, and with `MCP_REQUEST_FAILED` when the server answers
394
500
  * with a JSON-RPC error, such as for a tool it does not offer or arguments it does not
395
501
  * accept, with the error's `metadata.code` and `metadata.message`.
502
+ * @deprecated
396
503
  * @summary Call an MCP tool
397
504
  */
398
505
  export const callMcpTool = async (machineId, serverName, toolName, callMcpToolRequest, options, fetchFn) => {
@@ -450,6 +557,7 @@ export const getListMcpToolsUrl = (machineId, params) => {
450
557
  * the machine refuses the account, as for opening a session;
451
558
  * - `MCP_START_FAILED` when the machine could not start MCP for the caller's account;
452
559
  * - `MACHINE_TIMEOUT` when the machine did not answer in time.
560
+ * @deprecated
453
561
  * @summary List the caller's MCP tools on a machine
454
562
  */
455
563
  export const listMcpTools = async (machineId, params, options, fetchFn) => {
@@ -1174,12 +1282,19 @@ export const getCreateSessionUrl = () => {
1174
1282
  };
1175
1283
  /**
1176
1284
  * Opens a session for the caller on a machine, as the caller's account, and returns once it
1177
- * is ready. With `desktop` the session has a desktop. Without, it is a terminal session: its
1285
+ * is ready. With `desktop` the session has a desktop. Without, Fleet first prepares or reuses
1286
+ * the account's separate ready lightweight graphical session, then creates a terminal session
1287
+ * with its own SID and lifetime; closing that terminal does not close the account context. Its
1178
1288
  * one terminal runs the caller's login shell from the start, every participant attaches to
1179
1289
  * that terminal, and the session ends when the shell exits; a caller who wants another
1180
1290
  * terminal opens another session. Either kind also offers programs, files, ports, sound,
1181
1291
  * devices, printers and privilege approvals. The account is created if the caller has none
1182
1292
  * yet. Requires `fleet:machines.login` on the machine.
1293
+ * All newly created graphical account sessions, including desktop-first FullDesktop and
1294
+ * Seamless sessions, keep running when no viewer has joined or the last viewer disconnects.
1295
+ * Configured maximum lifetime, resource limits and explicit close/terminate still apply.
1296
+ * This create API has no client-selected idle policy; existing running policies are not
1297
+ * silently rewritten when tools, commands or terminals reuse the account context.
1183
1298
  *
1184
1299
  * On a machine an account has at most one session with a desktop and at most 8 sessions in
1185
1300
  * all. Sessions without a desktop run side by side, such as one for a program and one for a
@@ -1187,8 +1302,8 @@ export const getCreateSessionUrl = () => {
1187
1302
  *
1188
1303
  * Fails with:
1189
1304
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
1190
- * - `FEATURE_UNAVAILABLE` when the machine does not offer sessions, or with `desktop`,
1191
- * desktops;
1305
+ * - `FEATURE_UNAVAILABLE` when the machine does not offer sessions or the graphical backend;
1306
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when its shared account context is not ready or closing;
1192
1307
  * - `USER_HAS_DESKTOP_SESSION` with `desktop` when the account already has a session with a
1193
1308
  * desktop on the machine, which `metadata.sessionId` names; connect to it instead;
1194
1309
  * - `SESSION_LIMIT_REACHED` when the account already has 8 open sessions on the machine;
@@ -83,11 +83,15 @@
83
83
  * and remote ones it connects to;
84
84
  * - `leaflow.fleet.host.v1`: terminal sessions, with programs, files, ports, sound, devices,
85
85
  * printers and privilege approvals;
86
- * - `leaflow.fleet.virtualdesktop.host.v1`: sessions with a desktop.
86
+ * - `leaflow.fleet.virtualdesktop.host.v1`: sessions with a graphical backend;
87
+ * - `leaflow.fleet.tool.v1`: live session tools. Builtin `computer.*` tools are exposed only while
88
+ * the virtual desktop capability is actually available; MCP is a separate source.
87
89
  *
88
- * A machine installed without a desktop does not offer `leaflow.fleet.virtualdesktop.host.v1`. A
89
- * request that needs a feature the machine does not report available fails with
90
- * `FEATURE_UNAVAILABLE`, whose `metadata.feature` names the feature.
90
+ * A graphical backend does not require a full desktop environment. Terminal logins, commands
91
+ * and MCP server initialization prepare or reuse the account's lightweight graphical context,
92
+ * in addition to their own session or job. Configuration reads and writes do not initialize a
93
+ * server and do not require this preparation. A request that needs a feature the machine does
94
+ * not report available fails with `FEATURE_UNAVAILABLE`, whose `metadata.feature` names it.
91
95
  *
92
96
  * ## Directory
93
97
  *
@@ -975,6 +979,167 @@ export interface SendMcpRequestResponse {
975
979
  /** The server's JSON-RPC 2.0 response, with the id of the request */
976
980
  response: SendMcpRequestResponseResponse;
977
981
  }
982
+ export type ToolRefSource = (typeof ToolRefSource)[keyof typeof ToolRefSource];
983
+ export declare const ToolRefSource: {
984
+ readonly builtin: "builtin";
985
+ readonly mcp: "mcp";
986
+ };
987
+ export interface ToolRef {
988
+ source: ToolRefSource;
989
+ /**
990
+ * @minLength 1
991
+ * @maxLength 128
992
+ */
993
+ name: string;
994
+ /**
995
+ * Required only for mcp; forbidden for builtin
996
+ * @minLength 1
997
+ * @maxLength 64
998
+ */
999
+ server?: string;
1000
+ }
1001
+ export type ToolDescriptorInputSchema = {
1002
+ [key: string]: unknown;
1003
+ };
1004
+ export type ToolDescriptorOutputSchema = {
1005
+ [key: string]: unknown;
1006
+ };
1007
+ /**
1008
+ * Untrusted display metadata; never grants authorization
1009
+ */
1010
+ export type ToolDescriptorMetadata = {
1011
+ [key: string]: unknown;
1012
+ };
1013
+ export interface ToolDescriptor {
1014
+ tool: ToolRef;
1015
+ name: string;
1016
+ title: string;
1017
+ description: string;
1018
+ input_schema: ToolDescriptorInputSchema;
1019
+ output_schema?: ToolDescriptorOutputSchema;
1020
+ /** Untrusted display metadata; never grants authorization */
1021
+ metadata?: ToolDescriptorMetadata;
1022
+ }
1023
+ export type ToolListUnavailableSourcesItemSource = (typeof ToolListUnavailableSourcesItemSource)[keyof typeof ToolListUnavailableSourcesItemSource];
1024
+ export declare const ToolListUnavailableSourcesItemSource: {
1025
+ readonly builtin: "builtin";
1026
+ readonly mcp: "mcp";
1027
+ };
1028
+ export type ToolListUnavailableSourcesItem = {
1029
+ source: ToolListUnavailableSourcesItemSource;
1030
+ mcp_server: string;
1031
+ code: number;
1032
+ reason: string;
1033
+ };
1034
+ export interface ToolList {
1035
+ session_id: string;
1036
+ items: ToolDescriptor[];
1037
+ next_page_token: string;
1038
+ unavailable_sources: ToolListUnavailableSourcesItem[];
1039
+ }
1040
+ /**
1041
+ * A JSON object, at most 256 KiB when encoded
1042
+ */
1043
+ export type CallToolRequestArguments = {
1044
+ [key: string]: unknown;
1045
+ };
1046
+ export interface CallToolRequest {
1047
+ client_instance_id: string;
1048
+ tool: ToolRef;
1049
+ /** A JSON object, at most 256 KiB when encoded */
1050
+ arguments: CallToolRequestArguments;
1051
+ read_only?: boolean;
1052
+ /**
1053
+ * @minimum 1
1054
+ * @maximum 240
1055
+ */
1056
+ timeout_seconds?: number;
1057
+ }
1058
+ /**
1059
+ * Untrusted content extensions such as MCP annotations or _meta, without duplicated body or image data
1060
+ */
1061
+ export type ToolContentMetadata = {
1062
+ [key: string]: unknown;
1063
+ };
1064
+ /**
1065
+ * An unrecognized external content block, preserved as data
1066
+ */
1067
+ export type ToolContentJson = {
1068
+ [key: string]: unknown;
1069
+ };
1070
+ export type ToolImageMimeType = (typeof ToolImageMimeType)[keyof typeof ToolImageMimeType];
1071
+ export declare const ToolImageMimeType: {
1072
+ readonly "image/png": "image/png";
1073
+ readonly "image/jpeg": "image/jpeg";
1074
+ readonly "image/webp": "image/webp";
1075
+ };
1076
+ /**
1077
+ * ScreenshotContext in protobuf JSON with original field names: reference, window_id,
1078
+ * area, windows (including resize_counter and shape_counter), captured_at, revision,
1079
+ * quiet. uint64 values are decimal strings to preserve precision. Images do not change
1080
+ * this original geometry. The opaque reference binds coordinate actions to this capture.
1081
+ */
1082
+ export type ToolImageScreenshot = {
1083
+ [key: string]: unknown;
1084
+ };
1085
+ export interface ToolImage {
1086
+ /** Base64 of Agent's original encoded image bytes, never a URL */
1087
+ data: string;
1088
+ mime_type: ToolImageMimeType;
1089
+ /** @minimum 1 */
1090
+ width: number;
1091
+ /** @minimum 1 */
1092
+ height: number;
1093
+ /**
1094
+ * ScreenshotContext in protobuf JSON with original field names: reference, window_id,
1095
+ * area, windows (including resize_counter and shape_counter), captured_at, revision,
1096
+ * quiet. uint64 values are decimal strings to preserve precision. Images do not change
1097
+ * this original geometry. The opaque reference binds coordinate actions to this capture.
1098
+ */
1099
+ screenshot?: ToolImageScreenshot;
1100
+ }
1101
+ /**
1102
+ * Exactly one of text, image or json is present
1103
+ */
1104
+ export interface ToolContent {
1105
+ /** Untrusted content extensions such as MCP annotations or _meta, without duplicated body or image data */
1106
+ metadata?: ToolContentMetadata;
1107
+ text?: string;
1108
+ image?: ToolImage;
1109
+ /** An unrecognized external content block, preserved as data */
1110
+ json?: ToolContentJson;
1111
+ }
1112
+ export type CallToolResponseStructuredContent = {
1113
+ [key: string]: unknown;
1114
+ };
1115
+ /**
1116
+ * Untrusted result extensions such as MCP _meta, without duplicated content or images
1117
+ */
1118
+ export type CallToolResponseMetadata = {
1119
+ [key: string]: unknown;
1120
+ };
1121
+ export interface CallToolResponse {
1122
+ session_id: string;
1123
+ operation_id: string;
1124
+ content: ToolContent[];
1125
+ structured_content?: CallToolResponseStructuredContent;
1126
+ /** Untrusted result extensions such as MCP _meta, without duplicated content or images */
1127
+ metadata?: CallToolResponseMetadata;
1128
+ is_error: boolean;
1129
+ }
1130
+ /**
1131
+ * ToolActivity in protobuf JSON with original field names. Includes session_id,
1132
+ * participant_id, operation_id, instance_id, sequence, observed_at, phase, action and
1133
+ * optional target (window_id, position x/y, resize_counter, shape_counter). All uint64
1134
+ * values are decimal strings. No input text, key values, arguments or image data.
1135
+ */
1136
+ export type ToolActivityListItemsItem = {
1137
+ [key: string]: unknown;
1138
+ };
1139
+ export interface ToolActivityList {
1140
+ /** @maxItems 64 */
1141
+ items: ToolActivityListItemsItem[];
1142
+ }
978
1143
  /**
979
1144
  * The tool's arguments, as its `input_schema` describes them
980
1145
  */
@@ -1426,6 +1591,34 @@ export type DeleteMcpServerParams = {
1426
1591
  */
1427
1592
  expected_revision?: string;
1428
1593
  };
1594
+ export type ListToolsParams = {
1595
+ client_instance_id: string;
1596
+ source?: ListToolsSource;
1597
+ /**
1598
+ * @maxLength 64
1599
+ */
1600
+ mcp_server?: string;
1601
+ /**
1602
+ * @maxLength 256
1603
+ */
1604
+ query?: string;
1605
+ read_only?: boolean;
1606
+ /**
1607
+ * @minimum 1
1608
+ * @maximum 100
1609
+ */
1610
+ page_size?: number;
1611
+ /**
1612
+ * @maxLength 4096
1613
+ */
1614
+ page_token?: string;
1615
+ };
1616
+ export type ListToolsSource = (typeof ListToolsSource)[keyof typeof ListToolsSource];
1617
+ export declare const ListToolsSource: {
1618
+ readonly all: "all";
1619
+ readonly builtin: "builtin";
1620
+ readonly mcp: "mcp";
1621
+ };
1429
1622
  export type ListMcpToolsParams = {
1430
1623
  /**
1431
1624
  * Only this server's tools
@@ -68,6 +68,19 @@ export const McpServerFailure = {
68
68
  protocol_error: "protocol_error",
69
69
  timeout: "timeout",
70
70
  };
71
+ export const ToolRefSource = {
72
+ builtin: "builtin",
73
+ mcp: "mcp",
74
+ };
75
+ export const ToolListUnavailableSourcesItemSource = {
76
+ builtin: "builtin",
77
+ mcp: "mcp",
78
+ };
79
+ export const ToolImageMimeType = {
80
+ "image/png": "image/png",
81
+ "image/jpeg": "image/jpeg",
82
+ "image/webp": "image/webp",
83
+ };
71
84
  export const PrivilegeAutoApprovalMode = {
72
85
  automatic_review: "automatic_review",
73
86
  always_approve: "always_approve",
@@ -99,3 +112,8 @@ export const CreateParticipantRequestPermissionsItem = {
99
112
  "fleet:privilegeapprove": "fleet:privilege.approve",
100
113
  "fleet:logsread": "fleet:logs.read",
101
114
  };
115
+ export const ListToolsSource = {
116
+ all: "all",
117
+ builtin: "builtin",
118
+ mcp: "mcp",
119
+ };
@@ -83,11 +83,15 @@
83
83
  * and remote ones it connects to;
84
84
  * - `leaflow.fleet.host.v1`: terminal sessions, with programs, files, ports, sound, devices,
85
85
  * printers and privilege approvals;
86
- * - `leaflow.fleet.virtualdesktop.host.v1`: sessions with a desktop.
86
+ * - `leaflow.fleet.virtualdesktop.host.v1`: sessions with a graphical backend;
87
+ * - `leaflow.fleet.tool.v1`: live session tools. Builtin `computer.*` tools are exposed only while
88
+ * the virtual desktop capability is actually available; MCP is a separate source.
87
89
  *
88
- * A machine installed without a desktop does not offer `leaflow.fleet.virtualdesktop.host.v1`. A
89
- * request that needs a feature the machine does not report available fails with
90
- * `FEATURE_UNAVAILABLE`, whose `metadata.feature` names the feature.
90
+ * A graphical backend does not require a full desktop environment. Terminal logins, commands
91
+ * and MCP server initialization prepare or reuse the account's lightweight graphical context,
92
+ * in addition to their own session or job. Configuration reads and writes do not initialize a
93
+ * server and do not require this preparation. A request that needs a feature the machine does
94
+ * not report available fails with `FEATURE_UNAVAILABLE`, whose `metadata.feature` names it.
91
95
  *
92
96
  * ## Directory
93
97
  *
@@ -307,19 +311,23 @@ export declare const ListMachineEventsQueryParams: zod.ZodObject<{
307
311
  * redirection and `&&` work; there is no terminal and no standard input. The machine admits
308
312
  * the account through PAM as for a login. The account is created if the caller has none yet.
309
313
  * A command that fails is still a successful request: its exit status is its result.
314
+ * Before starting it, Fleet prepares or reuses the account's ready lightweight graphical
315
+ * session, without starting a full desktop environment. The command has its own job scope;
316
+ * its timeout or exit must not close the account's graphical context.
310
317
  *
311
318
  * Inside the command, `sudo` works without a prompt while the caller has
312
319
  * `fleet:machines.admin` on the machine, and refuses otherwise.
313
320
  *
314
- * The request is held until the command ends, at most `timeout_seconds` and a few seconds
315
- * more. Neither the command nor its output is hidden from the platform: do not put secrets
321
+ * After graphical context preparation, the request is held until the command ends, at most
322
+ * `timeout_seconds` and a few seconds more. Neither the command nor its output is hidden from the platform: do not put secrets
316
323
  * into either.
317
324
  *
318
325
  * Requires `fleet:machines.login` on the machine.
319
326
  *
320
327
  * Fails with:
321
328
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
322
- * - `FEATURE_UNAVAILABLE` when the machine does not offer `leaflow.fleet.command.v1`;
329
+ * - `FEATURE_UNAVAILABLE` when the command, session or graphical backend is unavailable;
330
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when the account context is not ready or closing;
323
331
  * - `USER_NOT_FOUND`, `USER_NOT_ALLOWED`, `ACCOUNT_EXPIRED` or `PAM_PERMISSION_DENIED` when
324
332
  * the machine refuses the account, as for opening a session;
325
333
  * - `COMMAND_START_FAILED` when the shell could not start; nothing ran;
@@ -435,11 +443,95 @@ export declare const deleteMcpServerQueryExpectedRevisionMax = 64;
435
443
  export declare const DeleteMcpServerQueryParams: zod.ZodObject<{
436
444
  expected_revision: zod.ZodOptional<zod.ZodString>;
437
445
  }, zod.z.core.$strict>;
446
+ /**
447
+ * Queries Agent's builtin tools and the caller's configured MCP servers live. No directory,
448
+ * result or image is cached. Requires fleet:machines.login; builtin capabilities retain
449
+ * their native policies and read-only restrictions. Ensures or reuses the caller's single
450
+ * open graphical session, without launching a desktop environment. The client instance is
451
+ * a UUID generated once per running client, not an authorization credential. Each request
452
+ * checks current IAM permissions and signs a short-lived control-only authorization.
453
+ * Tool arguments, results and images traverse Fleet with hop-by-hop TLS and are visible to
454
+ * Fleet. Existing desktop streaming remains end-to-end encrypted. TOOL_LIST_CHANGED means
455
+ * restart listing from the first page, never replay a CallTool. At most 100 tools per page.
456
+ * @summary List live tools available to the caller on a machine
457
+ */
458
+ export declare const ListToolsParams: zod.ZodObject<{
459
+ machineId: zod.ZodUUID;
460
+ }, zod.z.core.$strict>;
461
+ export declare const listToolsQuerySourceDefault = "all";
462
+ export declare const listToolsQueryMcpServerMax = 64;
463
+ export declare const listToolsQueryQueryMax = 256;
464
+ export declare const listToolsQueryReadOnlyDefault = false;
465
+ export declare const listToolsQueryPageSizeDefault = 100;
466
+ export declare const listToolsQueryPageSizeMax = 100;
467
+ export declare const listToolsQueryPageTokenMax = 4096;
468
+ export declare const ListToolsQueryParams: zod.ZodObject<{
469
+ client_instance_id: zod.ZodUUID;
470
+ source: zod.ZodDefault<zod.ZodEnum<{
471
+ builtin: "builtin";
472
+ all: "all";
473
+ mcp: "mcp";
474
+ }>>;
475
+ mcp_server: zod.ZodOptional<zod.ZodString>;
476
+ query: zod.ZodOptional<zod.ZodString>;
477
+ read_only: zod.ZodDefault<zod.ZodBoolean>;
478
+ page_size: zod.ZodDefault<zod.ZodInt>;
479
+ page_token: zod.ZodOptional<zod.ZodString>;
480
+ }, zod.z.core.$strict>;
481
+ /**
482
+ * Uses the same current permissions, directory account and graphical session as listTools.
483
+ * Listing is not a precondition: callers may use a previously discovered ToolRef, and this
484
+ * operation never sends a discovery request or refreshes schemas before executing it.
485
+ * A removed tool or MCP server returns TOOL_NOT_FOUND, as does a direct builtin computer.*
486
+ * call while virtual desktop capability is unavailable. Actual permission errors remain
487
+ * permission errors; a missing target window is not a missing tool. Use listTools only when
488
+ * discovery or refresh is needed, and do not cache or reuse execution results.
489
+ * Source is explicit: MCP names never select or impersonate builtin tools. The arguments
490
+ * object is at most 256 KiB. The complete result is at most 8 MiB in the protobuf transport,
491
+ * with each encoded image at most 4 MiB; images are converted to base64 once at this JSON
492
+ * boundary, without recompression or persistence. Cancellation is propagated. A timeout,
493
+ * disconnect or failed response does not prove that side effects did not happen; do not
494
+ * automatically replay. operation_id only correlates live activity, not idempotency.
495
+ * @summary Call a live builtin or external MCP tool
496
+ */
497
+ export declare const CallToolParams: zod.ZodObject<{
498
+ machineId: zod.ZodUUID;
499
+ }, zod.z.core.$strict>;
500
+ export declare const CallToolBody: zod.ZodObject<{
501
+ client_instance_id: zod.ZodUUID;
502
+ tool: zod.ZodObject<{
503
+ source: zod.ZodEnum<{
504
+ builtin: "builtin";
505
+ mcp: "mcp";
506
+ }>;
507
+ name: zod.ZodString;
508
+ server: zod.ZodOptional<zod.ZodString>;
509
+ }, zod.z.core.$strict>;
510
+ arguments: zod.ZodRecord<zod.ZodString, zod.ZodUnknown>;
511
+ read_only: zod.ZodDefault<zod.ZodBoolean>;
512
+ timeout_seconds: zod.ZodDefault<zod.ZodInt>;
513
+ }, zod.z.core.$strict>;
514
+ /**
515
+ * Checks current session viewing permission for each request and again before returning
516
+ * events. Subscribes only while this request is pending, returning on the first batch or
517
+ * after at most 20 idle seconds. At most 64 events, no offline queue, event database, cursor
518
+ * history or replay guarantee. Missing events never mean repeat an action. Coordinates
519
+ * are window-client-local (window_id=0 means canvas), not CSS or image pixels. The frontend
520
+ * applies its own zoom and DPI. Compare sequence only within the same instance_id.
521
+ * @summary Receive live tool activity for an authorized session
522
+ */
523
+ export declare const pollToolActivitiesPathSessionIdMax = 40;
524
+ export declare const pollToolActivitiesPathSessionIdRegExp: RegExp;
525
+ export declare const PollToolActivitiesParams: zod.ZodObject<{
526
+ sessionId: zod.ZodString;
527
+ }, zod.z.core.$strict>;
438
528
  /**
439
529
  * Sends one JSON-RPC request of MCP to one of the caller's servers on the machine, such as
440
530
  * `tools/call`, `resources/read` or `prompts/get`, and returns the server's response. The
441
531
  * machine starts or connects to the server if it is not running, and handles its
442
- * initialization itself; a request still running when `timeout_seconds` passes is cancelled
532
+ * initialization itself. Before any such request, Fleet prepares or reuses the caller's
533
+ * ready lightweight account graphical session, including for resources and prompts; no full
534
+ * desktop environment is needed. A request still running when `timeout_seconds` passes is cancelled
443
535
  * at the server. Requests the server makes of the client are answered as by a client that
444
536
  * offers no sampling, elicitation or roots, and its notifications, such as of progress, are
445
537
  * dropped. A response with a JSON-RPC error is a successful request. Neither the request nor
@@ -453,7 +545,8 @@ export declare const DeleteMcpServerQueryParams: zod.ZodObject<{
453
545
  * is one of initialization;
454
546
  * - `RESULT_TOO_LARGE` when the response is larger than 8 MiB;
455
547
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
456
- * - `FEATURE_UNAVAILABLE` when the machine does not offer `leaflow.fleet.mcp.v1`;
548
+ * - `FEATURE_UNAVAILABLE` when the MCP, session or graphical backend is unavailable;
549
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when the account context is not ready or closing;
457
550
  * - `USER_NOT_FOUND`, `USER_NOT_ALLOWED`, `ACCOUNT_EXPIRED` or `PAM_PERMISSION_DENIED` when
458
551
  * the machine refuses the account, as for opening a session;
459
552
  * - `MCP_START_FAILED` when the machine could not start MCP for the caller's account;
@@ -479,6 +572,7 @@ export declare const SendMcpRequestBody: zod.ZodObject<{
479
572
  * Fails as sending a request does, and with `MCP_REQUEST_FAILED` when the server answers
480
573
  * with a JSON-RPC error, such as for a tool it does not offer or arguments it does not
481
574
  * accept, with the error's `metadata.code` and `metadata.message`.
575
+ * @deprecated
482
576
  * @summary Call an MCP tool
483
577
  */
484
578
  export declare const callMcpToolPathServerNameRegExp: RegExp;
@@ -509,6 +603,7 @@ export declare const CallMcpToolBody: zod.ZodObject<{
509
603
  * the machine refuses the account, as for opening a session;
510
604
  * - `MCP_START_FAILED` when the machine could not start MCP for the caller's account;
511
605
  * - `MACHINE_TIMEOUT` when the machine did not answer in time.
606
+ * @deprecated
512
607
  * @summary List the caller's MCP tools on a machine
513
608
  */
514
609
  export declare const ListMcpToolsParams: zod.ZodObject<{
@@ -863,12 +958,19 @@ export declare const ListSessionsQueryParams: zod.ZodObject<{
863
958
  }, zod.z.core.$strict>;
864
959
  /**
865
960
  * Opens a session for the caller on a machine, as the caller's account, and returns once it
866
- * is ready. With `desktop` the session has a desktop. Without, it is a terminal session: its
961
+ * is ready. With `desktop` the session has a desktop. Without, Fleet first prepares or reuses
962
+ * the account's separate ready lightweight graphical session, then creates a terminal session
963
+ * with its own SID and lifetime; closing that terminal does not close the account context. Its
867
964
  * one terminal runs the caller's login shell from the start, every participant attaches to
868
965
  * that terminal, and the session ends when the shell exits; a caller who wants another
869
966
  * terminal opens another session. Either kind also offers programs, files, ports, sound,
870
967
  * devices, printers and privilege approvals. The account is created if the caller has none
871
968
  * yet. Requires `fleet:machines.login` on the machine.
969
+ * All newly created graphical account sessions, including desktop-first FullDesktop and
970
+ * Seamless sessions, keep running when no viewer has joined or the last viewer disconnects.
971
+ * Configured maximum lifetime, resource limits and explicit close/terminate still apply.
972
+ * This create API has no client-selected idle policy; existing running policies are not
973
+ * silently rewritten when tools, commands or terminals reuse the account context.
872
974
  *
873
975
  * On a machine an account has at most one session with a desktop and at most 8 sessions in
874
976
  * all. Sessions without a desktop run side by side, such as one for a program and one for a
@@ -876,8 +978,8 @@ export declare const ListSessionsQueryParams: zod.ZodObject<{
876
978
  *
877
979
  * Fails with:
878
980
  * - `MACHINE_OFFLINE` when the machine is not connected and does not connect again in time;
879
- * - `FEATURE_UNAVAILABLE` when the machine does not offer sessions, or with `desktop`,
880
- * desktops;
981
+ * - `FEATURE_UNAVAILABLE` when the machine does not offer sessions or the graphical backend;
982
+ * - `SESSION_UNAVAILABLE` or `SESSION_CLOSED` when its shared account context is not ready or closing;
881
983
  * - `USER_HAS_DESKTOP_SESSION` with `desktop` when the account already has a session with a
882
984
  * desktop on the machine, which `metadata.sessionId` names; connect to it instead;
883
985
  * - `SESSION_LIMIT_REACHED` when the account already has 8 open sessions on the machine;