Skip to content
Draft
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
1 change: 1 addition & 0 deletions autocomplete/fish_autocomplete
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ complete -x -c lk -n '__fish_seen_subcommand_from agent a; and not __fish_seen_s
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l num-simulations -s n -r -d 'Number of scenarios to generate'
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l concurrency -r -d 'Max simulations running in parallel (default: server-side limit)'
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l scenarios -r -d 'Path to a scenarios `FILE` (yaml). If omitted, scenarios are generated from the agent\'s source'
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l audio -d 'Simulate speech-to-speech interactions using the agent\'s full audio pipeline. By default, simulations run in text-only mode.'
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l yes -s y -d 'Skip the source-upload confirmation prompt (required for non-interactive runs that generate from source)'
complete -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate' -f -l help -s h -d 'show help'
complete -x -c lk -n '__fish_seen_subcommand_from agent a; and __fish_seen_subcommand_from simulate; and not __fish_seen_subcommand_from help h' -a 'help' -d 'Shows a list of commands or help for one command'
Expand Down
12 changes: 12 additions & 0 deletions cmd/lk/simulate.go
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,10 @@ var simulateCommand = &cli.Command{
Name: "scenarios",
Usage: "Path to a scenarios `FILE` (yaml). If omitted, scenarios are generated from the agent's source",
},
&cli.BoolFlag{
Name: "audio",
Usage: "Simulate speech-to-speech interactions using the agent's full audio pipeline. By default, simulations run in text-only mode.",
},
&cli.BoolFlag{
Name: "yes",
Aliases: []string{"y"},
Expand Down Expand Up @@ -157,6 +161,7 @@ type simulateConfig struct {
numSimulations int32
concurrency int32
mode simulateMode
simulationMode livekit.SimulationMode
agentName string
projectDir string
projectType agentfs.ProjectType
Expand Down Expand Up @@ -259,13 +264,19 @@ func runSimulate(ctx context.Context, cmd *cli.Command) error {

simClient := lksdk.NewAgentSimulationClient(serverURL, pc.APIKey, pc.APISecret)

simulationMode := livekit.SimulationMode_SIMULATION_MODE_TEXT
if cmd.Bool("audio") {
simulationMode = livekit.SimulationMode_SIMULATION_MODE_AUDIO
}

simCfg := &simulateConfig{
ctx: ctx,
client: simClient,
pc: pc,
numSimulations: numSimulations,
concurrency: concurrency,
mode: mode,
simulationMode: simulationMode,
agentName: agentName,
projectDir: projectDir,
projectType: projectType,
Expand Down Expand Up @@ -400,6 +411,7 @@ func createSimulationRun(ctx context.Context, c *simulateConfig) (string, *livek
req := &livekit.SimulationRun_Create_Request{
AgentName: c.agentName,
NumSimulations: c.numSimulations,
Mode: c.simulationMode,
}
if c.concurrency > 0 {
req.Concurrency = &c.concurrency
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ require (
github.com/google/go-containerregistry v0.20.7
github.com/google/go-querystring v1.2.0
github.com/joho/godotenv v1.5.1
github.com/livekit/protocol v1.46.7-0.20260610175657-3ccff51ebf5b
github.com/livekit/protocol v1.47.0
github.com/livekit/server-sdk-go/v2 v2.16.7-0.20260608025623-a5da15b13baa
github.com/mattn/go-isatty v0.0.22
github.com/moby/patternmatcher v0.6.1
Expand Down
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -357,8 +357,8 @@ github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731 h1:9x+U2HGLrSw5AT
github.com/livekit/mageutil v0.0.0-20250511045019-0f1ff63f7731/go.mod h1:Rs3MhFwutWhGwmY1VQsygw28z5bWcnEYmS1OG9OxjOQ=
github.com/livekit/mediatransportutil v0.0.0-20260605212259-862d4a7bcb1e h1:SkgQRcG2VYEhh80Qb/zYZo8rWKJzNfJcfUQnXe6su2M=
github.com/livekit/mediatransportutil v0.0.0-20260605212259-862d4a7bcb1e/go.mod h1:o8CFmAdrVwzJNOCsQCLUzXRjokkufNshnQHOe4fRaqU=
github.com/livekit/protocol v1.46.7-0.20260610175657-3ccff51ebf5b h1:F3dXIOp+D5rpXn1VwQWUm5tTV0W9Jbcf0yUrnY56sWs=
github.com/livekit/protocol v1.46.7-0.20260610175657-3ccff51ebf5b/go.mod h1:jO+y05AU9Ec4JswDyuzKCZ4bhziOS0CzMqgnbj60Dzs=
github.com/livekit/protocol v1.47.0 h1:6dwpf2pSRnvUlhpYyVESFQiBCj8klFKbC40bZjX7AwY=
github.com/livekit/protocol v1.47.0/go.mod h1:jO+y05AU9Ec4JswDyuzKCZ4bhziOS0CzMqgnbj60Dzs=
github.com/livekit/psrpc v0.7.2 h1:6oZ+NODJ2pLyaT6VqDq1F4Qc/3TpDUSpyphj/P9MhQc=
github.com/livekit/psrpc v0.7.2/go.mod h1:rAI+m2+/cb4x9RXhLRtUx5ZwdfjjXOl4zi46IjEetaw=
github.com/livekit/server-sdk-go/v2 v2.16.7-0.20260608025623-a5da15b13baa h1:B19yilP7+JjekKMD0WejMh1Kvypdxpr5yxQZiFStRD0=
Expand Down
Loading