Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 107 additions & 3 deletions acp/config/release/latest-crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -726,6 +759,9 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.agentRef.name
name: Agent
type: string
- jsonPath: .status.ready
name: Ready
type: boolean
Expand Down Expand Up @@ -793,13 +829,81 @@ spec:
required:
- name
type: object
contextWindow:
Copy link
Contributor

Choose a reason for hiding this comment

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

The descriptions require that contextWindow and userMessage are mutually exclusive. Consider adding explicit validation if possible.

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
Expand Down
135 changes: 130 additions & 5 deletions acp/config/release/latest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -735,6 +768,9 @@ spec:
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.agentRef.name
name: Agent
type: string
- jsonPath: .status.ready
name: Ready
type: boolean
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -1612,15 +1735,17 @@ 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
port: 8081
initialDelaySeconds: 15
periodSeconds: 20
name: manager
ports: []
ports:
- containerPort: 8082
name: api
readinessProbe:
httpGet:
path: /readyz
Expand Down