lemma-sdk 0.2.43 → 0.2.45

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 (502) hide show
  1. package/README.md +2 -5
  2. package/dist/assistant-events.d.ts +2 -0
  3. package/dist/assistant-events.js +50 -3
  4. package/dist/browser/lemma-client.js +1333 -435
  5. package/dist/client.d.ts +8 -0
  6. package/dist/client.js +13 -1
  7. package/dist/config.d.ts +2 -2
  8. package/dist/config.js +2 -2
  9. package/dist/hey_client/client/client.gen.d.ts +2 -0
  10. package/dist/hey_client/client/client.gen.js +216 -0
  11. package/dist/hey_client/client/index.d.ts +10 -0
  12. package/dist/hey_client/client/index.js +6 -0
  13. package/dist/hey_client/client/types.gen.d.ts +120 -0
  14. package/dist/hey_client/client/types.gen.js +2 -0
  15. package/dist/hey_client/client/utils.gen.d.ts +37 -0
  16. package/dist/hey_client/client/utils.gen.js +228 -0
  17. package/dist/hey_client/client.gen.d.ts +12 -0
  18. package/dist/hey_client/client.gen.js +3 -0
  19. package/dist/hey_client/core/auth.gen.d.ts +25 -0
  20. package/dist/hey_client/core/auth.gen.js +14 -0
  21. package/dist/hey_client/core/bodySerializer.gen.d.ts +25 -0
  22. package/dist/hey_client/core/bodySerializer.gen.js +57 -0
  23. package/dist/hey_client/core/params.gen.d.ts +43 -0
  24. package/dist/hey_client/core/params.gen.js +100 -0
  25. package/dist/hey_client/core/pathSerializer.gen.d.ts +33 -0
  26. package/dist/hey_client/core/pathSerializer.gen.js +106 -0
  27. package/dist/hey_client/core/queryKeySerializer.gen.d.ts +18 -0
  28. package/dist/hey_client/core/queryKeySerializer.gen.js +92 -0
  29. package/dist/hey_client/core/serverSentEvents.gen.d.ts +71 -0
  30. package/dist/hey_client/core/serverSentEvents.gen.js +132 -0
  31. package/dist/hey_client/core/types.gen.d.ts +83 -0
  32. package/dist/hey_client/core/types.gen.js +2 -0
  33. package/dist/hey_client/core/utils.gen.d.ts +19 -0
  34. package/dist/hey_client/core/utils.gen.js +87 -0
  35. package/dist/hey_client/index.d.ts +2 -0
  36. package/dist/hey_client/index.js +2 -0
  37. package/dist/hey_client/sdk.gen.d.ts +1005 -0
  38. package/dist/hey_client/sdk.gen.js +1438 -0
  39. package/dist/hey_client/types.gen.d.ts +13004 -0
  40. package/dist/hey_client/types.gen.js +2 -0
  41. package/dist/index.d.ts +4 -0
  42. package/dist/namespaces/agent-runtime.d.ts +28 -0
  43. package/dist/namespaces/agent-runtime.js +34 -0
  44. package/dist/namespaces/agents.d.ts +8 -3
  45. package/dist/namespaces/agents.js +4 -0
  46. package/dist/namespaces/conversations.d.ts +35 -7
  47. package/dist/namespaces/conversations.js +103 -22
  48. package/dist/namespaces/desks.d.ts +3 -3
  49. package/dist/namespaces/files.d.ts +17 -28
  50. package/dist/namespaces/files.js +10 -11
  51. package/dist/namespaces/functions.d.ts +8 -3
  52. package/dist/namespaces/functions.js +4 -0
  53. package/dist/namespaces/integrations.d.ts +54 -12
  54. package/dist/namespaces/integrations.js +52 -16
  55. package/dist/namespaces/pod-members.d.ts +1 -0
  56. package/dist/namespaces/pod-members.js +4 -1
  57. package/dist/namespaces/pod-permissions.d.ts +14 -0
  58. package/dist/namespaces/pod-permissions.js +18 -0
  59. package/dist/namespaces/pod-roles.d.ts +16 -0
  60. package/dist/namespaces/pod-roles.js +25 -0
  61. package/dist/namespaces/pod-surfaces.d.ts +8 -3
  62. package/dist/namespaces/pod-surfaces.js +15 -6
  63. package/dist/namespaces/pods.d.ts +2 -3
  64. package/dist/namespaces/pods.js +1 -6
  65. package/dist/namespaces/records.d.ts +7 -7
  66. package/dist/namespaces/resource-access.d.ts +11 -0
  67. package/dist/namespaces/resource-access.js +18 -0
  68. package/dist/namespaces/schedules.d.ts +4 -3
  69. package/dist/namespaces/schedules.js +1 -1
  70. package/dist/namespaces/tables.d.ts +6 -6
  71. package/dist/namespaces/workflows.d.ts +16 -12
  72. package/dist/namespaces/workflows.js +9 -18
  73. package/dist/openapi_client/index.d.ts +90 -61
  74. package/dist/openapi_client/index.js +17 -12
  75. package/dist/openapi_client/models/AccountCreateSchema.d.ts +18 -0
  76. package/dist/openapi_client/models/AccountResponseSchema.d.ts +3 -0
  77. package/dist/openapi_client/models/AgentActionResponse.d.ts +20 -0
  78. package/dist/openapi_client/models/AgentDetailResponse.d.ts +22 -0
  79. package/dist/openapi_client/models/AgentHarnessInfo.d.ts +11 -0
  80. package/dist/openapi_client/models/AgentHarnessListResponse.d.ts +4 -0
  81. package/dist/openapi_client/models/AgentListResponse.d.ts +2 -2
  82. package/dist/openapi_client/models/AgentNode.d.ts +1 -1
  83. package/dist/openapi_client/models/AgentNodeConfig.d.ts +1 -1
  84. package/dist/openapi_client/models/AgentPermissionsReplaceRequest.d.ts +4 -0
  85. package/dist/openapi_client/models/AgentPermissionsResponse.d.ts +6 -0
  86. package/dist/openapi_client/models/AgentResourcePermissionRequest.d.ts +6 -0
  87. package/dist/openapi_client/models/AgentResourcePermissionResponse.d.ts +6 -0
  88. package/dist/openapi_client/models/AgentRunApprovalDecision.d.ts +8 -0
  89. package/dist/openapi_client/models/AgentRunApprovalDecision.js +13 -0
  90. package/dist/openapi_client/models/AgentRuntimeConfig.d.ts +7 -0
  91. package/dist/openapi_client/models/AgentRuntimeProfileListResponse.d.ts +6 -0
  92. package/dist/openapi_client/models/AgentRuntimeProfileResponse.d.ts +28 -0
  93. package/dist/openapi_client/models/AgentSurfaceResponse.d.ts +8 -12
  94. package/dist/openapi_client/models/AgentSurfaceStatus.d.ts +3 -1
  95. package/dist/openapi_client/models/AgentSurfaceStatus.js +2 -0
  96. package/dist/openapi_client/models/ApplicationDetailResponseSchema.d.ts +3 -3
  97. package/dist/openapi_client/models/ApplicationResponseSchema.d.ts +3 -3
  98. package/dist/openapi_client/models/ApplicationSkillResponse.d.ts +6 -0
  99. package/dist/openapi_client/models/AuthConfigCreateSchema.d.ts +7 -0
  100. package/dist/openapi_client/models/AuthConfigListResponseSchema.d.ts +6 -0
  101. package/dist/openapi_client/models/AuthConfigResponseSchema.d.ts +13 -0
  102. package/dist/openapi_client/models/AuthScheme.d.ts +5 -0
  103. package/dist/openapi_client/models/AuthScheme.js +10 -0
  104. package/dist/openapi_client/models/ComposioProviderCapabilityResponseSchema.d.ts +9 -0
  105. package/dist/openapi_client/models/ConnectRequestInitiateSchema.d.ts +5 -1
  106. package/dist/openapi_client/models/ConnectRequestResponseSchema.d.ts +2 -0
  107. package/dist/openapi_client/models/ConnectedAccountSummary.d.ts +7 -0
  108. package/dist/openapi_client/models/ConversationResponse.d.ts +2 -2
  109. package/dist/openapi_client/models/ConvertedArtifactResponse.d.ts +1 -0
  110. package/dist/openapi_client/models/ConvertedFileResponse.d.ts +4 -0
  111. package/dist/openapi_client/models/ConvertedPageResponse.d.ts +8 -0
  112. package/dist/openapi_client/models/CreateAgentRequest.d.ts +4 -12
  113. package/dist/openapi_client/models/CreateAnthropicCompatibleRuntimeProfileRequest.d.ts +11 -0
  114. package/dist/openapi_client/models/CreateConversationRequest.d.ts +2 -2
  115. package/dist/openapi_client/models/CreateDeskRequest.d.ts +1 -1
  116. package/dist/openapi_client/models/CreateFolderRequest.d.ts +1 -1
  117. package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -7
  118. package/dist/openapi_client/models/CreateOpenAICompatibleRuntimeProfileRequest.d.ts +11 -0
  119. package/dist/openapi_client/models/CreateScheduleRequest.d.ts +17 -1
  120. package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +6 -15
  121. package/dist/openapi_client/models/CreateTableRequest.d.ts +1 -1
  122. package/dist/openapi_client/models/CreateUserDaemonRuntimeProfileRequest.d.ts +11 -0
  123. package/dist/openapi_client/models/DataStoreFlowStartInput.d.ts +1 -1
  124. package/dist/openapi_client/models/DataStoreFlowStartOutput.d.ts +1 -1
  125. package/dist/openapi_client/models/DatastoreCountResponse.d.ts +6 -0
  126. package/dist/openapi_client/models/DatastoreFileUploadRequest.d.ts +1 -1
  127. package/dist/openapi_client/models/DecisionNode.d.ts +2 -1
  128. package/dist/openapi_client/models/DecisionRule.d.ts +3 -0
  129. package/dist/openapi_client/models/DeskBundleUploadResponse.d.ts +2 -2
  130. package/dist/openapi_client/models/{DeskResponse.d.ts → DeskDetailResponse.d.ts} +2 -2
  131. package/dist/openapi_client/models/DeskListResponse.d.ts +2 -2
  132. package/dist/openapi_client/models/EndNode.d.ts +1 -1
  133. package/dist/openapi_client/models/EventFlowStartInput.d.ts +0 -8
  134. package/dist/openapi_client/models/EventFlowStartOutput.d.ts +0 -8
  135. package/dist/openapi_client/models/ExpressionInputBinding.d.ts +6 -2
  136. package/dist/openapi_client/models/{FileResponse.d.ts → FileDetailResponse.d.ts} +2 -2
  137. package/dist/openapi_client/models/FileListResponse.d.ts +3 -2
  138. package/dist/openapi_client/models/FileSearchResponse.d.ts +2 -2
  139. package/dist/openapi_client/models/{FlowResponse.d.ts → FlowDetailResponse.d.ts} +2 -2
  140. package/dist/openapi_client/models/FlowRunStatus.d.ts +4 -1
  141. package/dist/openapi_client/models/FlowRunStatus.js +4 -1
  142. package/dist/openapi_client/models/FormNode.d.ts +2 -1
  143. package/dist/openapi_client/models/FormNodeConfig.d.ts +1 -1
  144. package/dist/openapi_client/models/{FunctionResponse.d.ts → FunctionActionResponse.d.ts} +3 -10
  145. package/dist/openapi_client/models/FunctionDetailResponse.d.ts +34 -0
  146. package/dist/openapi_client/models/FunctionListResponse.d.ts +2 -2
  147. package/dist/openapi_client/models/FunctionNode.d.ts +2 -1
  148. package/dist/openapi_client/models/FunctionPermissionsReplaceRequest.d.ts +4 -0
  149. package/dist/openapi_client/models/FunctionPermissionsResponse.d.ts +6 -0
  150. package/dist/openapi_client/models/FunctionResourcePermissionRequest.d.ts +6 -0
  151. package/dist/openapi_client/models/FunctionResourcePermissionResponse.d.ts +6 -0
  152. package/dist/openapi_client/models/FunctionRunListResponse.d.ts +2 -2
  153. package/dist/openapi_client/models/FunctionRunSummaryResponse.d.ts +13 -0
  154. package/dist/openapi_client/models/HarnessKind.d.ts +4 -2
  155. package/dist/openapi_client/models/HarnessKind.js +4 -2
  156. package/dist/openapi_client/models/InstalledAppSummary.d.ts +7 -0
  157. package/dist/openapi_client/models/IntegrationStatusResponse.d.ts +6 -0
  158. package/dist/openapi_client/models/LemmaProviderCapabilityResponseSchema.d.ts +12 -0
  159. package/dist/openapi_client/models/LoopNode.d.ts +2 -1
  160. package/dist/openapi_client/models/LoopNodeConfig.d.ts +3 -3
  161. package/dist/openapi_client/models/OAuth2DefaultsResponseSchema.d.ts +10 -0
  162. package/dist/openapi_client/models/OperationSummary.d.ts +4 -0
  163. package/dist/openapi_client/models/PodConfig.d.ts +6 -0
  164. package/dist/openapi_client/models/PodCreateRequest.d.ts +2 -0
  165. package/dist/openapi_client/models/PodEffectivePermissionsResponse.d.ts +4 -0
  166. package/dist/openapi_client/models/PodMemberAddRequest.d.ts +1 -3
  167. package/dist/openapi_client/models/PodMemberDetailResponse.d.ts +0 -2
  168. package/dist/openapi_client/models/PodMemberResponse.d.ts +0 -2
  169. package/dist/openapi_client/models/PodMemberUpdateRoleRequest.d.ts +1 -3
  170. package/dist/openapi_client/models/PodPermissionCatalogResponse.d.ts +4 -0
  171. package/dist/openapi_client/models/PodPermissionResponse.d.ts +7 -0
  172. package/dist/openapi_client/models/PodResponse.d.ts +2 -0
  173. package/dist/openapi_client/models/PodRoleCreateRequest.d.ts +2 -0
  174. package/dist/openapi_client/models/PodRolePermissionsReplaceRequest.d.ts +4 -0
  175. package/dist/openapi_client/models/PodRolePermissionsResponse.d.ts +6 -0
  176. package/dist/openapi_client/models/PodRoleResourcePermissionRequest.d.ts +6 -0
  177. package/dist/openapi_client/models/PodRoleResourcePermissionResponse.d.ts +6 -0
  178. package/dist/openapi_client/models/PodRoleResponse.d.ts +3 -0
  179. package/dist/openapi_client/models/PodUpdateRequest.d.ts +2 -0
  180. package/dist/openapi_client/models/ResolveUserApprovalRequest.d.ts +5 -0
  181. package/dist/openapi_client/models/ResourceAccessGrantRequest.d.ts +3 -0
  182. package/dist/openapi_client/models/ResourceAccessGrantResponse.d.ts +12 -0
  183. package/dist/openapi_client/models/ResourceAccessResponse.d.ts +7 -0
  184. package/dist/openapi_client/models/ResourceType.d.ts +19 -0
  185. package/dist/openapi_client/models/ResourceType.js +24 -0
  186. package/dist/openapi_client/models/ResourceVisibility.d.ts +6 -0
  187. package/dist/openapi_client/models/ResourceVisibility.js +11 -0
  188. package/dist/openapi_client/models/RuntimeModelCapability.d.ts +8 -0
  189. package/dist/openapi_client/models/RuntimeModelCapability.js +13 -0
  190. package/dist/openapi_client/models/RuntimeModelCatalogEntry.d.ts +9 -0
  191. package/dist/openapi_client/models/RuntimeModelCatalogEntry.js +1 -0
  192. package/dist/openapi_client/models/RuntimeProfileKind.d.ts +4 -0
  193. package/dist/openapi_client/models/RuntimeProfileKind.js +9 -0
  194. package/dist/openapi_client/models/RuntimeProfileProtocol.d.ts +9 -0
  195. package/dist/openapi_client/models/RuntimeProfileProtocol.js +14 -0
  196. package/dist/openapi_client/models/RuntimeProfileScope.d.ts +5 -0
  197. package/dist/openapi_client/models/RuntimeProfileScope.js +10 -0
  198. package/dist/openapi_client/models/RuntimeProfileStatus.d.ts +5 -0
  199. package/dist/openapi_client/models/RuntimeProfileStatus.js +10 -0
  200. package/dist/openapi_client/models/{ScheduleResponse.d.ts → ScheduleDetailResponse.d.ts} +9 -3
  201. package/dist/openapi_client/models/ScheduleDetailResponse.js +1 -0
  202. package/dist/openapi_client/models/ScheduleFireStatus.d.ts +8 -0
  203. package/dist/openapi_client/models/ScheduleFireStatus.js +13 -0
  204. package/dist/openapi_client/models/ScheduleListResponse.d.ts +2 -2
  205. package/dist/openapi_client/models/StepRecordResponse.d.ts +10 -0
  206. package/dist/openapi_client/models/StepRecordResponse.js +1 -0
  207. package/dist/openapi_client/models/StepStatus.d.ts +7 -0
  208. package/dist/openapi_client/models/StepStatus.js +12 -0
  209. package/dist/openapi_client/models/SurfaceBehaviorConfigInput.d.ts +7 -0
  210. package/dist/openapi_client/models/SurfaceBehaviorConfigInput.js +1 -0
  211. package/dist/openapi_client/models/SurfaceChannelRouteInput.d.ts +6 -0
  212. package/dist/openapi_client/models/SurfaceChannelRouteInput.js +1 -0
  213. package/dist/openapi_client/models/SurfaceChannelRouteResponse.d.ts +6 -0
  214. package/dist/openapi_client/models/SurfaceChannelRouteResponse.js +1 -0
  215. package/dist/openapi_client/models/SurfaceConfigResponse.d.ts +10 -0
  216. package/dist/openapi_client/models/SurfaceConfigResponse.js +1 -0
  217. package/dist/openapi_client/models/SurfaceCredentialMode.d.ts +2 -2
  218. package/dist/openapi_client/models/SurfaceCredentialMode.js +2 -2
  219. package/dist/openapi_client/models/SurfaceIdentityConfigInput.d.ts +4 -0
  220. package/dist/openapi_client/models/SurfaceIdentityConfigInput.js +1 -0
  221. package/dist/openapi_client/models/SurfaceIdentityConfigResponse.d.ts +4 -0
  222. package/dist/openapi_client/models/SurfaceIdentityConfigResponse.js +1 -0
  223. package/dist/openapi_client/models/SurfaceSetupMode.d.ts +2 -3
  224. package/dist/openapi_client/models/SurfaceSetupMode.js +1 -2
  225. package/dist/openapi_client/models/SurfaceSetupStatusResponse.d.ts +10 -0
  226. package/dist/openapi_client/models/SurfaceSetupStatusResponse.js +1 -0
  227. package/dist/openapi_client/models/{TableResponse.d.ts → TableDetailResponse.d.ts} +3 -3
  228. package/dist/openapi_client/models/TableDetailResponse.js +1 -0
  229. package/dist/openapi_client/models/TableListResponse.d.ts +4 -2
  230. package/dist/openapi_client/models/ToggleSurfaceRequest.d.ts +1 -1
  231. package/dist/openapi_client/models/UpdateAgentRequest.d.ts +4 -12
  232. package/dist/openapi_client/models/UpdateConversationRequest.d.ts +2 -2
  233. package/dist/openapi_client/models/UpdateDeskRequest.d.ts +0 -1
  234. package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -6
  235. package/dist/openapi_client/models/UpdateScheduleRequest.d.ts +2 -1
  236. package/dist/openapi_client/models/UpdateSurfaceChannelsRequest.d.ts +4 -0
  237. package/dist/openapi_client/models/UpdateSurfaceChannelsRequest.js +1 -0
  238. package/dist/openapi_client/models/UpdateSurfaceRequest.d.ts +5 -15
  239. package/dist/openapi_client/models/UpdateTableRequest.d.ts +1 -1
  240. package/dist/openapi_client/models/UpsertSurfaceRequest.d.ts +9 -0
  241. package/dist/openapi_client/models/UpsertSurfaceRequest.js +1 -0
  242. package/dist/openapi_client/models/UsageLimitScopeResponse.d.ts +2 -3
  243. package/dist/openapi_client/models/UsageLimitsResponse.d.ts +1 -4
  244. package/dist/openapi_client/models/UsageListResponse.d.ts +0 -3
  245. package/dist/openapi_client/models/UsageRecordResponse.d.ts +10 -14
  246. package/dist/openapi_client/models/UsageStatsBucketResponse.d.ts +1 -4
  247. package/dist/openapi_client/models/UsageStatsResponse.d.ts +0 -3
  248. package/dist/openapi_client/models/UsageSummaryResponse.d.ts +4 -6
  249. package/dist/openapi_client/models/UserApprovalListResponse.d.ts +4 -0
  250. package/dist/openapi_client/models/UserApprovalListResponse.js +1 -0
  251. package/dist/openapi_client/models/UserProfileRequest.d.ts +1 -0
  252. package/dist/openapi_client/models/UserResponse.d.ts +1 -0
  253. package/dist/openapi_client/models/VerifyTokenResponse.d.ts +5 -0
  254. package/dist/openapi_client/models/WaitUntilNode.d.ts +1 -1
  255. package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +18 -1
  256. package/dist/openapi_client/models/WorkflowListResponse.d.ts +2 -2
  257. package/dist/openapi_client/models/WorkflowRunFormSubmitRequest.d.ts +13 -0
  258. package/dist/openapi_client/models/WorkflowRunFormSubmitRequest.js +1 -0
  259. package/dist/openapi_client/models/WorkflowRunListResponse.d.ts +2 -2
  260. package/dist/openapi_client/models/WorkflowRunResponse.d.ts +28 -0
  261. package/dist/openapi_client/models/WorkflowRunResponse.js +1 -0
  262. package/dist/openapi_client/models/WorkflowRunSummaryResponse.d.ts +17 -0
  263. package/dist/openapi_client/models/WorkflowRunSummaryResponse.js +1 -0
  264. package/dist/openapi_client/models/WorkflowRunWaitAssignment.d.ts +4 -4
  265. package/dist/openapi_client/models/{WorkflowRunWaitEntity.d.ts → WorkflowRunWaitResponse.d.ts} +4 -8
  266. package/dist/openapi_client/models/WorkflowRunWaitResponse.js +1 -0
  267. package/dist/openapi_client/models/WorkflowRunWaitType.d.ts +1 -2
  268. package/dist/openapi_client/models/WorkflowRunWaitType.js +0 -1
  269. package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +2 -1
  270. package/dist/openapi_client/models/WorkspaceAppAccessRequest.d.ts +3 -0
  271. package/dist/openapi_client/models/WorkspaceAppAccessRequest.js +1 -0
  272. package/dist/openapi_client/models/WorkspaceAppAccessResponse.d.ts +5 -0
  273. package/dist/openapi_client/models/WorkspaceAppAccessResponse.js +1 -0
  274. package/dist/openapi_client/models/WorkspaceMeApp.d.ts +5 -0
  275. package/dist/openapi_client/models/WorkspaceMeApp.js +1 -0
  276. package/dist/openapi_client/models/WorkspaceMeResponse.d.ts +9 -0
  277. package/dist/openapi_client/models/WorkspaceMeResponse.js +1 -0
  278. package/dist/openapi_client/models/WorkspaceMeSandbox.d.ts +7 -0
  279. package/dist/openapi_client/models/WorkspaceMeSandbox.js +1 -0
  280. package/dist/openapi_client/models/WorkspaceMeSession.d.ts +6 -0
  281. package/dist/openapi_client/models/WorkspaceMeSession.js +1 -0
  282. package/dist/openapi_client/models/update.d.ts +1 -1
  283. package/dist/openapi_client/services/AgentConversationsService.d.ts +28 -3
  284. package/dist/openapi_client/services/AgentConversationsService.js +54 -3
  285. package/dist/openapi_client/services/AgentRuntimeService.d.ts +30 -0
  286. package/dist/openapi_client/services/AgentRuntimeService.js +54 -0
  287. package/dist/openapi_client/services/AgentSurfacesIngressService.d.ts +15 -20
  288. package/dist/openapi_client/services/AgentSurfacesIngressService.js +23 -28
  289. package/dist/openapi_client/services/AgentSurfacesService.d.ts +41 -12
  290. package/dist/openapi_client/services/AgentSurfacesService.js +90 -24
  291. package/dist/openapi_client/services/AgentToolsService.d.ts +0 -10
  292. package/dist/openapi_client/services/AgentToolsService.js +0 -18
  293. package/dist/openapi_client/services/AgentsService.d.ts +31 -9
  294. package/dist/openapi_client/services/AgentsService.js +50 -5
  295. package/dist/openapi_client/services/ApplicationsService.d.ts +22 -8
  296. package/dist/openapi_client/services/ApplicationsService.js +47 -16
  297. package/dist/openapi_client/services/DesksService.d.ts +7 -7
  298. package/dist/openapi_client/services/DesksService.js +3 -3
  299. package/dist/openapi_client/services/FilesService.d.ts +20 -12
  300. package/dist/openapi_client/services/FilesService.js +29 -5
  301. package/dist/openapi_client/services/FunctionsService.d.ts +30 -8
  302. package/dist/openapi_client/services/FunctionsService.js +49 -4
  303. package/dist/openapi_client/services/IntegrationsService.d.ts +70 -11
  304. package/dist/openapi_client/services/IntegrationsService.js +159 -20
  305. package/dist/openapi_client/services/OrganizationsService.d.ts +8 -0
  306. package/dist/openapi_client/services/OrganizationsService.js +19 -0
  307. package/dist/openapi_client/services/PodMembersService.d.ts +0 -10
  308. package/dist/openapi_client/services/PodMembersService.js +0 -24
  309. package/dist/openapi_client/services/PodPermissionsService.d.ts +19 -0
  310. package/dist/openapi_client/services/PodPermissionsService.js +40 -0
  311. package/dist/openapi_client/services/PodResourceAccessService.d.ts +38 -0
  312. package/dist/openapi_client/services/PodResourceAccessService.js +81 -0
  313. package/dist/openapi_client/services/PodRolesService.d.ts +28 -0
  314. package/dist/openapi_client/services/PodRolesService.js +66 -0
  315. package/dist/openapi_client/services/RecordsService.d.ts +21 -22
  316. package/dist/openapi_client/services/RecordsService.js +13 -13
  317. package/dist/openapi_client/services/SchedulesService.d.ts +9 -8
  318. package/dist/openapi_client/services/SchedulesService.js +6 -4
  319. package/dist/openapi_client/services/TablesService.d.ts +13 -14
  320. package/dist/openapi_client/services/TablesService.js +6 -6
  321. package/dist/openapi_client/services/UsageService.d.ts +96 -0
  322. package/dist/openapi_client/services/UsageService.js +210 -0
  323. package/dist/openapi_client/services/WorkflowsService.d.ts +44 -35
  324. package/dist/openapi_client/services/WorkflowsService.js +61 -43
  325. package/dist/openapi_client/services/WorkspaceAppsService.d.ts +12 -0
  326. package/dist/openapi_client/services/WorkspaceAppsService.js +21 -0
  327. package/dist/openapi_client/services/WorkspaceService.d.ts +10 -0
  328. package/dist/openapi_client/services/WorkspaceService.js +15 -0
  329. package/dist/react/AuthGuard.d.ts +16 -2
  330. package/dist/react/AuthGuard.js +169 -130
  331. package/dist/react/index.d.ts +1 -1
  332. package/dist/react/useAddPodMember.js +1 -1
  333. package/dist/react/useAssistantController.d.ts +27 -3
  334. package/dist/react/useAssistantController.js +192 -70
  335. package/dist/react/useAssistantSession.d.ts +10 -6
  336. package/dist/react/useAssistantSession.js +146 -4
  337. package/dist/react/useBulkRecords.d.ts +5 -5
  338. package/dist/react/useBulkRecords.js +5 -5
  339. package/dist/react/useConversations.d.ts +1 -7
  340. package/dist/react/useConversations.js +4 -10
  341. package/dist/react/useCreateFolder.d.ts +2 -4
  342. package/dist/react/useCreateFolder.js +2 -3
  343. package/dist/react/useCreateRecord.d.ts +2 -2
  344. package/dist/react/useCreateRecord.js +1 -1
  345. package/dist/react/useDeleteFile.d.ts +1 -4
  346. package/dist/react/useDeleteFile.js +3 -3
  347. package/dist/react/useDeleteRecord.d.ts +1 -2
  348. package/dist/react/useDeleteRecord.js +3 -3
  349. package/dist/react/useFile.d.ts +2 -4
  350. package/dist/react/useFile.js +3 -3
  351. package/dist/react/useFilePreview.d.ts +1 -4
  352. package/dist/react/useFilePreview.js +4 -5
  353. package/dist/react/useFileSearch.d.ts +5 -1
  354. package/dist/react/useFileSearch.js +6 -4
  355. package/dist/react/useFileTree.d.ts +2 -4
  356. package/dist/react/useFileTree.js +2 -3
  357. package/dist/react/useFiles.d.ts +2 -4
  358. package/dist/react/useFiles.js +3 -5
  359. package/dist/react/useFlowRunHistory.d.ts +4 -4
  360. package/dist/react/useFlowRunHistory.js +9 -4
  361. package/dist/react/useFlowSession.d.ts +5 -3
  362. package/dist/react/useFlowSession.js +24 -17
  363. package/dist/react/useFunctionRun.d.ts +2 -2
  364. package/dist/react/useFunctionRuns.d.ts +5 -5
  365. package/dist/react/useFunctionSession.d.ts +2 -2
  366. package/dist/react/useGlobalSearch.js +1 -1
  367. package/dist/react/useRecord.d.ts +2 -2
  368. package/dist/react/useRecord.js +1 -1
  369. package/dist/react/useRecordForm.d.ts +2 -2
  370. package/dist/react/useRecordForm.js +2 -2
  371. package/dist/react/useReverseRelatedRecords.js +1 -1
  372. package/dist/react/useUpdateFile.d.ts +2 -4
  373. package/dist/react/useUpdateFile.js +2 -3
  374. package/dist/react/useUpdateRecord.d.ts +2 -2
  375. package/dist/react/useUpdateRecord.js +1 -1
  376. package/dist/react/useUploadFile.d.ts +2 -4
  377. package/dist/react/useUploadFile.js +2 -3
  378. package/dist/react/useWorkflowResume.d.ts +1 -0
  379. package/dist/react/useWorkflowResume.js +10 -1
  380. package/dist/react/useWorkflowRun.d.ts +2 -2
  381. package/dist/react/useWorkflowRun.js +1 -3
  382. package/dist/react/useWorkflowRuns.d.ts +5 -5
  383. package/dist/react/useWorkflowStart.d.ts +2 -2
  384. package/dist/react/useWorkflowStart.js +11 -26
  385. package/dist/react/utils.js +2 -0
  386. package/dist/types.d.ts +47 -10
  387. package/package.json +8 -3
  388. package/dist/openapi_client/models/AgentModelName.d.ts +0 -13
  389. package/dist/openapi_client/models/AgentModelName.js +0 -18
  390. package/dist/openapi_client/models/AgentResponse.d.ts +0 -29
  391. package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +0 -18
  392. package/dist/openapi_client/models/ApplicationMode.d.ts +0 -7
  393. package/dist/openapi_client/models/ApplicationMode.js +0 -12
  394. package/dist/openapi_client/models/BillingHistoryResponse.d.ts +0 -8
  395. package/dist/openapi_client/models/BillingInterval.d.ts +0 -7
  396. package/dist/openapi_client/models/BillingInterval.js +0 -12
  397. package/dist/openapi_client/models/BillingInvoiceResponse.d.ts +0 -29
  398. package/dist/openapi_client/models/BillingInvoiceStatus.d.ts +0 -10
  399. package/dist/openapi_client/models/BillingInvoiceStatus.js +0 -15
  400. package/dist/openapi_client/models/BillingScope.d.ts +0 -7
  401. package/dist/openapi_client/models/BillingScope.js +0 -12
  402. package/dist/openapi_client/models/CancelSubscriptionResponse.d.ts +0 -10
  403. package/dist/openapi_client/models/CreateInvoicePaymentUrlRequest.d.ts +0 -7
  404. package/dist/openapi_client/models/CreateInvoicePaymentUrlResponse.d.ts +0 -8
  405. package/dist/openapi_client/models/DatastoreMessageResponse.d.ts +0 -6
  406. package/dist/openapi_client/models/FlowRunEntity.d.ts +0 -36
  407. package/dist/openapi_client/models/FunctionTableAccessEntry.d.ts +0 -5
  408. package/dist/openapi_client/models/GmailSurfaceConfig.d.ts +0 -7
  409. package/dist/openapi_client/models/GmailSurfaceConfigInput.d.ts +0 -4
  410. package/dist/openapi_client/models/OutlookSurfaceConfig.d.ts +0 -7
  411. package/dist/openapi_client/models/OutlookSurfaceConfigInput.d.ts +0 -4
  412. package/dist/openapi_client/models/PlanListResponse.d.ts +0 -8
  413. package/dist/openapi_client/models/PlanResponse.d.ts +0 -17
  414. package/dist/openapi_client/models/RecentUsageResponse.d.ts +0 -9
  415. package/dist/openapi_client/models/RecordResponse.d.ts +0 -9
  416. package/dist/openapi_client/models/SeatInfoResponse.d.ts +0 -10
  417. package/dist/openapi_client/models/SlackCredentialsInput.d.ts +0 -5
  418. package/dist/openapi_client/models/SlackSurfaceConfig.d.ts +0 -10
  419. package/dist/openapi_client/models/SlackSurfaceConfigInput.d.ts +0 -6
  420. package/dist/openapi_client/models/StackFrame.d.ts +0 -11
  421. package/dist/openapi_client/models/StartSubscriptionRequest.d.ts +0 -14
  422. package/dist/openapi_client/models/StartSubscriptionResponse.d.ts +0 -9
  423. package/dist/openapi_client/models/StartTeamBillingRequest.d.ts +0 -6
  424. package/dist/openapi_client/models/StepExecution.d.ts +0 -13
  425. package/dist/openapi_client/models/SubscriptionResponse.d.ts +0 -22
  426. package/dist/openapi_client/models/SubscriptionStatus.d.ts +0 -10
  427. package/dist/openapi_client/models/SubscriptionStatus.js +0 -15
  428. package/dist/openapi_client/models/SubscriptionStatusResponse.d.ts +0 -10
  429. package/dist/openapi_client/models/SubscriptionWithPlanResponse.d.ts +0 -22
  430. package/dist/openapi_client/models/SurfaceRoutingScope.d.ts +0 -4
  431. package/dist/openapi_client/models/SurfaceRoutingScope.js +0 -9
  432. package/dist/openapi_client/models/SurfaceWebhookMode.d.ts +0 -4
  433. package/dist/openapi_client/models/SurfaceWebhookMode.js +0 -9
  434. package/dist/openapi_client/models/TableAccessEntry.d.ts +0 -8
  435. package/dist/openapi_client/models/TableAccessMode.d.ts +0 -7
  436. package/dist/openapi_client/models/TableAccessMode.js +0 -12
  437. package/dist/openapi_client/models/TeamsCredentialsInput.d.ts +0 -6
  438. package/dist/openapi_client/models/TeamsSurfaceConfig.d.ts +0 -9
  439. package/dist/openapi_client/models/TeamsSurfaceConfigInput.d.ts +0 -6
  440. package/dist/openapi_client/models/TelegramCredentialsInput.d.ts +0 -5
  441. package/dist/openapi_client/models/TelegramSurfaceConfig.d.ts +0 -6
  442. package/dist/openapi_client/models/TelegramSurfaceConfigInput.d.ts +0 -6
  443. package/dist/openapi_client/models/WebSearchAgentRequest.d.ts +0 -9
  444. package/dist/openapi_client/models/WebSearchAgentResponse.d.ts +0 -25
  445. package/dist/openapi_client/models/WhatsAppCredentialsInput.d.ts +0 -8
  446. package/dist/openapi_client/models/WhatsAppSurfaceConfig.d.ts +0 -6
  447. package/dist/openapi_client/models/WhatsAppSurfaceConfigInput.d.ts +0 -6
  448. package/dist/openapi_client/services/BillingSubscriptionsService.d.ts +0 -116
  449. package/dist/openapi_client/services/BillingSubscriptionsService.js +0 -230
  450. package/dist/openapi_client/services/BillingUsageService.d.ts +0 -138
  451. package/dist/openapi_client/services/BillingUsageService.js +0 -302
  452. package/dist/openapi_client/services/BillingWebhooksService.d.ts +0 -12
  453. package/dist/openapi_client/services/BillingWebhooksService.js +0 -25
  454. /package/dist/openapi_client/models/{AgentResponse.js → AccountCreateSchema.js} +0 -0
  455. /package/dist/openapi_client/models/{ApplicationAccessConfig.js → AgentActionResponse.js} +0 -0
  456. /package/dist/openapi_client/models/{BillingHistoryResponse.js → AgentDetailResponse.js} +0 -0
  457. /package/dist/openapi_client/models/{BillingInvoiceResponse.js → AgentHarnessInfo.js} +0 -0
  458. /package/dist/openapi_client/models/{CancelSubscriptionResponse.js → AgentHarnessListResponse.js} +0 -0
  459. /package/dist/openapi_client/models/{CreateInvoicePaymentUrlRequest.js → AgentPermissionsReplaceRequest.js} +0 -0
  460. /package/dist/openapi_client/models/{CreateInvoicePaymentUrlResponse.js → AgentPermissionsResponse.js} +0 -0
  461. /package/dist/openapi_client/models/{DatastoreMessageResponse.js → AgentResourcePermissionRequest.js} +0 -0
  462. /package/dist/openapi_client/models/{DeskResponse.js → AgentResourcePermissionResponse.js} +0 -0
  463. /package/dist/openapi_client/models/{FileResponse.js → AgentRuntimeConfig.js} +0 -0
  464. /package/dist/openapi_client/models/{FlowResponse.js → AgentRuntimeProfileListResponse.js} +0 -0
  465. /package/dist/openapi_client/models/{FlowRunEntity.js → AgentRuntimeProfileResponse.js} +0 -0
  466. /package/dist/openapi_client/models/{FunctionResponse.js → ApplicationSkillResponse.js} +0 -0
  467. /package/dist/openapi_client/models/{FunctionTableAccessEntry.js → AuthConfigCreateSchema.js} +0 -0
  468. /package/dist/openapi_client/models/{GmailSurfaceConfig.js → AuthConfigListResponseSchema.js} +0 -0
  469. /package/dist/openapi_client/models/{GmailSurfaceConfigInput.js → AuthConfigResponseSchema.js} +0 -0
  470. /package/dist/openapi_client/models/{OutlookSurfaceConfig.js → ComposioProviderCapabilityResponseSchema.js} +0 -0
  471. /package/dist/openapi_client/models/{OutlookSurfaceConfigInput.js → ConnectedAccountSummary.js} +0 -0
  472. /package/dist/openapi_client/models/{PlanListResponse.js → ConvertedPageResponse.js} +0 -0
  473. /package/dist/openapi_client/models/{PlanResponse.js → CreateAnthropicCompatibleRuntimeProfileRequest.js} +0 -0
  474. /package/dist/openapi_client/models/{RecentUsageResponse.js → CreateOpenAICompatibleRuntimeProfileRequest.js} +0 -0
  475. /package/dist/openapi_client/models/{RecordResponse.js → CreateUserDaemonRuntimeProfileRequest.js} +0 -0
  476. /package/dist/openapi_client/models/{ScheduleResponse.js → DatastoreCountResponse.js} +0 -0
  477. /package/dist/openapi_client/models/{SeatInfoResponse.js → DeskDetailResponse.js} +0 -0
  478. /package/dist/openapi_client/models/{SlackCredentialsInput.js → FileDetailResponse.js} +0 -0
  479. /package/dist/openapi_client/models/{SlackSurfaceConfig.js → FlowDetailResponse.js} +0 -0
  480. /package/dist/openapi_client/models/{SlackSurfaceConfigInput.js → FunctionActionResponse.js} +0 -0
  481. /package/dist/openapi_client/models/{StackFrame.js → FunctionDetailResponse.js} +0 -0
  482. /package/dist/openapi_client/models/{StartSubscriptionRequest.js → FunctionPermissionsReplaceRequest.js} +0 -0
  483. /package/dist/openapi_client/models/{StartSubscriptionResponse.js → FunctionPermissionsResponse.js} +0 -0
  484. /package/dist/openapi_client/models/{StartTeamBillingRequest.js → FunctionResourcePermissionRequest.js} +0 -0
  485. /package/dist/openapi_client/models/{StepExecution.js → FunctionResourcePermissionResponse.js} +0 -0
  486. /package/dist/openapi_client/models/{SubscriptionResponse.js → FunctionRunSummaryResponse.js} +0 -0
  487. /package/dist/openapi_client/models/{SubscriptionStatusResponse.js → InstalledAppSummary.js} +0 -0
  488. /package/dist/openapi_client/models/{SubscriptionWithPlanResponse.js → IntegrationStatusResponse.js} +0 -0
  489. /package/dist/openapi_client/models/{TableAccessEntry.js → LemmaProviderCapabilityResponseSchema.js} +0 -0
  490. /package/dist/openapi_client/models/{TableResponse.js → OAuth2DefaultsResponseSchema.js} +0 -0
  491. /package/dist/openapi_client/models/{TeamsCredentialsInput.js → PodConfig.js} +0 -0
  492. /package/dist/openapi_client/models/{TeamsSurfaceConfig.js → PodEffectivePermissionsResponse.js} +0 -0
  493. /package/dist/openapi_client/models/{TeamsSurfaceConfigInput.js → PodPermissionCatalogResponse.js} +0 -0
  494. /package/dist/openapi_client/models/{TelegramCredentialsInput.js → PodPermissionResponse.js} +0 -0
  495. /package/dist/openapi_client/models/{TelegramSurfaceConfig.js → PodRolePermissionsReplaceRequest.js} +0 -0
  496. /package/dist/openapi_client/models/{TelegramSurfaceConfigInput.js → PodRolePermissionsResponse.js} +0 -0
  497. /package/dist/openapi_client/models/{WebSearchAgentRequest.js → PodRoleResourcePermissionRequest.js} +0 -0
  498. /package/dist/openapi_client/models/{WebSearchAgentResponse.js → PodRoleResourcePermissionResponse.js} +0 -0
  499. /package/dist/openapi_client/models/{WhatsAppCredentialsInput.js → ResolveUserApprovalRequest.js} +0 -0
  500. /package/dist/openapi_client/models/{WhatsAppSurfaceConfig.js → ResourceAccessGrantRequest.js} +0 -0
  501. /package/dist/openapi_client/models/{WhatsAppSurfaceConfigInput.js → ResourceAccessGrantResponse.js} +0 -0
  502. /package/dist/openapi_client/models/{WorkflowRunWaitEntity.js → ResourceAccessResponse.js} +0 -0
