From 0e27f4c7496017726ac551cd798b3ec4c6a6c594 Mon Sep 17 00:00:00 2001 From: Dex Date: Mon, 12 May 2025 16:30:24 -0500 Subject: [PATCH] Revert "rollback latest to v0.5.1" --- acp/config/release/latest-crd.yaml | 110 ++++++++++++++++++++++- acp/config/release/latest.yaml | 135 +++++++++++++++++++++++++++-- 2 files changed, 237 insertions(+), 8 deletions(-) diff --git a/acp/config/release/latest-crd.yaml b/acp/config/release/latest-crd.yaml index b1c4718..27660f7 100644 --- a/acp/config/release/latest-crd.yaml +++ b/acp/config/release/latest-crd.yaml @@ -49,6 +49,11 @@ spec: spec: description: AgentSpec defines the desired state of Agent properties: + description: + description: |- + Description is an optional description for an agent. + If present, it's included in any "delegateToAgent" tool descriptions + type: string humanContactChannels: description: HumanContactChannels is a list of ContactChannel resources that can be used for human interactions @@ -88,6 +93,22 @@ spec: - name type: object type: array + subAgents: + description: |- + SubAgents is a list of local object references to other Agents + that can be delegated to as sub-agents. + items: + description: LocalObjectReference contains enough information to + locate the referenced resource in the same namespace + properties: + name: + description: Name of the referent + minLength: 1 + type: string + required: + - name + type: object + type: array system: description: System is the system prompt for the agent minLength: 1 @@ -147,6 +168,18 @@ spec: - name type: object type: array + validSubAgents: + description: ValidSubAgents is the list of sub-agents that were successfully + validated + items: + properties: + name: + description: Name of the sub-agent + type: string + required: + - name + type: object + type: array type: object type: object served: true @@ -726,6 +759,9 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: + - jsonPath: .spec.agentRef.name + name: Agent + type: string - jsonPath: .status.ready name: Ready type: boolean @@ -793,13 +829,81 @@ spec: required: - name type: object + contextWindow: + description: |- + ContextWindow provides the initial conversation context when creating a Task. + If provided, contextWindow will be used and userMessage must be empty. + This will be copied to status.ContextWindow, which is the source of truth + for the ongoing conversation. + items: + description: Message represents a single message in the conversation + properties: + content: + description: Content is the message content + type: string + name: + description: Name is the name of the tool that was called + type: string + role: + description: Role is the role of the message sender (system, + user, assistant, tool) + enum: + - system + - user + - assistant + - tool + type: string + toolCallId: + description: ToolCallID is the unique identifier for this tool + call + type: string + toolCalls: + description: ToolCalls contains any tool calls requested by + this message + items: + description: ToolCall represents a request to call a tool + properties: + function: + description: Function contains the details of the function + to call + properties: + arguments: + description: Arguments contains the arguments to pass + to the function in JSON format + type: string + name: + description: Name is the name of the function to call + type: string + required: + - arguments + - name + type: object + id: + description: ID is the unique identifier for this tool + call + type: string + type: + description: Type indicates the type of tool call. Currently + only "function" is supported. + type: string + required: + - function + - id + - type + type: object + type: array + required: + - content + - role + type: object + type: array userMessage: - description: UserMessage is the message to send to the agent. - minLength: 1 + description: |- + UserMessage is the message to send to the agent. + If provided, userMessage will be used and contextWindow must be empty. type: string required: - agentRef - - userMessage type: object status: description: TaskStatus defines the observed state of Task diff --git a/acp/config/release/latest.yaml b/acp/config/release/latest.yaml index ffcadac..40b1cc0 100644 --- a/acp/config/release/latest.yaml +++ b/acp/config/release/latest.yaml @@ -58,6 +58,11 @@ spec: spec: description: AgentSpec defines the desired state of Agent properties: + description: + description: |- + Description is an optional description for an agent. + If present, it's included in any "delegateToAgent" tool descriptions + type: string humanContactChannels: description: HumanContactChannels is a list of ContactChannel resources that can be used for human interactions @@ -97,6 +102,22 @@ spec: - name type: object type: array + subAgents: + description: |- + SubAgents is a list of local object references to other Agents + that can be delegated to as sub-agents. + items: + description: LocalObjectReference contains enough information to + locate the referenced resource in the same namespace + properties: + name: + description: Name of the referent + minLength: 1 + type: string + required: + - name + type: object + type: array system: description: System is the system prompt for the agent minLength: 1 @@ -156,6 +177,18 @@ spec: - name type: object type: array + validSubAgents: + description: ValidSubAgents is the list of sub-agents that were successfully + validated + items: + properties: + name: + description: Name of the sub-agent + type: string + required: + - name + type: object + type: array type: object type: object served: true @@ -735,6 +768,9 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: + - jsonPath: .spec.agentRef.name + name: Agent + type: string - jsonPath: .status.ready name: Ready type: boolean @@ -802,13 +838,81 @@ spec: required: - name type: object + contextWindow: + description: |- + ContextWindow provides the initial conversation context when creating a Task. + If provided, contextWindow will be used and userMessage must be empty. + This will be copied to status.ContextWindow, which is the source of truth + for the ongoing conversation. + items: + description: Message represents a single message in the conversation + properties: + content: + description: Content is the message content + type: string + name: + description: Name is the name of the tool that was called + type: string + role: + description: Role is the role of the message sender (system, + user, assistant, tool) + enum: + - system + - user + - assistant + - tool + type: string + toolCallId: + description: ToolCallID is the unique identifier for this tool + call + type: string + toolCalls: + description: ToolCalls contains any tool calls requested by + this message + items: + description: ToolCall represents a request to call a tool + properties: + function: + description: Function contains the details of the function + to call + properties: + arguments: + description: Arguments contains the arguments to pass + to the function in JSON format + type: string + name: + description: Name is the name of the function to call + type: string + required: + - arguments + - name + type: object + id: + description: ID is the unique identifier for this tool + call + type: string + type: + description: Type indicates the type of tool call. Currently + only "function" is supported. + type: string + required: + - function + - id + - type + type: object + type: array + required: + - content + - role + type: object + type: array userMessage: - description: UserMessage is the message to send to the agent. - minLength: 1 + description: |- + UserMessage is the message to send to the agent. + If provided, userMessage will be used and contextWindow must be empty. type: string required: - agentRef - - userMessage type: object status: description: TaskStatus defines the observed state of Task @@ -1565,6 +1669,25 @@ subjects: --- apiVersion: v1 kind: Service +metadata: + labels: + app.kubernetes.io/managed-by: kustomize + app.kubernetes.io/name: acp + name: acp-controller-manager-api-service + namespace: default +spec: + ports: + - name: api + port: 8082 + protocol: TCP + targetPort: api + selector: + app.kubernetes.io/name: acp + control-plane: controller-manager + type: ClusterIP +--- +apiVersion: v1 +kind: Service metadata: labels: app.kubernetes.io/managed-by: kustomize @@ -1612,7 +1735,7 @@ spec: - --health-probe-bind-address=:8081 command: - /manager - image: ghcr.io/humanlayer/agentcontrolplane:v0.5.1 + image: ghcr.io/humanlayer/agentcontrolplane:v0.6.1 livenessProbe: httpGet: path: /healthz @@ -1620,7 +1743,9 @@ spec: initialDelaySeconds: 15 periodSeconds: 20 name: manager - ports: [] + ports: + - containerPort: 8082 + name: api readinessProbe: httpGet: path: /readyz