Feat v0.9.2 Starlark converter consolidation + snapshot cleanup (#75)
All checks were successful
CI/CD / detect-changes (pull_request) Successful in 4s
CI/CD / test-frontend (pull_request) Has been skipped
CI/CD / test-runners (pull_request) Has been skipped
CI/CD / e2e-smoke (pull_request) Has been skipped
CI/CD / test-go-pg (pull_request) Successful in 2m43s
CI/CD / test-sqlite (pull_request) Successful in 2m52s
CI/CD / build-and-deploy (pull_request) Successful in 2m15s

Consolidate duplicate Go↔Starlark converters into sandbox/convert.go
and snapshot parsers into models/snapshot.go. Standardize snapshot
creation on wrapped format. Net -393 lines across 21 files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-03 14:20:05 +00:00
parent d03dfe502f
commit b8a4c516ff
24 changed files with 362 additions and 479 deletions

View File

@@ -917,7 +917,7 @@ func (h *PackageHandler) TestTool(c *gin.Context) {
}
// Build a call dict identical to what executeExtensionTool sends.
// Build the arguments as an interface{} map for jsonToStarlark.
// Build the arguments as an interface{} map for GoToStarlark.
var args interface{}
if req.Arguments != nil {
argsJSON, _ := json.Marshal(req.Arguments)
@@ -927,7 +927,7 @@ func (h *PackageHandler) TestTool(c *gin.Context) {
callDict := starlark.NewDict(3)
_ = callDict.SetKey(starlark.String("tool_name"), starlark.String(req.ToolName))
_ = callDict.SetKey(starlark.String("tool_call_id"), starlark.String("test-"+pkgID))
_ = callDict.SetKey(starlark.String("arguments"), jsonToStarlark(args))
_ = callDict.SetKey(starlark.String("arguments"), sandbox.GoToStarlark(args))
userID, _ := c.Get("user_id")
rc := &sandbox.RunContext{UserID: fmt.Sprintf("%v", userID)}
@@ -945,7 +945,7 @@ func (h *PackageHandler) TestTool(c *gin.Context) {
}
// Serialize the Starlark return value to Go types.
result := starlarkValueToGo(val)
result := sandbox.StarlarkToGo(val)
c.JSON(http.StatusOK, gin.H{
"result": result,
"output": output,