@@ -179,20 +179,20 @@ function getNativeToolPayload(content) {
179
179
  if (!toolCallId)
180
180
  return null;
181
181
  const toolName = typeof content.tool_name === "string" ? content.tool_name : undefined;
182
- if (typeof content.tool_name === "string") {
182
+ if ("tool_output" in content) {
183
183
  return {
184
- kind: "call",
184
+ kind: "result",
185
185
  toolCallId,
186
186
  toolName,
187
- args: parseMaybeJsonObject(parseMaybeJsonValue(content.tool_input)),
187
+ result: normalizeToolResult(content.tool_output),
188
188
  };
189
189
  }
190
- if ("tool_output" in content) {
190
+ if (typeof content.tool_name === "string") {
191
191
  return {
192
- kind: "result",
192
+ kind: "call",
193
193
  toolCallId,
194
194
  toolName,
195
- result: normalizeToolResult(content.tool_output),
195
+ args: parseMaybeJsonObject(parseMaybeJsonValue(content.tool_input)),
196
196
  };
197
197
  }
198
198
  return null;
@@ -437,6 +437,13 @@ function mapConversationMessage(msg, options) {
437
437
  toolInvocations,
438
438
  parts,
439
439
  createdAt: msg.created_at ? new Date(msg.created_at) : new Date(),
440
+ conversation_id: msg.conversation_id,
441
+ sequence: msg.sequence,
442
+ agent_run_id: msg.agent_run_id,
443
+ metadata: msg.metadata ?? null,
444
+ message_metadata: msg.message_metadata ?? null,
445
+ tool_call_id: msg.tool_call_id ?? null,
446
+ tool_name: msg.tool_name ?? null,
440
447
  };
441
448
  }
442
449
  function mapConversationMessages(messages) {
@@ -545,13 +552,52 @@ function resolveScopedClient(client, podId) {
545
552
  }
546
553
  return client;
547
554
  }
548
- async function uploadPersonalFiles(client, files) {
555
+ function conversationUploadDirectory(conversationId) {
556
+ return `/me/conversations/${conversationId}`;
557
+ }
558
+ function shouldIgnoreFolderEnsureError(error) {
559
+ const message = error instanceof Error ? error.message.toLowerCase() : String(error ?? "").toLowerCase();
560
+ return message.includes("already exists")
561
+ || message.includes("already in use")
562
+ || message.includes("path unavailable")
563
+ || message.includes("path already")
564
+ || message.includes("409");
565
+ }
566
+ async function ensureFolder(client, name, directoryPath) {
567
+ try {
568
+ await client.files.folder.create(name, { directoryPath });
569
+ }
570
+ catch (error) {
571
+ if (!shouldIgnoreFolderEnsureError(error))
572
+ throw error;
573
+ }
574
+ }
575
+ async function ensureConversationUploadDirectory(client, conversationId) {
576
+ await ensureFolder(client, "conversations", "/me");
577
+ await ensureFolder(client, conversationId, "/me/conversations");
578
+ return conversationUploadDirectory(conversationId);
579
+ }
580
+ async function uploadConversationFiles(client, conversationId, uploads, onStatus) {
581
+ const directoryPath = await ensureConversationUploadDirectory(client, conversationId);
549
582
  const uploaded = [];
550
- for (const file of files) {
551
- uploaded.push(await client.files.upload(file, {
552
- name: file.name,
553
- namespace: "PRIVATE",
554
- }));
583
+ for (const upload of uploads) {
584
+ onStatus?.(upload.key, { status: "uploading", error: undefined });
585
+ try {
586
+ const response = await client.files.upload(upload.file, {
587
+ name: upload.file.name,
588
+ directoryPath,
589
+ searchEnabled: true,
590
+ });
591
+ onStatus?.(upload.key, { status: "uploaded", path: response.path, error: undefined });
592
+ uploaded.push(response);
593
+ }
594
+ catch (error) {
595
+ onStatus?.(upload.key, {
596
+ status: "failed",
597
+ error: error instanceof Error ? error.message : "Upload failed",
598
+ });
599
+ throw error;
600
+ }
555
601
  }
556
602
  return uploaded;
557
603
  }
@@ -570,18 +616,19 @@ function appendPersonalFileReferences(content, files) {
570
616
  const references = formatPersonalFileReferences(files);
571
617
  return `${content}\n\nPersonal files available to this run:\n${references}`;
572
618
  }
573
- export function useAssistantController({ client, podId, agentName, assistantName, assistantId, organizationId, enabled = true, instructions, }) {
619
+ export function useAssistantController({ client, podId, agentName, assistantName, assistantId, organizationId, enabled = true, instructions, autoLoadMessages = true, }) {
574
620
  const [localError, setLocalError] = useState(null);
575
621
  const [conversations, setConversations] = useState([]);
576
622
  const [activeConversationId, setActiveConversationId] = useState(null);
577
623
  const [availableModels, setAvailableModels] = useState([]);
578
624
  const [conversationModel, setConversationModelState] = useState(null);
625
+ const [conversationRuntime, setConversationRuntimeState] = useState(null);
579
626
  const [isStreaming, setIsStreaming] = useState(false);
580
627
  const [isLoadingConversations, setIsLoadingConversations] = useState(false);
581
628
  const [isLoadingMessages, setIsLoadingMessages] = useState(false);
582
629
  const [isLoadingOlderMessages, setIsLoadingOlderMessages] = useState(false);
583
630
  const [isUploadingFiles, setIsUploadingFiles] = useState(false);
584
- const [pendingFiles, setPendingFiles] = useState([]);
631
+ const [pendingFileUploads, setPendingFileUploads] = useState([]);
585
632
  const [olderMessagesCursor, setOlderMessagesCursor] = useState(null);
586
633
  const activeConversationIdRef = useRef(null);
587
634
  const conversationsRef = useRef([]);
@@ -600,6 +647,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
600
647
  assistantId: assistantId ?? null,
601
648
  organizationId: organizationId ?? null,
602
649
  }), [agentName, assistantId, assistantName, organizationId, podId]);
650
+ const pendingFiles = useMemo(() => pendingFileUploads.map((upload) => upload.file), [pendingFileUploads]);
603
651
  const scopeKey = useMemo(() => JSON.stringify({
604
652
  podId: scope.podId ?? null,
605
653
  agentName: scope.agentName ?? null,
@@ -622,7 +670,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
622
670
  autoLoad: false,
623
671
  onError: handleAssistantSessionError,
624
672
  });
625
- const { conversationId: sessionConversationId, listConversations: sessionListConversations, loadMessages: sessionLoadMessages, sendMessage: sessionSendMessage, createConversation: sessionCreateConversation, resumeIfRunning: sessionResumeIfRunning, stop: sessionStop, cancel: sessionCancel, isStreaming: sessionIsStreaming, messages: sessionMessages, streamingText: sessionStreamingText, status: sessionStatus, } = assistantSession;
673
+ const { conversationId: sessionConversationId, listConversations: sessionListConversations, loadMessages: sessionLoadMessages, sendMessage: sessionSendMessage, createConversation: sessionCreateConversation, resumeIfRunning: sessionResumeIfRunning, stop: sessionStop, cancel: sessionCancel, isStreaming: sessionIsStreaming, messages: sessionMessages, streamingText: sessionStreamingText, streamingTool: sessionStreamingTool, status: sessionStatus, } = assistantSession;
626
674
  const { runtimeMessages, appendOptimisticUserMessage, replaceLoadedMessages, mergeMessages, clear: clearRuntimeMessages, } = useAssistantRuntime({
627
675
  conversationId: activeConversationId,
628
676
  sessionConversationId,
@@ -641,35 +689,53 @@ export function useAssistantController({ client, podId, agentName, assistantName
641
689
  return {
642
690
  ...conversation,
643
691
  ...updates,
644
- updated_at: updates?.updated_at || now,
692
+ updated_at: typeof updates?.updated_at === "undefined"
693
+ ? conversation.updated_at
694
+ : updates.updated_at || now,
645
695
  };
646
696
  });
647
697
  return found ? sortConversationsByUpdatedAt(next) : next;
648
698
  });
649
699
  }, []);
650
- const setConversationModel = useCallback(async (model) => {
700
+ const setConversationModel = useCallback(async (model, runtime) => {
701
+ const nextRuntime = typeof runtime === "undefined"
702
+ ? availableModels.find((entry) => entry.id === model)?.runtime ?? null
703
+ : runtime;
651
704
  setConversationModelState(model);
705
+ setConversationRuntimeState(nextRuntime);
652
706
  const conversationId = activeConversationIdRef.current;
653
707
  if (!conversationId)
654
708
  return;
655
709
  const knownConversation = conversationsRef.current.find((conversation) => conversation.id === conversationId);
656
710
  const resolvedPodId = knownConversation?.pod_id ?? scope.podId;
657
711
  const previousModel = knownConversation?.model ?? null;
658
- touchConversation(conversationId, { model: model });
712
+ const previousRuntime = knownConversation?.agent_runtime ?? null;
713
+ touchConversation(conversationId, {
714
+ model: model,
715
+ agent_runtime: nextRuntime,
716
+ });
659
717
  try {
660
- const updatedConversation = await client.conversations.update(conversationId, { model: model }, { pod_id: resolvedPodId ?? undefined });
718
+ const updatedConversation = await client.conversations.update(conversationId, model
719
+ ? { model: model, agent_runtime: nextRuntime }
720
+ : { agent_runtime: null }, { pod_id: resolvedPodId ?? undefined });
661
721
  touchConversation(conversationId, {
662
722
  model: (updatedConversation.model ?? model),
723
+ agent_runtime: updatedConversation.agent_runtime ?? nextRuntime,
663
724
  updated_at: updatedConversation.updated_at,
664
725
  });
665
726
  setConversationModelState((updatedConversation.model ?? model));
727
+ setConversationRuntimeState(updatedConversation.agent_runtime ?? nextRuntime);
666
728
  }
667
729
  catch (error) {
668
- touchConversation(conversationId, { model: previousModel });
730
+ touchConversation(conversationId, {
731
+ model: previousModel,
732
+ agent_runtime: previousRuntime,
733
+ });
669
734
  setConversationModelState(previousModel);
735
+ setConversationRuntimeState(previousRuntime);
670
736
  throw error;
671
737
  }
672
- }, [client, scope.podId, touchConversation]);
738
+ }, [availableModels, client, scope.podId, touchConversation]);
673
739
  const loadConversations = useCallback(async () => {
674
740
  setIsLoadingConversations(true);
675
741
  try {
@@ -695,13 +761,15 @@ export function useAssistantController({ client, podId, agentName, assistantName
695
761
  }, [scope, sessionListConversations]);
696
762
  const loadAvailableModels = useCallback(async () => {
697
763
  try {
698
- const response = await client.conversations.listModels();
764
+ const response = await client.conversations.listModels({
765
+ orgId: scope.organizationId ?? undefined,
766
+ });
699
767
  return response.items ?? [];
700
768
  }
701
769
  catch {
702
770
  return [];
703
771
  }
704
- }, [client]);
772
+ }, [client, scope.organizationId]);
705
773
  const loadConversationMessages = useCallback(async (conversationId) => {
706
774
  setIsLoadingMessages(true);
707
775
  try {
@@ -825,6 +893,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
825
893
  if (!activeConversation)
826
894
  return;
827
895
  setConversationModelState(activeConversation.model ?? null);
896
+ setConversationRuntimeState(activeConversation.agent_runtime ?? null);
828
897
  }, [activeConversationId, conversations]);
829
898
  useEffect(() => {
830
899
  if (!enabled) {
@@ -838,6 +907,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
838
907
  setActiveConversationId(null);
839
908
  setAvailableModels([]);
840
909
  setConversationModelState(null);
910
+ setConversationRuntimeState(null);
841
911
  setConversations([]);
842
912
  setLocalError(null);
843
913
  setOlderMessagesCursor(null);
@@ -853,6 +923,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
853
923
  skipInitialLoadConversationIdsRef.current.clear();
854
924
  setActiveConversationId(null);
855
925
  setConversationModelState(null);
926
+ setConversationRuntimeState(null);
856
927
  setConversations([]);
857
928
  setLocalError(null);
858
929
  clearRuntimeMessages();
@@ -867,6 +938,15 @@ export function useAssistantController({ client, podId, agentName, assistantName
867
938
  lastAutoLoadedConversationIdRef.current = null;
868
939
  loadingConversationIdRef.current = null;
869
940
  setOlderMessagesCursor(null);
941
+ setIsLoadingMessages(false);
942
+ return;
943
+ }
944
+ if (!autoLoadMessages) {
945
+ clearRuntimeMessages();
946
+ lastAutoLoadedConversationIdRef.current = null;
947
+ loadingConversationIdRef.current = null;
948
+ setOlderMessagesCursor(null);
949
+ setIsLoadingMessages(false);
870
950
  return;
871
951
  }
872
952
  if (skipInitialLoadConversationIdsRef.current.has(activeConversationId)) {
@@ -905,7 +985,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
905
985
  return () => {
906
986
  cancelled = true;
907
987
  };
908
- }, [activeConversationId, clearRuntimeMessages, enabled]);
988
+ }, [activeConversationId, autoLoadMessages, clearRuntimeMessages, enabled]);
909
989
  const stop = useCallback(() => {
910
990
  const hadActiveStream = sessionIsStreamingRef.current || isStreamingRef.current;
911
991
  sessionCancel();
@@ -931,6 +1011,12 @@ export function useAssistantController({ client, podId, agentName, assistantName
931
1011
  }
932
1012
  const currentConversationId = activeConversationIdRef.current;
933
1013
  if (conversationId && conversationId === currentConversationId) {
1014
+ if (!autoLoadMessages) {
1015
+ setLocalError(null);
1016
+ setOlderMessagesCursor(null);
1017
+ setIsLoadingMessages(false);
1018
+ return;
1019
+ }
934
1020
  if (loadingConversationIdRef.current === conversationId
935
1021
  || lastAutoLoadedConversationIdRef.current === conversationId) {
936
1022
  return;
@@ -938,6 +1024,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
938
1024
  loadingConversationIdRef.current = conversationId;
939
1025
  setLocalError(null);
940
1026
  setOlderMessagesCursor(null);
1027
+ setIsLoadingMessages(true);
941
1028
  void loadConversationMessagesRef.current?.(conversationId)
942
1029
  .then(() => resumeIfRunningRef.current?.(conversationId))
943
1030
  .catch((error) => {
@@ -958,8 +1045,9 @@ export function useAssistantController({ client, podId, agentName, assistantName
958
1045
  loadingConversationIdRef.current = null;
959
1046
  setOlderMessagesCursor(null);
960
1047
  clearRuntimeMessages();
1048
+ setIsLoadingMessages(Boolean(conversationId && autoLoadMessages));
961
1049
  setActiveConversationId(conversationId);
962
- }, [clearRuntimeMessages, sessionCancel]);
1050
+ }, [autoLoadMessages, clearRuntimeMessages, sessionCancel]);
963
1051
  const resetConversationState = useCallback((keepPendingFiles = false) => {
964
1052
  stop();
965
1053
  clearRuntimeMessages();
@@ -971,8 +1059,9 @@ export function useAssistantController({ client, podId, agentName, assistantName
971
1059
  setActiveConversationId(null);
972
1060
  setLocalError(null);
973
1061
  setOlderMessagesCursor(null);
1062
+ setIsLoadingMessages(false);
974
1063
  if (!keepPendingFiles) {
975
- setPendingFiles([]);
1064
+ setPendingFileUploads([]);
976
1065
  }
977
1066
  }, [clearRuntimeMessages, stop]);
978
1067
  const clearMessages = useCallback(() => {
@@ -986,7 +1075,9 @@ export function useAssistantController({ client, podId, agentName, assistantName
986
1075
  const createdConversation = await sessionCreateConversation({
987
1076
  title: titleSeed.slice(0, 120),
988
1077
  instructions: typeof options.instructions === "undefined" ? instructions : options.instructions,
1078
+ metadata: options.metadata ?? undefined,
989
1079
  model: conversationModel,
1080
+ agentRuntime: conversationRuntime,
990
1081
  ...scope,
991
1082
  });
992
1083
  suppressAutoSelectRef.current = false;
@@ -1000,29 +1091,43 @@ export function useAssistantController({ client, podId, agentName, assistantName
1000
1091
  skipInitialLoadConversationIdsRef.current.add(createdConversation.id);
1001
1092
  setActiveConversationId(createdConversation.id);
1002
1093
  setConversationModelState((createdConversation.model ?? conversationModel ?? null));
1094
+ setConversationRuntimeState(createdConversation.agent_runtime ?? conversationRuntime ?? null);
1003
1095
  clearRuntimeMessages();
1004
1096
  setOlderMessagesCursor(null);
1005
1097
  return createdConversation.id;
1006
- }, [clearRuntimeMessages, conversationModel, instructions, scope, sessionCreateConversation]);
1098
+ }, [clearRuntimeMessages, conversationModel, conversationRuntime, instructions, scope, sessionCreateConversation]);
1007
1099
  const queuePendingFiles = useCallback((files) => {
1008
1100
  if (files.length === 0)
1009
1101
  return;
1010
- setPendingFiles((prev) => {
1102
+ setPendingFileUploads((prev) => {
1011
1103
  const byKey = new Map();
1012
- prev.forEach((file) => byKey.set(getFileKey(file), file));
1013
- files.forEach((file) => byKey.set(getFileKey(file), file));
1104
+ prev.forEach((upload) => byKey.set(upload.key, upload));
1105
+ files.forEach((file) => {
1106
+ const key = getFileKey(file);
1107
+ byKey.set(key, {
1108
+ key,
1109
+ file,
1110
+ status: "queued",
1111
+ });
1112
+ });
1014
1113
  return Array.from(byKey.values());
1015
1114
  });
1016
1115
  }, []);
1017
1116
  const removePendingFile = useCallback((fileKey) => {
1018
- setPendingFiles((prev) => prev.filter((file) => getFileKey(file) !== fileKey));
1117
+ setPendingFileUploads((prev) => prev.filter((upload) => upload.key !== fileKey));
1019
1118
  }, []);
1020
1119
  const clearPendingFiles = useCallback(() => {
1021
- setPendingFiles([]);
1120
+ setPendingFileUploads([]);
1121
+ }, []);
1122
+ const updatePendingFileUpload = useCallback((key, next) => {
1123
+ setPendingFileUploads((prev) => prev.map((upload) => (upload.key === key
1124
+ ? { ...upload, ...next }
1125
+ : upload)));
1022
1126
  }, []);
1023
1127
  const sendMessage = useCallback(async (content, options = {}) => {
1024
1128
  const trimmed = content.trim();
1025
- if (!enabled || !trimmed || isStreaming || sessionIsStreaming)
1129
+ const uploadsToSend = pendingFileUploads.filter((upload) => upload.status !== "uploaded");
1130
+ if (!enabled || (!trimmed && uploadsToSend.length === 0) || isStreaming || sessionIsStreaming)
1026
1131
  return;
1027
1132
  const forceNewConversation = options.forceNewConversation === true;
1028
1133
  setLocalError(null);
@@ -1032,20 +1137,24 @@ export function useAssistantController({ client, podId, agentName, assistantName
1032
1137
  let conversationId = forceNewConversation ? null : activeConversationId;
1033
1138
  try {
1034
1139
  if (!conversationId) {
1035
- conversationId = await ensureConversation(trimmed, { instructions: options.instructions });
1140
+ conversationId = await ensureConversation(trimmed, {
1141
+ instructions: options.instructions,
1142
+ metadata: options.conversationMetadata,
1143
+ });
1036
1144
  }
1037
1145
  if (!conversationId) {
1038
1146
  throw new Error("Conversation could not be initialized");
1039
1147
  }
1040
1148
  const finalConversationId = conversationId;
1041
- let messageContent = trimmed;
1042
- if (pendingFiles.length > 0) {
1149
+ let messageContent = trimmed || "Please use the attached files.";
1150
+ let uploadedFiles = [];
1151
+ if (uploadsToSend.length > 0) {
1043
1152
  setIsUploadingFiles(true);
1044
1153
  try {
1045
1154
  const fileClient = resolveScopedClient(client, scope.podId);
1046
- const uploadedFiles = await uploadPersonalFiles(fileClient, pendingFiles);
1047
- messageContent = appendPersonalFileReferences(trimmed, uploadedFiles);
1048
- setPendingFiles([]);
1155
+ uploadedFiles = await uploadConversationFiles(fileClient, finalConversationId, uploadsToSend, updatePendingFileUpload);
1156
+ messageContent = appendPersonalFileReferences(messageContent, uploadedFiles);
1157
+ setPendingFileUploads([]);
1049
1158
  touchConversation(finalConversationId, { updated_at: new Date().toISOString() });
1050
1159
  }
1051
1160
  finally {
@@ -1059,7 +1168,18 @@ export function useAssistantController({ client, podId, agentName, assistantName
1059
1168
  touchConversation(finalConversationId, { status: "running" });
1060
1169
  await sessionSendMessage(messageContent, {
1061
1170
  conversationId: finalConversationId,
1062
- metadata: options.metadata ?? undefined,
1171
+ metadata: uploadedFiles.length > 0
1172
+ ? {
1173
+ ...(options.metadata ?? {}),
1174
+ attachments: uploadedFiles.map((file) => ({
1175
+ id: file.id,
1176
+ name: file.name,
1177
+ path: file.path,
1178
+ namespace: "PERSONAL",
1179
+ mime_type: file.mime_type,
1180
+ })),
1181
+ }
1182
+ : options.metadata ?? undefined,
1063
1183
  });
1064
1184
  touchConversation(finalConversationId, { updated_at: new Date().toISOString() });
1065
1185
  }
@@ -1078,55 +1198,49 @@ export function useAssistantController({ client, podId, agentName, assistantName
1078
1198
  enabled,
1079
1199
  ensureConversation,
1080
1200
  isStreaming,
1081
- pendingFiles,
1201
+ pendingFileUploads,
1082
1202
  resetConversationState,
1083
1203
  scope.podId,
1084
1204
  sessionIsStreaming,
1085
1205
  sessionSendMessage,
1086
1206
  touchConversation,
1207
+ updatePendingFileUpload,
1087
1208
  ]);
1088
1209
  const uploadFiles = useCallback(async (files, options) => {
1089
1210
  const normalizedFiles = files.filter((file) => file instanceof File);
1090
1211
  if (!enabled || normalizedFiles.length === 0 || isLoading || isUploadingFiles)
1091
1212
  return;
1213
+ void options;
1092
1214
  setLocalError(null);
1093
- const activeId = activeConversationIdRef.current;
1094
- const shouldQueueForNextSend = options?.deferUntilSend === true;
1095
- if (!activeId || shouldQueueForNextSend) {
1096
- queuePendingFiles(normalizedFiles);
1215
+ queuePendingFiles(normalizedFiles);
1216
+ }, [
1217
+ enabled,
1218
+ isLoading,
1219
+ isUploadingFiles,
1220
+ queuePendingFiles,
1221
+ ]);
1222
+ const resolveUserApproval = useCallback(async (approvalId, decision, response) => {
1223
+ if (!enabled)
1097
1224
  return;
1225
+ const conversationId = activeConversationIdRef.current;
1226
+ if (!conversationId) {
1227
+ throw new Error("An active conversation is required to resolve this approval.");
1098
1228
  }
1099
- setIsUploadingFiles(true);
1229
+ const knownConversation = conversationsRef.current.find((conversation) => conversation.id === conversationId);
1230
+ const resolvedPodId = knownConversation?.pod_id ?? scope.podId;
1231
+ setLocalError(null);
1100
1232
  try {
1101
- const fileClient = resolveScopedClient(client, scope.podId);
1102
- const uploadedFiles = await uploadPersonalFiles(fileClient, normalizedFiles);
1103
- const fileMessage = `Personal files available to this run:\n${formatPersonalFileReferences(uploadedFiles)}`;
1104
- setIsStreaming(true);
1105
- await sessionSendMessage(fileMessage, {
1106
- conversationId: activeId,
1233
+ await client.conversations.approvals.resolve(conversationId, approvalId, { decision, response: response ?? {} }, { pod_id: resolvedPodId ?? undefined });
1234
+ await loadConversationMessages(conversationId);
1235
+ void sessionResumeIfRunning(conversationId).catch((error) => {
1236
+ setLocalError((prev) => prev || (error instanceof Error ? error.message : "Failed to resume conversation"));
1107
1237
  });
1108
- await loadConversationMessages(activeId);
1109
- touchConversation(activeId, { updated_at: new Date().toISOString() });
1110
1238
  }
1111
1239
  catch (err) {
1112
- setLocalError(err instanceof Error ? err.message : "Failed to upload files");
1240
+ setLocalError(err instanceof Error ? err.message : "Failed to resolve approval");
1113
1241
  throw err;
1114
1242
  }
1115
- finally {
1116
- setIsStreaming(false);
1117
- setIsUploadingFiles(false);
1118
- }
1119
- }, [
1120
- client,
1121
- enabled,
1122
- isLoading,
1123
- isUploadingFiles,
1124
- loadConversationMessages,
1125
- queuePendingFiles,
1126
- scope.podId,
1127
- sessionSendMessage,
1128
- touchConversation,
1129
- ]);
1243
+ }, [client, enabled, loadConversationMessages, scope.podId, sessionResumeIfRunning]);
1130
1244
  const { pendingActions, completedActions } = useMemo(() => {
1131
1245
  const pending = [];
1132
1246
  const completed = [];
@@ -1168,6 +1282,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
1168
1282
  activeConversationId,
1169
1283
  availableModels,
1170
1284
  conversationModel,
1285
+ conversationRuntime,
1171
1286
  isActiveConversationRunning,
1172
1287
  isLoading,
1173
1288
  isLoadingConversations,
@@ -1176,9 +1291,11 @@ export function useAssistantController({ client, podId, agentName, assistantName
1176
1291
  hasOlderMessages: !!olderMessagesCursor,
1177
1292
  isUploadingFiles,
1178
1293
  pendingFiles,
1294
+ pendingFileUploads,
1179
1295
  error,
1180
1296
  pendingActions,
1181
1297
  completedActions,
1298
+ streamingTool: sessionStreamingTool,
1182
1299
  selectConversation,
1183
1300
  setConversationModel,
1184
1301
  sendMessage,
@@ -1186,6 +1303,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
1186
1303
  removePendingFile,
1187
1304
  clearPendingFiles,
1188
1305
  loadOlderMessages,
1306
+ resolveUserApproval,
1189
1307
  clearMessages,
1190
1308
  stop,
1191
1309
  }), [
@@ -1194,6 +1312,7 @@ export function useAssistantController({ client, podId, agentName, assistantName
1194
1312
  clearMessages,
1195
1313
  clearPendingFiles,
1196
1314
  completedActions,
1315
+ conversationRuntime,
1197
1316
  conversationModel,
1198
1317
  conversations,
1199
1318
  error,
@@ -1207,10 +1326,13 @@ export function useAssistantController({ client, podId, agentName, assistantName
1207
1326
  messages,
1208
1327
  olderMessagesCursor,
1209
1328
  pendingActions,
1329
+ pendingFileUploads,
1210
1330
  pendingFiles,
1211
1331
  removePendingFile,
1332
+ resolveUserApproval,
1212
1333
  selectConversation,
1213
1334
  sendMessage,
1335
+ sessionStreamingTool,
1214
1336
  setConversationModel,
1215
1337
  stop,
1216
1338
  uploadFiles,
@@ -1,8 +1,6 @@
1
1
  import type { LemmaClient } from "../client.js";
2
2
  import { type SseRawEvent } from "../streams.js";
3
- import type { Conversation, ConversationMessage, ConversationModel, CursorPage } from "../types.js";
4
- import type { ConversationStatus } from "../openapi_client/models/ConversationStatus.js";
5
- import type { ConversationType } from "../openapi_client/models/ConversationType.js";
3
+ import type { AgentRuntimeConfig, Conversation, ConversationMessage, ConversationModel, CursorPage } from "../types.js";
6
4
  interface ConversationScope {
7
5
  podId?: string | null;
8
6
  agentName?: string | null;
@@ -43,8 +41,8 @@ export interface CreateConversationInput {
43
41
  title?: string | null;
44
42
  instructions?: string | null;
45
43
  metadata?: Record<string, unknown> | null;
46
- type?: ConversationType | `${ConversationType}` | null;
47
44
  model?: ConversationModel | null;
45
+ agentRuntime?: AgentRuntimeConfig | null;
48
46
  podId?: string | null;
49
47
  agentName?: string | null;
50
48
  /**
@@ -71,6 +69,13 @@ export interface ResumeAssistantOptions {
71
69
  onlyIfRunning?: boolean;
72
70
  syncOnTurnEnd?: boolean;
73
71
  }
72
+ export interface AssistantStreamingTool {
73
+ toolCallId?: string;
74
+ toolName: string;
75
+ args?: Record<string, unknown>;
76
+ state: "call" | "result";
77
+ result?: Record<string, unknown>;
78
+ }
74
79
  export interface UseAssistantSessionResult {
75
80
  conversationId: string | null;
76
81
  conversation: Conversation | null;
@@ -82,14 +87,13 @@ export interface UseAssistantSessionResult {
82
87
  finalOutput: ConversationMessage["content"] | null;
83
88
  finalOutputText: string;
84
89
  streamingText: string;
90
+ streamingTool: AssistantStreamingTool | null;
85
91
  isStreaming: boolean;
86
92
  error: Error | null;
87
93
  setConversationId: (conversationId: string | null) => void;
88
94
  listConversations: (options?: {
89
95
  limit?: number;
90
96
  pageToken?: string;
91
- status?: ConversationStatus | `${ConversationStatus}` | null;
92
- type?: ConversationType | `${ConversationType}` | null;
93
97
  scope?: ConversationScope;
94
98
  }) => Promise<CursorPage<Conversation>>;
95
99
  createConversation: (input?: CreateConversationInput) => Promise<Conversation>;