88 "context"
99 "fmt"
1010
11+ corecode "github.com/codefly-dev/core/code"
1112 "github.com/codefly-dev/core/failures"
1213 basev0 "github.com/codefly-dev/core/generated/go/codefly/base/v0"
1314 codev0 "github.com/codefly-dev/core/generated/go/codefly/services/code/v0"
@@ -22,7 +23,7 @@ import (
2223//
2324// ARCHITECTURE: Tooling is the primary interface Mind calls for
2425// language-specific commands. It unifies Code and Runtime:
25- // - Analysis: GetProjectInfo (via Code)
26+ // - Analysis: GetProjectInfo + body-free semantic projection (via Code)
2627// - Modification: Fix (ruff), ApplyEdit (via Code)
2728// - Dev: Build, Test (pytest), Lint (ruff) (delegates to Runtime)
2829type Tooling struct {
@@ -36,6 +37,12 @@ func New(code *pythoncode.Code, rt *pythonruntime.Runtime) *Tooling {
3637 return & Tooling {Code : code , Runtime : rt }
3738}
3839
40+ // GetSemanticIndex delegates project parsing to the Core Code server embedded
41+ // by the Python agent; no project bytes cross the Tooling boundary.
42+ func (t * Tooling ) GetSemanticIndex (ctx context.Context , req * toolingv0.GetSemanticIndexRequest ) (* toolingv0.GetSemanticIndexResponse , error ) {
43+ return corecode .NewSourceTooling (t .Code ).GetSemanticIndex (ctx , req )
44+ }
45+
3946// ── Code Modification ──────────────────────────────────
4047
4148func (t * Tooling ) Fix (ctx context.Context , req * toolingv0.FixRequest ) (* toolingv0.FixResponse , error ) {
0 commit comments