这是indexloc提供的服务,不要输入任何密码
Skip to content

Conversation

@balanceiskey
Copy link
Contributor

I'm not quite happy just yet with where we're at on this, here are some things that we need to address

  • [] - Tests
  • [] - HumanInput/RequestApproval flows are extremely similar in a lot of ways and we're doing duplication that's likely room for consolidation
  • [] - There's a curious race condition/loop I'm seeing between runs in the Task reconciler that looks like 400s to our LLM provider: 2025-04-08T11:47:49-05:00 DEBUG events langchain API call failed: API returned unexpected status code: 400: An assistant message with 'tool_calls' must be followed by tool messages responding to each 'tool_call_id'. The following tool_call_ids did not have response messages: call_L4XbOAVTfMYK4u9UXrrgcStS {"type": "Warning", "object": {"kind":"Task","namespace":"default","name":"fetch-task","uid":"25e92668-e7d3-4ca7-9d1d-e3b24faae55b","apiVersion":"kubechain.humanlayer.dev/v1alpha1","resourceVersion":"681182"}, "reason": "LLMRequestFailed"}.
  • - Docs Updates

@balanceiskey balanceiskey changed the title Implement Human ContactChannel integration for using humans as tools during resolution Implement Human ContactChannel integration for using humans as tools during Task runs Apr 8, 2025
// Update with call ID and requeue
callId := functionCall.GetCallId()
trtc.Status.ExternalCallID = callId
if err := r.Status().Update(ctx, trtc); err != nil {
Copy link
Contributor

@dexhorthy dexhorthy Apr 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not following the pattern of doing a deepcopy for status changes. Maybe that's ok, esp if you have bigger plans for this controller/refac

Copy link
Contributor

@dexhorthy dexhorthy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

couple small things overall looks good


// TaskRunToolCallPhase represents the phase of a TaskRunToolCall
// +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed;AwaitingHumanInput;AwaitingSubAgent;AwaitingHumanApproval;ReadyToExecuteApprovedTool;ErrorRequestingHumanApproval;ToolCallRejected
// +kubebuilder:validation:Enum=Pending;Running;Succeeded;Failed;AwaitingHumanInput;AwaitingSubAgent;AwaitingHumanApproval;ReadyToExecuteApprovedTool;ErrorRequestingHumanApproval;ToolCallRejected;ErrorRequestingHumanInput
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note for myself, think we should just consolidate ErrorRequestingHuman* into ErrorExternalCallRequest or the like

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants