2 views
google/ax
Google's open agentic orchestration runtime
Go★ 11,607+1,379 that day#8 on trending
D49.7/100
Duplication63
5.9% in go, bash, perl, pythonDead coden/a
the languages dead code reads are under 5% of the codeComplexity39
73.9% The score is jscpd's own --health model: markup, data and text left out, tests kept. The numbers below are the trending scan's.
2.4%duplicated code · 188 of 7,843 lines
19clones in code
32code files of 77 scanned
5.24%duplicated over all files · 83 clones
Most complex files
- pkg/apis/v1alpha1/ax.pb.go542 cx
- cmd/ax/main.go272 cx
- internal/store/redis/store.go140 cx
- pkg/apis/v1alpha1/ax_grpc.pb.go124 cx
- internal/model/client.go117 cx
- pkg/apis/v1alpha1/types_test.go117 cx
- internal/server/server.go108 cx
- internal/tunnel/tunnel.go88 cx
- internal/controller/reconciler.go85 cx
- internal/substrate/client.go79 cx
Dead code 0% unused · 0 findings
No dead code found — everything here is reachable.
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code, and 2 generated files: pkg/apis/v1alpha1/ax_grpc.pb.go, pkg/apis/v1alpha1/ax.pb.go.
Largest clones in the code
- 15 lines in 3 placesgo119 tokens
73func (s *Server) GetTask(ctx context.Context, req *v1alpha1.GetTaskRequest) (*v1alpha1.Task, error) { 74 if req == nil { 75 return nil, status.Error(codes.InvalidArgument, "missing request") 76 } 77 atespace := req.Atespace 78 if atespace == "" { 79 atespace = "default" 80 } 81 task, err := s.store.GetTask(ctx, atespace, req.Name) 82 if err != nil {First 10 of 15 lines.
- 8 lines in 3 placesgo57 tokensinternal/store/redis/store.go:224–231internal/store/redis/store.go:408–415internal/store/redis/store.go:535–542
224 return []*v1alpha1.Task{}, nil 225} 226 227keys := make([]string, len(members)) 228for i, m := range members { 229 parts := strings.SplitN(m, ":", 2) 230 if len(parts) == 2 { 231 keys[i] = s.taskKey(parts[0], parts[1])408 return []*v1alpha1.Model{}, nil 409} 410 411keys := make([]string, len(members)) 412for i, m := range members { 413 parts := strings.SplitN(m, ":", 2) 414 if len(parts) == 2 { 415 keys[i] = s.modelKey(parts[0], parts[1]) - 8 lines in 3 placesgo54 tokensinternal/store/redis/store.go:319–326internal/store/redis/store.go:373–380internal/store/redis/store.go:500–507
319func (s *Store) DeleteTask(ctx context.Context, atespace, name string) error { 320 if atespace == "" { 321 atespace = "default" 322 } 323 member := fmt.Sprintf("%s:%s", atespace, name) 324 325 pipe := s.client.TxPipeline() 326 pipe.Del(ctx, s.taskKey(atespace, name))373func (s *Store) DeleteModel(ctx context.Context, atespace, name string) error { 374 if atespace == "" { 375 atespace = "default" 376 } 377 member := fmt.Sprintf("%s:%s", atespace, name) 378 379 pipe := s.client.TxPipeline() 380 pipe.Del(ctx, s.modelKey(atespace, name))
7 more
- 10 lines in 3 placesgo52 tokens
- 6 lines in 3 placesgo50 tokens
- 12 lines in 2 placesgo85 tokens
- 10 lines in 2 placesgo74 tokens
- 11 lines in 2 placesgo74 tokens
- 11 lines in 2 placesgo64 tokens
- 13 lines in 2 placesgo61 tokens
Largest clones over all files, tests and data included
- 10 lines in 45 placesgogenerated51 tokenspkg/apis/v1alpha1/ax.pb.go:64–73pkg/apis/v1alpha1/ax.pb.go:126–135pkg/apis/v1alpha1/ax.pb.go:207–216pkg/apis/v1alpha1/ax.pb.go:287–296pkg/apis/v1alpha1/ax.pb.go:339–348and 40 more
64 mi := &file_pkg_apis_v1alpha1_ax_proto_msgTypes[0] 65 if x != nil { 66 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 67 if ms.LoadMessageInfo() == nil { 68 ms.StoreMessageInfo(mi) 69 } 70 return ms 71 } 72 return mi.MessageOf(x) 73} - 15 lines in 3 placesgo119 tokens
73func (s *Server) GetTask(ctx context.Context, req *v1alpha1.GetTaskRequest) (*v1alpha1.Task, error) { 74 if req == nil { 75 return nil, status.Error(codes.InvalidArgument, "missing request") 76 } 77 atespace := req.Atespace 78 if atespace == "" { 79 atespace = "default" 80 } 81 task, err := s.store.GetTask(ctx, atespace, req.Name) 82 if err != nil {First 10 of 15 lines.
- 21 lines in 2 placesgotests143 tokens
230mockSrv := &mockControlServer{} 231grpcServer := grpc.NewServer() 232ateapipb.RegisterControlServer(grpcServer, mockSrv) 233go grpcServer.Serve(lis) 234defer grpcServer.Stop() 235 236client, err := substrate.NewClient(lis.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials())) 237if err != nil { 238 t.Fatalf("failed to create substrate client: %v", err) 239}First 10 of 21 lines.
- 11 lines in 3 placesgotests70 tokens
- 17 lines in 2 placesgotests131 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| go | 20 | 6,696 | 19 | 188 | 2.81% |
| bash | 10 | 844 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
| python | 1 | 129 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| go | 35 | 13,584 | 83 | 874 | 6.43% |
| bash | 14 | 913 | 0 | 0 | 0% |
| markdown | 11 | 905 | 0 | 0 | 0% |
| yaml | 10 | 596 | 0 | 0 | 0% |
| protobuf | 1 | 317 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
| python | 1 | 129 | 0 | 0 | 0% |
| markup | 2 | 45 | 0 | 0 | 0% |
| text | 2 | 32 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 26, 2026 | #8 | 11,607 (+1,379) | 77 | 16,695 | 83 | 5.24% | 2.4% | D 49.7 | d0bc38b |
| Sep 25, 2026 | #2 | 10,694 (+1,373) | 75 | 15,886 | 73 | 4.83% | 2.33% | D 50.5 | 98f4f2c |
| Sep 24, 2026 | #2 | 9,324 (+1,543) | 75 | 17,447 | 91 | 5.43% | 2.6% | D 48.6 | ace0360 |
| Sep 23, 2026 | #4 | 7,911 (+2,305) | 74 | 17,394 | 91 | 5.45% | 2.6% | D 49.6 | d8ed0fe |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.