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.
- package/README.md +2 -5
- package/dist/assistant-events.d.ts +2 -0
- package/dist/assistant-events.js +50 -3
- package/dist/browser/lemma-client.js +1333 -435
- package/dist/client.d.ts +8 -0
- package/dist/client.js +13 -1
- package/dist/config.d.ts +2 -2
- package/dist/config.js +2 -2
- package/dist/hey_client/client/client.gen.d.ts +2 -0
- package/dist/hey_client/client/client.gen.js +216 -0
- package/dist/hey_client/client/index.d.ts +10 -0
- package/dist/hey_client/client/index.js +6 -0
- package/dist/hey_client/client/types.gen.d.ts +120 -0
- package/dist/hey_client/client/types.gen.js +2 -0
- package/dist/hey_client/client/utils.gen.d.ts +37 -0
- package/dist/hey_client/client/utils.gen.js +228 -0
- package/dist/hey_client/client.gen.d.ts +12 -0
- package/dist/hey_client/client.gen.js +3 -0
- package/dist/hey_client/core/auth.gen.d.ts +25 -0
- package/dist/hey_client/core/auth.gen.js +14 -0
- package/dist/hey_client/core/bodySerializer.gen.d.ts +25 -0
- package/dist/hey_client/core/bodySerializer.gen.js +57 -0
- package/dist/hey_client/core/params.gen.d.ts +43 -0
- package/dist/hey_client/core/params.gen.js +100 -0
- package/dist/hey_client/core/pathSerializer.gen.d.ts +33 -0
- package/dist/hey_client/core/pathSerializer.gen.js +106 -0
- package/dist/hey_client/core/queryKeySerializer.gen.d.ts +18 -0
- package/dist/hey_client/core/queryKeySerializer.gen.js +92 -0
- package/dist/hey_client/core/serverSentEvents.gen.d.ts +71 -0
- package/dist/hey_client/core/serverSentEvents.gen.js +132 -0
- package/dist/hey_client/core/types.gen.d.ts +83 -0
- package/dist/hey_client/core/types.gen.js +2 -0
- package/dist/hey_client/core/utils.gen.d.ts +19 -0
- package/dist/hey_client/core/utils.gen.js +87 -0
- package/dist/hey_client/index.d.ts +2 -0
- package/dist/hey_client/index.js +2 -0
- package/dist/hey_client/sdk.gen.d.ts +1005 -0
- package/dist/hey_client/sdk.gen.js +1438 -0
- package/dist/hey_client/types.gen.d.ts +13004 -0
- package/dist/hey_client/types.gen.js +2 -0
- package/dist/index.d.ts +4 -0
- package/dist/namespaces/agent-runtime.d.ts +28 -0
- package/dist/namespaces/agent-runtime.js +34 -0
- package/dist/namespaces/agents.d.ts +8 -3
- package/dist/namespaces/agents.js +4 -0
- package/dist/namespaces/conversations.d.ts +35 -7
- package/dist/namespaces/conversations.js +103 -22
- package/dist/namespaces/desks.d.ts +3 -3
- package/dist/namespaces/files.d.ts +17 -28
- package/dist/namespaces/files.js +10 -11
- package/dist/namespaces/functions.d.ts +8 -3
- package/dist/namespaces/functions.js +4 -0
- package/dist/namespaces/integrations.d.ts +54 -12
- package/dist/namespaces/integrations.js +52 -16
- package/dist/namespaces/pod-members.d.ts +1 -0
- package/dist/namespaces/pod-members.js +4 -1
- package/dist/namespaces/pod-permissions.d.ts +14 -0
- package/dist/namespaces/pod-permissions.js +18 -0
- package/dist/namespaces/pod-roles.d.ts +16 -0
- package/dist/namespaces/pod-roles.js +25 -0
- package/dist/namespaces/pod-surfaces.d.ts +8 -3
- package/dist/namespaces/pod-surfaces.js +15 -6
- package/dist/namespaces/pods.d.ts +2 -3
- package/dist/namespaces/pods.js +1 -6
- package/dist/namespaces/records.d.ts +7 -7
- package/dist/namespaces/resource-access.d.ts +11 -0
- package/dist/namespaces/resource-access.js +18 -0
- package/dist/namespaces/schedules.d.ts +4 -3
- package/dist/namespaces/schedules.js +1 -1
- package/dist/namespaces/tables.d.ts +6 -6
- package/dist/namespaces/workflows.d.ts +16 -12
- package/dist/namespaces/workflows.js +9 -18
- package/dist/openapi_client/index.d.ts +90 -61
- package/dist/openapi_client/index.js +17 -12
- package/dist/openapi_client/models/AccountCreateSchema.d.ts +18 -0
- package/dist/openapi_client/models/AccountResponseSchema.d.ts +3 -0
- package/dist/openapi_client/models/AgentActionResponse.d.ts +20 -0
- package/dist/openapi_client/models/AgentDetailResponse.d.ts +22 -0
- package/dist/openapi_client/models/AgentHarnessInfo.d.ts +11 -0
- package/dist/openapi_client/models/AgentHarnessListResponse.d.ts +4 -0
- package/dist/openapi_client/models/AgentListResponse.d.ts +2 -2
- package/dist/openapi_client/models/AgentNode.d.ts +1 -1
- package/dist/openapi_client/models/AgentNodeConfig.d.ts +1 -1
- package/dist/openapi_client/models/AgentPermissionsReplaceRequest.d.ts +4 -0
- package/dist/openapi_client/models/AgentPermissionsResponse.d.ts +6 -0
- package/dist/openapi_client/models/AgentResourcePermissionRequest.d.ts +6 -0
- package/dist/openapi_client/models/AgentResourcePermissionResponse.d.ts +6 -0
- package/dist/openapi_client/models/AgentRunApprovalDecision.d.ts +8 -0
- package/dist/openapi_client/models/AgentRunApprovalDecision.js +13 -0
- package/dist/openapi_client/models/AgentRuntimeConfig.d.ts +7 -0
- package/dist/openapi_client/models/AgentRuntimeProfileListResponse.d.ts +6 -0
- package/dist/openapi_client/models/AgentRuntimeProfileResponse.d.ts +28 -0
- package/dist/openapi_client/models/AgentSurfaceResponse.d.ts +8 -12
- package/dist/openapi_client/models/AgentSurfaceStatus.d.ts +3 -1
- package/dist/openapi_client/models/AgentSurfaceStatus.js +2 -0
- package/dist/openapi_client/models/ApplicationDetailResponseSchema.d.ts +3 -3
- package/dist/openapi_client/models/ApplicationResponseSchema.d.ts +3 -3
- package/dist/openapi_client/models/ApplicationSkillResponse.d.ts +6 -0
- package/dist/openapi_client/models/AuthConfigCreateSchema.d.ts +7 -0
- package/dist/openapi_client/models/AuthConfigListResponseSchema.d.ts +6 -0
- package/dist/openapi_client/models/AuthConfigResponseSchema.d.ts +13 -0
- package/dist/openapi_client/models/AuthScheme.d.ts +5 -0
- package/dist/openapi_client/models/AuthScheme.js +10 -0
- package/dist/openapi_client/models/ComposioProviderCapabilityResponseSchema.d.ts +9 -0
- package/dist/openapi_client/models/ConnectRequestInitiateSchema.d.ts +5 -1
- package/dist/openapi_client/models/ConnectRequestResponseSchema.d.ts +2 -0
- package/dist/openapi_client/models/ConnectedAccountSummary.d.ts +7 -0
- package/dist/openapi_client/models/ConversationResponse.d.ts +2 -2
- package/dist/openapi_client/models/ConvertedArtifactResponse.d.ts +1 -0
- package/dist/openapi_client/models/ConvertedFileResponse.d.ts +4 -0
- package/dist/openapi_client/models/ConvertedPageResponse.d.ts +8 -0
- package/dist/openapi_client/models/CreateAgentRequest.d.ts +4 -12
- package/dist/openapi_client/models/CreateAnthropicCompatibleRuntimeProfileRequest.d.ts +11 -0
- package/dist/openapi_client/models/CreateConversationRequest.d.ts +2 -2
- package/dist/openapi_client/models/CreateDeskRequest.d.ts +1 -1
- package/dist/openapi_client/models/CreateFolderRequest.d.ts +1 -1
- package/dist/openapi_client/models/CreateFunctionRequest.d.ts +2 -7
- package/dist/openapi_client/models/CreateOpenAICompatibleRuntimeProfileRequest.d.ts +11 -0
- package/dist/openapi_client/models/CreateScheduleRequest.d.ts +17 -1
- package/dist/openapi_client/models/CreateSurfaceRequest.d.ts +6 -15
- package/dist/openapi_client/models/CreateTableRequest.d.ts +1 -1
- package/dist/openapi_client/models/CreateUserDaemonRuntimeProfileRequest.d.ts +11 -0
- package/dist/openapi_client/models/DataStoreFlowStartInput.d.ts +1 -1
- package/dist/openapi_client/models/DataStoreFlowStartOutput.d.ts +1 -1
- package/dist/openapi_client/models/DatastoreCountResponse.d.ts +6 -0
- package/dist/openapi_client/models/DatastoreFileUploadRequest.d.ts +1 -1
- package/dist/openapi_client/models/DecisionNode.d.ts +2 -1
- package/dist/openapi_client/models/DecisionRule.d.ts +3 -0
- package/dist/openapi_client/models/DeskBundleUploadResponse.d.ts +2 -2
- package/dist/openapi_client/models/{DeskResponse.d.ts → DeskDetailResponse.d.ts} +2 -2
- package/dist/openapi_client/models/DeskListResponse.d.ts +2 -2
- package/dist/openapi_client/models/EndNode.d.ts +1 -1
- package/dist/openapi_client/models/EventFlowStartInput.d.ts +0 -8
- package/dist/openapi_client/models/EventFlowStartOutput.d.ts +0 -8
- package/dist/openapi_client/models/ExpressionInputBinding.d.ts +6 -2
- package/dist/openapi_client/models/{FileResponse.d.ts → FileDetailResponse.d.ts} +2 -2
- package/dist/openapi_client/models/FileListResponse.d.ts +3 -2
- package/dist/openapi_client/models/FileSearchResponse.d.ts +2 -2
- package/dist/openapi_client/models/{FlowResponse.d.ts → FlowDetailResponse.d.ts} +2 -2
- package/dist/openapi_client/models/FlowRunStatus.d.ts +4 -1
- package/dist/openapi_client/models/FlowRunStatus.js +4 -1
- package/dist/openapi_client/models/FormNode.d.ts +2 -1
- package/dist/openapi_client/models/FormNodeConfig.d.ts +1 -1
- package/dist/openapi_client/models/{FunctionResponse.d.ts → FunctionActionResponse.d.ts} +3 -10
- package/dist/openapi_client/models/FunctionDetailResponse.d.ts +34 -0
- package/dist/openapi_client/models/FunctionListResponse.d.ts +2 -2
- package/dist/openapi_client/models/FunctionNode.d.ts +2 -1
- package/dist/openapi_client/models/FunctionPermissionsReplaceRequest.d.ts +4 -0
- package/dist/openapi_client/models/FunctionPermissionsResponse.d.ts +6 -0
- package/dist/openapi_client/models/FunctionResourcePermissionRequest.d.ts +6 -0
- package/dist/openapi_client/models/FunctionResourcePermissionResponse.d.ts +6 -0
- package/dist/openapi_client/models/FunctionRunListResponse.d.ts +2 -2
- package/dist/openapi_client/models/FunctionRunSummaryResponse.d.ts +13 -0
- package/dist/openapi_client/models/HarnessKind.d.ts +4 -2
- package/dist/openapi_client/models/HarnessKind.js +4 -2
- package/dist/openapi_client/models/InstalledAppSummary.d.ts +7 -0
- package/dist/openapi_client/models/IntegrationStatusResponse.d.ts +6 -0
- package/dist/openapi_client/models/LemmaProviderCapabilityResponseSchema.d.ts +12 -0
- package/dist/openapi_client/models/LoopNode.d.ts +2 -1
- package/dist/openapi_client/models/LoopNodeConfig.d.ts +3 -3
- package/dist/openapi_client/models/OAuth2DefaultsResponseSchema.d.ts +10 -0
- package/dist/openapi_client/models/OperationSummary.d.ts +4 -0
- package/dist/openapi_client/models/PodConfig.d.ts +6 -0
- package/dist/openapi_client/models/PodCreateRequest.d.ts +2 -0
- package/dist/openapi_client/models/PodEffectivePermissionsResponse.d.ts +4 -0
- package/dist/openapi_client/models/PodMemberAddRequest.d.ts +1 -3
- package/dist/openapi_client/models/PodMemberDetailResponse.d.ts +0 -2
- package/dist/openapi_client/models/PodMemberResponse.d.ts +0 -2
- package/dist/openapi_client/models/PodMemberUpdateRoleRequest.d.ts +1 -3
- package/dist/openapi_client/models/PodPermissionCatalogResponse.d.ts +4 -0
- package/dist/openapi_client/models/PodPermissionResponse.d.ts +7 -0
- package/dist/openapi_client/models/PodResponse.d.ts +2 -0
- package/dist/openapi_client/models/PodRoleCreateRequest.d.ts +2 -0
- package/dist/openapi_client/models/PodRolePermissionsReplaceRequest.d.ts +4 -0
- package/dist/openapi_client/models/PodRolePermissionsResponse.d.ts +6 -0
- package/dist/openapi_client/models/PodRoleResourcePermissionRequest.d.ts +6 -0
- package/dist/openapi_client/models/PodRoleResourcePermissionResponse.d.ts +6 -0
- package/dist/openapi_client/models/PodRoleResponse.d.ts +3 -0
- package/dist/openapi_client/models/PodUpdateRequest.d.ts +2 -0
- package/dist/openapi_client/models/ResolveUserApprovalRequest.d.ts +5 -0
- package/dist/openapi_client/models/ResourceAccessGrantRequest.d.ts +3 -0
- package/dist/openapi_client/models/ResourceAccessGrantResponse.d.ts +12 -0
- package/dist/openapi_client/models/ResourceAccessResponse.d.ts +7 -0
- package/dist/openapi_client/models/ResourceType.d.ts +19 -0
- package/dist/openapi_client/models/ResourceType.js +24 -0
- package/dist/openapi_client/models/ResourceVisibility.d.ts +6 -0
- package/dist/openapi_client/models/ResourceVisibility.js +11 -0
- package/dist/openapi_client/models/RuntimeModelCapability.d.ts +8 -0
- package/dist/openapi_client/models/RuntimeModelCapability.js +13 -0
- package/dist/openapi_client/models/RuntimeModelCatalogEntry.d.ts +9 -0
- package/dist/openapi_client/models/RuntimeModelCatalogEntry.js +1 -0
- package/dist/openapi_client/models/RuntimeProfileKind.d.ts +4 -0
- package/dist/openapi_client/models/RuntimeProfileKind.js +9 -0
- package/dist/openapi_client/models/RuntimeProfileProtocol.d.ts +9 -0
- package/dist/openapi_client/models/RuntimeProfileProtocol.js +14 -0
- package/dist/openapi_client/models/RuntimeProfileScope.d.ts +5 -0
- package/dist/openapi_client/models/RuntimeProfileScope.js +10 -0
- package/dist/openapi_client/models/RuntimeProfileStatus.d.ts +5 -0
- package/dist/openapi_client/models/RuntimeProfileStatus.js +10 -0
- package/dist/openapi_client/models/{ScheduleResponse.d.ts → ScheduleDetailResponse.d.ts} +9 -3
- package/dist/openapi_client/models/ScheduleDetailResponse.js +1 -0
- package/dist/openapi_client/models/ScheduleFireStatus.d.ts +8 -0
- package/dist/openapi_client/models/ScheduleFireStatus.js +13 -0
- package/dist/openapi_client/models/ScheduleListResponse.d.ts +2 -2
- package/dist/openapi_client/models/StepRecordResponse.d.ts +10 -0
- package/dist/openapi_client/models/StepRecordResponse.js +1 -0
- package/dist/openapi_client/models/StepStatus.d.ts +7 -0
- package/dist/openapi_client/models/StepStatus.js +12 -0
- package/dist/openapi_client/models/SurfaceBehaviorConfigInput.d.ts +7 -0
- package/dist/openapi_client/models/SurfaceBehaviorConfigInput.js +1 -0
- package/dist/openapi_client/models/SurfaceChannelRouteInput.d.ts +6 -0
- package/dist/openapi_client/models/SurfaceChannelRouteInput.js +1 -0
- package/dist/openapi_client/models/SurfaceChannelRouteResponse.d.ts +6 -0
- package/dist/openapi_client/models/SurfaceChannelRouteResponse.js +1 -0
- package/dist/openapi_client/models/SurfaceConfigResponse.d.ts +10 -0
- package/dist/openapi_client/models/SurfaceConfigResponse.js +1 -0
- package/dist/openapi_client/models/SurfaceCredentialMode.d.ts +2 -2
- package/dist/openapi_client/models/SurfaceCredentialMode.js +2 -2
- package/dist/openapi_client/models/SurfaceIdentityConfigInput.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceIdentityConfigInput.js +1 -0
- package/dist/openapi_client/models/SurfaceIdentityConfigResponse.d.ts +4 -0
- package/dist/openapi_client/models/SurfaceIdentityConfigResponse.js +1 -0
- package/dist/openapi_client/models/SurfaceSetupMode.d.ts +2 -3
- package/dist/openapi_client/models/SurfaceSetupMode.js +1 -2
- package/dist/openapi_client/models/SurfaceSetupStatusResponse.d.ts +10 -0
- package/dist/openapi_client/models/SurfaceSetupStatusResponse.js +1 -0
- package/dist/openapi_client/models/{TableResponse.d.ts → TableDetailResponse.d.ts} +3 -3
- package/dist/openapi_client/models/TableDetailResponse.js +1 -0
- package/dist/openapi_client/models/TableListResponse.d.ts +4 -2
- package/dist/openapi_client/models/ToggleSurfaceRequest.d.ts +1 -1
- package/dist/openapi_client/models/UpdateAgentRequest.d.ts +4 -12
- package/dist/openapi_client/models/UpdateConversationRequest.d.ts +2 -2
- package/dist/openapi_client/models/UpdateDeskRequest.d.ts +0 -1
- package/dist/openapi_client/models/UpdateFunctionRequest.d.ts +2 -6
- package/dist/openapi_client/models/UpdateScheduleRequest.d.ts +2 -1
- package/dist/openapi_client/models/UpdateSurfaceChannelsRequest.d.ts +4 -0
- package/dist/openapi_client/models/UpdateSurfaceChannelsRequest.js +1 -0
- package/dist/openapi_client/models/UpdateSurfaceRequest.d.ts +5 -15
- package/dist/openapi_client/models/UpdateTableRequest.d.ts +1 -1
- package/dist/openapi_client/models/UpsertSurfaceRequest.d.ts +9 -0
- package/dist/openapi_client/models/UpsertSurfaceRequest.js +1 -0
- package/dist/openapi_client/models/UsageLimitScopeResponse.d.ts +2 -3
- package/dist/openapi_client/models/UsageLimitsResponse.d.ts +1 -4
- package/dist/openapi_client/models/UsageListResponse.d.ts +0 -3
- package/dist/openapi_client/models/UsageRecordResponse.d.ts +10 -14
- package/dist/openapi_client/models/UsageStatsBucketResponse.d.ts +1 -4
- package/dist/openapi_client/models/UsageStatsResponse.d.ts +0 -3
- package/dist/openapi_client/models/UsageSummaryResponse.d.ts +4 -6
- package/dist/openapi_client/models/UserApprovalListResponse.d.ts +4 -0
- package/dist/openapi_client/models/UserApprovalListResponse.js +1 -0
- package/dist/openapi_client/models/UserProfileRequest.d.ts +1 -0
- package/dist/openapi_client/models/UserResponse.d.ts +1 -0
- package/dist/openapi_client/models/VerifyTokenResponse.d.ts +5 -0
- package/dist/openapi_client/models/WaitUntilNode.d.ts +1 -1
- package/dist/openapi_client/models/WorkflowCreateRequest.d.ts +18 -1
- package/dist/openapi_client/models/WorkflowListResponse.d.ts +2 -2
- package/dist/openapi_client/models/WorkflowRunFormSubmitRequest.d.ts +13 -0
- package/dist/openapi_client/models/WorkflowRunFormSubmitRequest.js +1 -0
- package/dist/openapi_client/models/WorkflowRunListResponse.d.ts +2 -2
- package/dist/openapi_client/models/WorkflowRunResponse.d.ts +28 -0
- package/dist/openapi_client/models/WorkflowRunResponse.js +1 -0
- package/dist/openapi_client/models/WorkflowRunSummaryResponse.d.ts +17 -0
- package/dist/openapi_client/models/WorkflowRunSummaryResponse.js +1 -0
- package/dist/openapi_client/models/WorkflowRunWaitAssignment.d.ts +4 -4
- package/dist/openapi_client/models/{WorkflowRunWaitEntity.d.ts → WorkflowRunWaitResponse.d.ts} +4 -8
- package/dist/openapi_client/models/WorkflowRunWaitResponse.js +1 -0
- package/dist/openapi_client/models/WorkflowRunWaitType.d.ts +1 -2
- package/dist/openapi_client/models/WorkflowRunWaitType.js +0 -1
- package/dist/openapi_client/models/WorkflowUpdateRequest.d.ts +2 -1
- package/dist/openapi_client/models/WorkspaceAppAccessRequest.d.ts +3 -0
- package/dist/openapi_client/models/WorkspaceAppAccessRequest.js +1 -0
- package/dist/openapi_client/models/WorkspaceAppAccessResponse.d.ts +5 -0
- package/dist/openapi_client/models/WorkspaceAppAccessResponse.js +1 -0
- package/dist/openapi_client/models/WorkspaceMeApp.d.ts +5 -0
- package/dist/openapi_client/models/WorkspaceMeApp.js +1 -0
- package/dist/openapi_client/models/WorkspaceMeResponse.d.ts +9 -0
- package/dist/openapi_client/models/WorkspaceMeResponse.js +1 -0
- package/dist/openapi_client/models/WorkspaceMeSandbox.d.ts +7 -0
- package/dist/openapi_client/models/WorkspaceMeSandbox.js +1 -0
- package/dist/openapi_client/models/WorkspaceMeSession.d.ts +6 -0
- package/dist/openapi_client/models/WorkspaceMeSession.js +1 -0
- package/dist/openapi_client/models/update.d.ts +1 -1
- package/dist/openapi_client/services/AgentConversationsService.d.ts +28 -3
- package/dist/openapi_client/services/AgentConversationsService.js +54 -3
- package/dist/openapi_client/services/AgentRuntimeService.d.ts +30 -0
- package/dist/openapi_client/services/AgentRuntimeService.js +54 -0
- package/dist/openapi_client/services/AgentSurfacesIngressService.d.ts +15 -20
- package/dist/openapi_client/services/AgentSurfacesIngressService.js +23 -28
- package/dist/openapi_client/services/AgentSurfacesService.d.ts +41 -12
- package/dist/openapi_client/services/AgentSurfacesService.js +90 -24
- package/dist/openapi_client/services/AgentToolsService.d.ts +0 -10
- package/dist/openapi_client/services/AgentToolsService.js +0 -18
- package/dist/openapi_client/services/AgentsService.d.ts +31 -9
- package/dist/openapi_client/services/AgentsService.js +50 -5
- package/dist/openapi_client/services/ApplicationsService.d.ts +22 -8
- package/dist/openapi_client/services/ApplicationsService.js +47 -16
- package/dist/openapi_client/services/DesksService.d.ts +7 -7
- package/dist/openapi_client/services/DesksService.js +3 -3
- package/dist/openapi_client/services/FilesService.d.ts +20 -12
- package/dist/openapi_client/services/FilesService.js +29 -5
- package/dist/openapi_client/services/FunctionsService.d.ts +30 -8
- package/dist/openapi_client/services/FunctionsService.js +49 -4
- package/dist/openapi_client/services/IntegrationsService.d.ts +70 -11
- package/dist/openapi_client/services/IntegrationsService.js +159 -20
- package/dist/openapi_client/services/OrganizationsService.d.ts +8 -0
- package/dist/openapi_client/services/OrganizationsService.js +19 -0
- package/dist/openapi_client/services/PodMembersService.d.ts +0 -10
- package/dist/openapi_client/services/PodMembersService.js +0 -24
- package/dist/openapi_client/services/PodPermissionsService.d.ts +19 -0
- package/dist/openapi_client/services/PodPermissionsService.js +40 -0
- package/dist/openapi_client/services/PodResourceAccessService.d.ts +38 -0
- package/dist/openapi_client/services/PodResourceAccessService.js +81 -0
- package/dist/openapi_client/services/PodRolesService.d.ts +28 -0
- package/dist/openapi_client/services/PodRolesService.js +66 -0
- package/dist/openapi_client/services/RecordsService.d.ts +21 -22
- package/dist/openapi_client/services/RecordsService.js +13 -13
- package/dist/openapi_client/services/SchedulesService.d.ts +9 -8
- package/dist/openapi_client/services/SchedulesService.js +6 -4
- package/dist/openapi_client/services/TablesService.d.ts +13 -14
- package/dist/openapi_client/services/TablesService.js +6 -6
- package/dist/openapi_client/services/UsageService.d.ts +96 -0
- package/dist/openapi_client/services/UsageService.js +210 -0
- package/dist/openapi_client/services/WorkflowsService.d.ts +44 -35
- package/dist/openapi_client/services/WorkflowsService.js +61 -43
- package/dist/openapi_client/services/WorkspaceAppsService.d.ts +12 -0
- package/dist/openapi_client/services/WorkspaceAppsService.js +21 -0
- package/dist/openapi_client/services/WorkspaceService.d.ts +10 -0
- package/dist/openapi_client/services/WorkspaceService.js +15 -0
- package/dist/react/AuthGuard.d.ts +16 -2
- package/dist/react/AuthGuard.js +169 -130
- package/dist/react/index.d.ts +1 -1
- package/dist/react/useAddPodMember.js +1 -1
- package/dist/react/useAssistantController.d.ts +27 -3
- package/dist/react/useAssistantController.js +192 -70
- package/dist/react/useAssistantSession.d.ts +10 -6
- package/dist/react/useAssistantSession.js +146 -4
- package/dist/react/useBulkRecords.d.ts +5 -5
- package/dist/react/useBulkRecords.js +5 -5
- package/dist/react/useConversations.d.ts +1 -7
- package/dist/react/useConversations.js +4 -10
- package/dist/react/useCreateFolder.d.ts +2 -4
- package/dist/react/useCreateFolder.js +2 -3
- package/dist/react/useCreateRecord.d.ts +2 -2
- package/dist/react/useCreateRecord.js +1 -1
- package/dist/react/useDeleteFile.d.ts +1 -4
- package/dist/react/useDeleteFile.js +3 -3
- package/dist/react/useDeleteRecord.d.ts +1 -2
- package/dist/react/useDeleteRecord.js +3 -3
- package/dist/react/useFile.d.ts +2 -4
- package/dist/react/useFile.js +3 -3
- package/dist/react/useFilePreview.d.ts +1 -4
- package/dist/react/useFilePreview.js +4 -5
- package/dist/react/useFileSearch.d.ts +5 -1
- package/dist/react/useFileSearch.js +6 -4
- package/dist/react/useFileTree.d.ts +2 -4
- package/dist/react/useFileTree.js +2 -3
- package/dist/react/useFiles.d.ts +2 -4
- package/dist/react/useFiles.js +3 -5
- package/dist/react/useFlowRunHistory.d.ts +4 -4
- package/dist/react/useFlowRunHistory.js +9 -4
- package/dist/react/useFlowSession.d.ts +5 -3
- package/dist/react/useFlowSession.js +24 -17
- package/dist/react/useFunctionRun.d.ts +2 -2
- package/dist/react/useFunctionRuns.d.ts +5 -5
- package/dist/react/useFunctionSession.d.ts +2 -2
- package/dist/react/useGlobalSearch.js +1 -1
- package/dist/react/useRecord.d.ts +2 -2
- package/dist/react/useRecord.js +1 -1
- package/dist/react/useRecordForm.d.ts +2 -2
- package/dist/react/useRecordForm.js +2 -2
- package/dist/react/useReverseRelatedRecords.js +1 -1
- package/dist/react/useUpdateFile.d.ts +2 -4
- package/dist/react/useUpdateFile.js +2 -3
- package/dist/react/useUpdateRecord.d.ts +2 -2
- package/dist/react/useUpdateRecord.js +1 -1
- package/dist/react/useUploadFile.d.ts +2 -4
- package/dist/react/useUploadFile.js +2 -3
- package/dist/react/useWorkflowResume.d.ts +1 -0
- package/dist/react/useWorkflowResume.js +10 -1
- package/dist/react/useWorkflowRun.d.ts +2 -2
- package/dist/react/useWorkflowRun.js +1 -3
- package/dist/react/useWorkflowRuns.d.ts +5 -5
- package/dist/react/useWorkflowStart.d.ts +2 -2
- package/dist/react/useWorkflowStart.js +11 -26
- package/dist/react/utils.js +2 -0
- package/dist/types.d.ts +47 -10
- package/package.json +8 -3
- package/dist/openapi_client/models/AgentModelName.d.ts +0 -13
- package/dist/openapi_client/models/AgentModelName.js +0 -18
- package/dist/openapi_client/models/AgentResponse.d.ts +0 -29
- package/dist/openapi_client/models/ApplicationAccessConfig.d.ts +0 -18
- package/dist/openapi_client/models/ApplicationMode.d.ts +0 -7
- package/dist/openapi_client/models/ApplicationMode.js +0 -12
- package/dist/openapi_client/models/BillingHistoryResponse.d.ts +0 -8
- package/dist/openapi_client/models/BillingInterval.d.ts +0 -7
- package/dist/openapi_client/models/BillingInterval.js +0 -12
- package/dist/openapi_client/models/BillingInvoiceResponse.d.ts +0 -29
- package/dist/openapi_client/models/BillingInvoiceStatus.d.ts +0 -10
- package/dist/openapi_client/models/BillingInvoiceStatus.js +0 -15
- package/dist/openapi_client/models/BillingScope.d.ts +0 -7
- package/dist/openapi_client/models/BillingScope.js +0 -12
- package/dist/openapi_client/models/CancelSubscriptionResponse.d.ts +0 -10
- package/dist/openapi_client/models/CreateInvoicePaymentUrlRequest.d.ts +0 -7
- package/dist/openapi_client/models/CreateInvoicePaymentUrlResponse.d.ts +0 -8
- package/dist/openapi_client/models/DatastoreMessageResponse.d.ts +0 -6
- package/dist/openapi_client/models/FlowRunEntity.d.ts +0 -36
- package/dist/openapi_client/models/FunctionTableAccessEntry.d.ts +0 -5
- package/dist/openapi_client/models/GmailSurfaceConfig.d.ts +0 -7
- package/dist/openapi_client/models/GmailSurfaceConfigInput.d.ts +0 -4
- package/dist/openapi_client/models/OutlookSurfaceConfig.d.ts +0 -7
- package/dist/openapi_client/models/OutlookSurfaceConfigInput.d.ts +0 -4
- package/dist/openapi_client/models/PlanListResponse.d.ts +0 -8
- package/dist/openapi_client/models/PlanResponse.d.ts +0 -17
- package/dist/openapi_client/models/RecentUsageResponse.d.ts +0 -9
- package/dist/openapi_client/models/RecordResponse.d.ts +0 -9
- package/dist/openapi_client/models/SeatInfoResponse.d.ts +0 -10
- package/dist/openapi_client/models/SlackCredentialsInput.d.ts +0 -5
- package/dist/openapi_client/models/SlackSurfaceConfig.d.ts +0 -10
- package/dist/openapi_client/models/SlackSurfaceConfigInput.d.ts +0 -6
- package/dist/openapi_client/models/StackFrame.d.ts +0 -11
- package/dist/openapi_client/models/StartSubscriptionRequest.d.ts +0 -14
- package/dist/openapi_client/models/StartSubscriptionResponse.d.ts +0 -9
- package/dist/openapi_client/models/StartTeamBillingRequest.d.ts +0 -6
- package/dist/openapi_client/models/StepExecution.d.ts +0 -13
- package/dist/openapi_client/models/SubscriptionResponse.d.ts +0 -22
- package/dist/openapi_client/models/SubscriptionStatus.d.ts +0 -10
- package/dist/openapi_client/models/SubscriptionStatus.js +0 -15
- package/dist/openapi_client/models/SubscriptionStatusResponse.d.ts +0 -10
- package/dist/openapi_client/models/SubscriptionWithPlanResponse.d.ts +0 -22
- package/dist/openapi_client/models/SurfaceRoutingScope.d.ts +0 -4
- package/dist/openapi_client/models/SurfaceRoutingScope.js +0 -9
- package/dist/openapi_client/models/SurfaceWebhookMode.d.ts +0 -4
- package/dist/openapi_client/models/SurfaceWebhookMode.js +0 -9
- package/dist/openapi_client/models/TableAccessEntry.d.ts +0 -8
- package/dist/openapi_client/models/TableAccessMode.d.ts +0 -7
- package/dist/openapi_client/models/TableAccessMode.js +0 -12
- package/dist/openapi_client/models/TeamsCredentialsInput.d.ts +0 -6
- package/dist/openapi_client/models/TeamsSurfaceConfig.d.ts +0 -9
- package/dist/openapi_client/models/TeamsSurfaceConfigInput.d.ts +0 -6
- package/dist/openapi_client/models/TelegramCredentialsInput.d.ts +0 -5
- package/dist/openapi_client/models/TelegramSurfaceConfig.d.ts +0 -6
- package/dist/openapi_client/models/TelegramSurfaceConfigInput.d.ts +0 -6
- package/dist/openapi_client/models/WebSearchAgentRequest.d.ts +0 -9
- package/dist/openapi_client/models/WebSearchAgentResponse.d.ts +0 -25
- package/dist/openapi_client/models/WhatsAppCredentialsInput.d.ts +0 -8
- package/dist/openapi_client/models/WhatsAppSurfaceConfig.d.ts +0 -6
- package/dist/openapi_client/models/WhatsAppSurfaceConfigInput.d.ts +0 -6
- package/dist/openapi_client/services/BillingSubscriptionsService.d.ts +0 -116
- package/dist/openapi_client/services/BillingSubscriptionsService.js +0 -230
- package/dist/openapi_client/services/BillingUsageService.d.ts +0 -138
- package/dist/openapi_client/services/BillingUsageService.js +0 -302
- package/dist/openapi_client/services/BillingWebhooksService.d.ts +0 -12
- package/dist/openapi_client/services/BillingWebhooksService.js +0 -25
- /package/dist/openapi_client/models/{AgentResponse.js → AccountCreateSchema.js} +0 -0
- /package/dist/openapi_client/models/{ApplicationAccessConfig.js → AgentActionResponse.js} +0 -0
- /package/dist/openapi_client/models/{BillingHistoryResponse.js → AgentDetailResponse.js} +0 -0
- /package/dist/openapi_client/models/{BillingInvoiceResponse.js → AgentHarnessInfo.js} +0 -0
- /package/dist/openapi_client/models/{CancelSubscriptionResponse.js → AgentHarnessListResponse.js} +0 -0
- /package/dist/openapi_client/models/{CreateInvoicePaymentUrlRequest.js → AgentPermissionsReplaceRequest.js} +0 -0
- /package/dist/openapi_client/models/{CreateInvoicePaymentUrlResponse.js → AgentPermissionsResponse.js} +0 -0
- /package/dist/openapi_client/models/{DatastoreMessageResponse.js → AgentResourcePermissionRequest.js} +0 -0
- /package/dist/openapi_client/models/{DeskResponse.js → AgentResourcePermissionResponse.js} +0 -0
- /package/dist/openapi_client/models/{FileResponse.js → AgentRuntimeConfig.js} +0 -0
- /package/dist/openapi_client/models/{FlowResponse.js → AgentRuntimeProfileListResponse.js} +0 -0
- /package/dist/openapi_client/models/{FlowRunEntity.js → AgentRuntimeProfileResponse.js} +0 -0
- /package/dist/openapi_client/models/{FunctionResponse.js → ApplicationSkillResponse.js} +0 -0
- /package/dist/openapi_client/models/{FunctionTableAccessEntry.js → AuthConfigCreateSchema.js} +0 -0
- /package/dist/openapi_client/models/{GmailSurfaceConfig.js → AuthConfigListResponseSchema.js} +0 -0
- /package/dist/openapi_client/models/{GmailSurfaceConfigInput.js → AuthConfigResponseSchema.js} +0 -0
- /package/dist/openapi_client/models/{OutlookSurfaceConfig.js → ComposioProviderCapabilityResponseSchema.js} +0 -0
- /package/dist/openapi_client/models/{OutlookSurfaceConfigInput.js → ConnectedAccountSummary.js} +0 -0
- /package/dist/openapi_client/models/{PlanListResponse.js → ConvertedPageResponse.js} +0 -0
- /package/dist/openapi_client/models/{PlanResponse.js → CreateAnthropicCompatibleRuntimeProfileRequest.js} +0 -0
- /package/dist/openapi_client/models/{RecentUsageResponse.js → CreateOpenAICompatibleRuntimeProfileRequest.js} +0 -0
- /package/dist/openapi_client/models/{RecordResponse.js → CreateUserDaemonRuntimeProfileRequest.js} +0 -0
- /package/dist/openapi_client/models/{ScheduleResponse.js → DatastoreCountResponse.js} +0 -0
- /package/dist/openapi_client/models/{SeatInfoResponse.js → DeskDetailResponse.js} +0 -0
- /package/dist/openapi_client/models/{SlackCredentialsInput.js → FileDetailResponse.js} +0 -0
- /package/dist/openapi_client/models/{SlackSurfaceConfig.js → FlowDetailResponse.js} +0 -0
- /package/dist/openapi_client/models/{SlackSurfaceConfigInput.js → FunctionActionResponse.js} +0 -0
- /package/dist/openapi_client/models/{StackFrame.js → FunctionDetailResponse.js} +0 -0
- /package/dist/openapi_client/models/{StartSubscriptionRequest.js → FunctionPermissionsReplaceRequest.js} +0 -0
- /package/dist/openapi_client/models/{StartSubscriptionResponse.js → FunctionPermissionsResponse.js} +0 -0
- /package/dist/openapi_client/models/{StartTeamBillingRequest.js → FunctionResourcePermissionRequest.js} +0 -0
- /package/dist/openapi_client/models/{StepExecution.js → FunctionResourcePermissionResponse.js} +0 -0
- /package/dist/openapi_client/models/{SubscriptionResponse.js → FunctionRunSummaryResponse.js} +0 -0
- /package/dist/openapi_client/models/{SubscriptionStatusResponse.js → InstalledAppSummary.js} +0 -0
- /package/dist/openapi_client/models/{SubscriptionWithPlanResponse.js → IntegrationStatusResponse.js} +0 -0
- /package/dist/openapi_client/models/{TableAccessEntry.js → LemmaProviderCapabilityResponseSchema.js} +0 -0
- /package/dist/openapi_client/models/{TableResponse.js → OAuth2DefaultsResponseSchema.js} +0 -0
- /package/dist/openapi_client/models/{TeamsCredentialsInput.js → PodConfig.js} +0 -0
- /package/dist/openapi_client/models/{TeamsSurfaceConfig.js → PodEffectivePermissionsResponse.js} +0 -0
- /package/dist/openapi_client/models/{TeamsSurfaceConfigInput.js → PodPermissionCatalogResponse.js} +0 -0
- /package/dist/openapi_client/models/{TelegramCredentialsInput.js → PodPermissionResponse.js} +0 -0
- /package/dist/openapi_client/models/{TelegramSurfaceConfig.js → PodRolePermissionsReplaceRequest.js} +0 -0
- /package/dist/openapi_client/models/{TelegramSurfaceConfigInput.js → PodRolePermissionsResponse.js} +0 -0
- /package/dist/openapi_client/models/{WebSearchAgentRequest.js → PodRoleResourcePermissionRequest.js} +0 -0
- /package/dist/openapi_client/models/{WebSearchAgentResponse.js → PodRoleResourcePermissionResponse.js} +0 -0
- /package/dist/openapi_client/models/{WhatsAppCredentialsInput.js → ResolveUserApprovalRequest.js} +0 -0
- /package/dist/openapi_client/models/{WhatsAppSurfaceConfig.js → ResourceAccessGrantRequest.js} +0 -0
- /package/dist/openapi_client/models/{WhatsAppSurfaceConfigInput.js → ResourceAccessGrantResponse.js} +0 -0
- /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 (
|
|
182
|
+
if ("tool_output" in content) {
|
|
183
183
|
return {
|
|
184
|
-
kind: "
|
|
184
|
+
kind: "result",
|
|
185
185
|
toolCallId,
|
|
186
186
|
toolName,
|
|
187
|
-
|
|
187
|
+
result: normalizeToolResult(content.tool_output),
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
|
-
if ("
|
|
190
|
+
if (typeof content.tool_name === "string") {
|
|
191
191
|
return {
|
|
192
|
-
kind: "
|
|
192
|
+
kind: "call",
|
|
193
193
|
toolCallId,
|
|
194
194
|
toolName,
|
|
195
|
-
|
|
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
|
-
|
|
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
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
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 [
|
|
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
|
|
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
|
-
|
|
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,
|
|
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, {
|
|
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
|
-
|
|
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
|
-
|
|
1102
|
+
setPendingFileUploads((prev) => {
|
|
1011
1103
|
const byKey = new Map();
|
|
1012
|
-
prev.forEach((
|
|
1013
|
-
files.forEach((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
|
-
|
|
1117
|
+
setPendingFileUploads((prev) => prev.filter((upload) => upload.key !== fileKey));
|
|
1019
1118
|
}, []);
|
|
1020
1119
|
const clearPendingFiles = useCallback(() => {
|
|
1021
|
-
|
|
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
|
-
|
|
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, {
|
|
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
|
-
|
|
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
|
-
|
|
1047
|
-
messageContent = appendPersonalFileReferences(
|
|
1048
|
-
|
|
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:
|
|
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
|
-
|
|
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
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
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
|
-
|
|
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
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
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
|
|
1240
|
+
setLocalError(err instanceof Error ? err.message : "Failed to resolve approval");
|
|
1113
1241
|
throw err;
|
|
1114
1242
|
}
|
|
1115
|
-
|
|
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>;
|