Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
3ce73ab
adk
EItanya Jul 15, 2025
bffecd0
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 15, 2025
f07ff46
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 16, 2025
702ef10
tons of adk related changes
EItanya Jul 17, 2025
1e99a5c
minor changes
EItanya Jul 17, 2025
3261919
API changes
EItanya Jul 18, 2025
b3fe901
adk-task-service
EItanya Jul 18, 2025
4ffd30c
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk-…
EItanya Jul 19, 2025
44adef8
also added session code
EItanya Jul 19, 2025
064e307
merge with upcoming PR
EItanya Jul 19, 2025
734a181
unit tests are all passing
EItanya Jul 20, 2025
88a0cb4
removed all autogen python code
EItanya Jul 20, 2025
6c83afc
use storage version
EItanya Jul 21, 2025
44204b5
merge with main
EItanya Jul 21, 2025
342fe98
oops
EItanya Jul 21, 2025
992ab47
getting much closer
EItanya Jul 21, 2025
ea27556
reverted to v1alpha1 toolserver
EItanya Jul 21, 2025
a93c57a
revert to v1alpha1
EItanya Jul 21, 2025
684cc87
hacky user management, but things are returning
EItanya Jul 22, 2025
e5fec53
working aside from getting the initial message
EItanya Jul 22, 2025
6042a48
ids are being passed correctly in Python
EItanya Jul 22, 2025
046229a
fixed CLI, figured out the bug
EItanya Jul 23, 2025
e41c0c7
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 23, 2025
ed070d0
working
EItanya Jul 23, 2025
c23b750
tracing works:
EItanya Jul 24, 2025
cf2b713
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 24, 2025
3afa37b
streaming and task history works{
EItanya Jul 24, 2025
b3acf39
remove unecessary logs
EItanya Jul 24, 2025
790be59
pass ruff lint
EItanya Jul 24, 2025
352626b
added aiofiles
EItanya Jul 25, 2025
2608a66
added deployment ready condition
EItanya Jul 25, 2025
ef4cebf
Update python/src/kagent/kagent_session_service.py
EItanya Jul 25, 2025
16dbc20
add azure openai
EItanya Jul 25, 2025
950b991
got configHash working
EItanya Jul 25, 2025
29eb1da
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 25, 2025
9ee5d4a
figured out the bug, it was too much content
EItanya Jul 27, 2025
e79f11c
/agents works now
EItanya Jul 28, 2025
bf144ee
helm-unit-tests are passing
EItanya Jul 28, 2025
a006c89
move workspace into packages
EItanya Jul 28, 2025
d684c87
update tools server
EItanya Jul 28, 2025
76e8409
add ServiceAccount to owned
EItanya Jul 28, 2025
e7e60c2
oops
EItanya Jul 28, 2025
62d8eac
Merge branch 'main' into eitanya/adk
EItanya Jul 28, 2025
0809742
fix the name used to get the agent
peterj Jul 29, 2025
11e6ba5
temporarily using upstream mcp/grafana in kagent pod
EItanya Jul 29, 2025
45171aa
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 29, 2025
5fbbef4
add python release workflow, add READY status to printer columns
EItanya Jul 29, 2025
11e333a
Merge branch 'eitanya/adk' of github.com:kagent-dev/kagent into eitan…
peterj Jul 30, 2025
86adae0
moved some Python files, fixed mcp hang, sped up Python cold start
EItanya Jul 30, 2025
4042101
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 30, 2025
f3a50ac
use proper version in the Dockerfile for kagent python
EItanya Jul 30, 2025
3fabaa7
update goldens
EItanya Jul 30, 2025
41e33e7
fix cli lint
EItanya Jul 30, 2025
0e2f939
Merge branch 'eitanya/adk' of github.com:kagent-dev/kagent into eitan…
peterj Jul 30, 2025
26ef383
update ui to use a2a, update the Tool type and remove unused types
peterj Jul 30, 2025
d56fe78
fix route path and tool categories
peterj Jul 30, 2025
e73d0a7
hmm
EItanya Jul 31, 2025
621003d
Merge branch 'main' of github.com:kagent-dev/kagent into eitanya/adk
EItanya Jul 31, 2025
2236e9f
merge with main
EItanya Jul 31, 2025
a0562cd
go unit tests
EItanya Jul 31, 2025
ee278cf
fix helm unit tests
EItanya Jul 31, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ jobs:
run: |
echo "Cache key: ${{ needs.setup.outputs.cache-key }}"
make helm-install
kubectl wait --for=condition=Accepted agents.kagent.dev -n kagent --all --timeout=60s
kubectl wait --for=condition=Ready agents.kagent.dev -n kagent --all --timeout=60s

- name: Run e2e tests
working-directory: go
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/tag.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,34 @@ jobs:
export VERSION=$(echo "$GITHUB_REF" | cut -c12-)
fi
make helm-publish
release-python-packages:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: 'Checkout GitHub Action'
uses: actions/checkout@main
- name: 'Release Python Packages'
working-directory: python
run: |
# if workflow_dispatch is used, use the version input
if [ -n "${{ github.event.inputs.version }}" ]; then
export VERSION=${{ github.event.inputs.version }}
else
export VERSION=$(echo "$GITHUB_REF" | cut -c12-)
fi
uv version $VERSION --package kagent-adk
uv build --package kagent-adk
uv publish --token ${{ secrets.PYPI_TOKEN }}

release:
# Only run release after images and helm chart are pushed
# In the future we can take the chart from the helm action,
# and build the CLI beforehand.
needs:
- push-helm-chart
- release-python-packages
runs-on: ubuntu-latest
permissions:
contents: write
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ HELM_DIST_FOLDER ?= dist

BUILD_DATE := $(shell date -u '+%Y-%m-%d')
GIT_COMMIT := $(shell git rev-parse --short HEAD || echo "unknown")
VERSION ?= $(shell git describe --tags --always --dirty 2>/dev/null | sed 's/-dirty//' | grep v || echo "v0.0.0+$(GIT_COMMIT)")
VERSION ?= $(shell git describe --tags --always 2>/dev/null | grep v || echo "v0.0.0+$(GIT_COMMIT)")

# Local architecture detection to build for the current platform
LOCALARCH ?= $(shell uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/')
Expand Down Expand Up @@ -52,7 +52,7 @@ LDFLAGS := "-X github.com/kagent-dev/kagent/go/internal/version.Version=$(VERSIO
TOOLS_UV_VERSION ?= 0.7.2
TOOLS_BUN_VERSION ?= 1.2.16
TOOLS_NODE_VERSION ?= 22.16.0
TOOLS_PYTHON_VERSION ?= 3.12
TOOLS_PYTHON_VERSION ?= 3.13
TOOLS_KIND_IMAGE_VERSION ?= 1.33.1

# build args
Expand Down
2 changes: 2 additions & 0 deletions go/cli/cmd/kagent/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ func main() {
invokeCmd.Flags().StringVarP(&invokeCfg.Agent, "agent", "a", "", "Agent")
invokeCmd.Flags().BoolVarP(&invokeCfg.Stream, "stream", "S", false, "Stream the response")
invokeCmd.Flags().StringVarP(&invokeCfg.File, "file", "f", "", "File to read the task from")
invokeCmd.Flags().StringVarP(&invokeCfg.URLOverride, "url-override", "u", "", "URL override")
invokeCmd.Flags().MarkHidden("url-override")

bugReportCmd := &cobra.Command{
Use: "bug-report",
Expand Down
13 changes: 6 additions & 7 deletions go/cli/internal/cli/chat.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,8 @@ func ChatCmd(c *ishell.Context) {
}

agentNames := make([]string, len(agentListResp.Data))
for i, team := range agentListResp.Data {
if team.Component.Label == "" {
continue
}
agentNames[i] = team.Component.Label
for i, agent := range agentListResp.Data {
agentNames[i] = utils.ConvertToKubernetesIdentifier(agent.ID)
}

selectedTeamIdx := c.MultiChoice(agentNames, "Select an agent:")
Expand Down Expand Up @@ -119,8 +116,10 @@ func ChatCmd(c *ishell.Context) {
session = existingSessions[selectedSessionIdx-1]
}

agentRef := utils.ConvertToKubernetesIdentifier(agentResp.ID)

// Setup A2A client
a2aURL := fmt.Sprintf("%s/a2a/%s/%s", cfg.APIURL, cfg.Namespace, agentResp.Component.Label)
a2aURL := fmt.Sprintf("%s/a2a/%s", cfg.APIURL, agentRef)
a2aClient, err := a2aclient.NewA2AClient(a2aURL)
if err != nil {
c.Printf("Failed to create A2A client: %v\n", err)
Expand All @@ -131,7 +130,7 @@ func ChatCmd(c *ishell.Context) {
cancel := startPortForward(context.Background())
defer cancel()

promptStr := config.BoldGreen(fmt.Sprintf("%s--%s> ", agentResp.Component.Label, session.ID))
promptStr := config.BoldGreen(fmt.Sprintf("%s--%s> ", agentRef, session.ID))
c.SetPrompt(promptStr)
c.ShowPrompt(true)

Expand Down
29 changes: 15 additions & 14 deletions go/cli/internal/cli/const.go
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package cli

import (
"github.com/kagent-dev/kagent/go/controller/api/v1alpha1"
"os"
"strings"

"github.com/kagent-dev/kagent/go/controller/api/v1alpha1"
)

const (
// Version is the current version of the kagent CLI
DefaultModelProvider = v1alpha1.OpenAI
DefaultModelProvider = v1alpha1.ModelProviderOpenAI
DefaultHelmOciRegistry = "oci://ghcr.io/kagent-dev/kagent/helm/"

//Provider specific env variables
Expand All @@ -31,16 +32,16 @@ func GetModelProvider() v1alpha1.ModelProvider {
return DefaultModelProvider
}
switch modelProvider {
case GetModelProviderHelmValuesKey(v1alpha1.OpenAI):
return v1alpha1.OpenAI
case GetModelProviderHelmValuesKey(v1alpha1.Ollama):
return v1alpha1.Ollama
case GetModelProviderHelmValuesKey(v1alpha1.Anthropic):
return v1alpha1.Anthropic
case GetModelProviderHelmValuesKey(v1alpha1.AzureOpenAI):
return v1alpha1.AzureOpenAI
case GetModelProviderHelmValuesKey(v1alpha1.ModelProviderOpenAI):
return v1alpha1.ModelProviderOpenAI
case GetModelProviderHelmValuesKey(v1alpha1.ModelProviderOllama):
return v1alpha1.ModelProviderOllama
case GetModelProviderHelmValuesKey(v1alpha1.ModelProviderAnthropic):
return v1alpha1.ModelProviderAnthropic
case GetModelProviderHelmValuesKey(v1alpha1.ModelProviderAzureOpenAI):
return v1alpha1.ModelProviderAzureOpenAI
default:
return v1alpha1.OpenAI
return v1alpha1.ModelProviderOpenAI
}
}

Expand All @@ -56,11 +57,11 @@ func GetModelProviderHelmValuesKey(provider v1alpha1.ModelProvider) string {
// GetProviderAPIKey returns API_KEY env var name from provider type
func GetProviderAPIKey(provider v1alpha1.ModelProvider) string {
switch provider {
case v1alpha1.OpenAI:
case v1alpha1.ModelProviderOpenAI:
return OPENAI_API_KEY
case v1alpha1.Anthropic:
case v1alpha1.ModelProviderAnthropic:
return ANTHROPIC_API_KEY
case v1alpha1.AzureOpenAI:
case v1alpha1.ModelProviderAzureOpenAI:
return AZUREOPENAI_API_KEY
default:
return ""
Expand Down
19 changes: 10 additions & 9 deletions go/cli/internal/cli/const_test.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
package cli

import (
"github.com/kagent-dev/kagent/go/controller/api/v1alpha1"
"os"
"testing"

"github.com/kagent-dev/kagent/go/controller/api/v1alpha1"
)

func TestGetModelProvider(t *testing.T) {
Expand All @@ -23,29 +24,29 @@ func TestGetModelProvider(t *testing.T) {
},
{
name: "OpenAI provider",
envVarValue: string(v1alpha1.OpenAI),
expectedResult: v1alpha1.OpenAI,
envVarValue: string(v1alpha1.ModelProviderOpenAI),
expectedResult: v1alpha1.ModelProviderOpenAI,
expectedAPIKey: OPENAI_API_KEY,
expectedHelmKey: "openAI",
},
{
name: "AzureOpenAI provider",
envVarValue: string(v1alpha1.AzureOpenAI),
expectedResult: v1alpha1.AzureOpenAI,
envVarValue: string(v1alpha1.ModelProviderAzureOpenAI),
expectedResult: v1alpha1.ModelProviderAzureOpenAI,
expectedAPIKey: AZUREOPENAI_API_KEY,
expectedHelmKey: "azureOpenAI",
},
{
name: "Anthropic provider",
envVarValue: string(v1alpha1.Anthropic),
expectedResult: v1alpha1.Anthropic,
envVarValue: string(v1alpha1.ModelProviderAnthropic),
expectedResult: v1alpha1.ModelProviderAnthropic,
expectedAPIKey: "ANTHROPIC_API_KEY",
expectedHelmKey: "anthropic",
},
{
name: "Ollama provider",
envVarValue: string(v1alpha1.Ollama),
expectedResult: v1alpha1.Ollama,
envVarValue: string(v1alpha1.ModelProviderOllama),
expectedResult: v1alpha1.ModelProviderOllama,
expectedAPIKey: "",
expectedHelmKey: "ollama",
},
Expand Down
16 changes: 8 additions & 8 deletions go/cli/internal/cli/get.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,15 +88,15 @@ func GetToolCmd(cfg *config.Config) {
}

func printTools(tools []database.Tool) error {
headers := []string{"#", "ID", "PROVIDER", "LABEL", "CREATED"}
headers := []string{"#", "NAME", "SERVER_NAME", "DESCRIPTION", "CREATED"}
rows := make([][]string, len(tools))
for i, tool := range tools {
rows[i] = []string{
strconv.Itoa(i + 1),
strconv.Itoa(int(tool.Model.ID)),
tool.Component.Provider,
tool.Component.Label,
tool.Model.CreatedAt.String(),
tool.ID,
tool.ServerName,
tool.Description,
tool.CreatedAt.Format(time.RFC3339),
}
}

Expand All @@ -122,14 +122,14 @@ func printSessions(sessions []*database.Session) error {
headers := []string{"#", "NAME", "AGENT", "CREATED"}
rows := make([][]string, len(sessions))
for i, session := range sessions {
agentID := -1
agentID := ""
if session.AgentID != nil {
agentID = int(*session.AgentID)
agentID = *session.AgentID
}
rows[i] = []string{
strconv.Itoa(i + 1),
session.ID,
strconv.Itoa(agentID),
agentID,
session.CreatedAt.Format(time.RFC3339),
}
}
Expand Down
Loading
Loading