Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
46 lines
1.6 KiB
Go
46 lines
1.6 KiB
Go
package api
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
|
|
tuttigenerated "github.com/tutti-os/tutti/services/tuttid/api/generated"
|
|
"github.com/tutti-os/tutti/services/tuttid/apierrors"
|
|
agentmaintenance "github.com/tutti-os/tutti/services/tuttid/service/agentmaintenance"
|
|
)
|
|
|
|
func (api DaemonAPI) PurgeDeletedAgentConversations(
|
|
ctx context.Context,
|
|
_ tuttigenerated.PurgeDeletedAgentConversationsRequestObject,
|
|
) (tuttigenerated.PurgeDeletedAgentConversationsResponseObject, error) {
|
|
if api.AgentMaintenanceService == nil {
|
|
return tuttigenerated.PurgeDeletedAgentConversations503JSONResponse{
|
|
ServiceUnavailableErrorJSONResponse: serviceUnavailableError(
|
|
apierrors.WorkspaceServiceUnavailable(apierrors.WithDeveloperMessage("agent data maintenance service is unavailable")),
|
|
),
|
|
}, nil
|
|
}
|
|
result, err := api.AgentMaintenanceService.PurgeNow(ctx)
|
|
if errors.Is(err, agentmaintenance.ErrBusy) {
|
|
return tuttigenerated.PurgeDeletedAgentConversations503JSONResponse{
|
|
ServiceUnavailableErrorJSONResponse: serviceUnavailableError(
|
|
apierrors.WorkspaceServiceUnavailable(
|
|
apierrors.WithDeveloperMessage("agent data maintenance is waiting for active work to finish"),
|
|
),
|
|
),
|
|
}, nil
|
|
}
|
|
if err != nil {
|
|
return tuttigenerated.PurgeDeletedAgentConversations502JSONResponse{
|
|
WorkspaceOperationErrorJSONResponse: workspaceOperationError(
|
|
apierrors.WorkspaceOperationFailed(apierrors.WithCause(err)),
|
|
),
|
|
}, nil
|
|
}
|
|
return tuttigenerated.PurgeDeletedAgentConversations200JSONResponse{
|
|
RemovedSessions: result.RemovedSessions,
|
|
RemovedMessages: result.RemovedMessages,
|
|
PayloadBytes: result.PayloadBytes,
|
|
}, nil
|
|
}
|