fix(ax): continue AX naming cleanup
Co-Authored-By: Virgil <virgil@lethean.io>
This commit is contained in:
parent
f9eca5e395
commit
83703e1d99
7 changed files with 53 additions and 53 deletions
|
|
@ -16,13 +16,13 @@ func ProcessAlive(c *core.Core, processID string, pid int) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
svc, ok := core.ServiceFor[*process.Service](c, "process")
|
||||
service, ok := core.ServiceFor[*process.Service](c, "process")
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
|
||||
if processID != "" {
|
||||
if proc, err := svc.Get(processID); err == nil {
|
||||
if proc, err := service.Get(processID); err == nil {
|
||||
return proc.IsRunning()
|
||||
}
|
||||
}
|
||||
|
|
@ -31,7 +31,7 @@ func ProcessAlive(c *core.Core, processID string, pid int) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
for _, proc := range svc.Running() {
|
||||
for _, proc := range service.Running() {
|
||||
if proc.Info().PID == pid {
|
||||
return true
|
||||
}
|
||||
|
|
@ -48,13 +48,13 @@ func ProcessTerminate(c *core.Core, processID string, pid int) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
svc, ok := core.ServiceFor[*process.Service](c, "process")
|
||||
service, ok := core.ServiceFor[*process.Service](c, "process")
|
||||
if !ok {
|
||||
return false
|
||||
}
|
||||
|
||||
if processID != "" {
|
||||
if err := svc.Kill(processID); err == nil {
|
||||
if err := service.Kill(processID); err == nil {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
@ -63,9 +63,9 @@ func ProcessTerminate(c *core.Core, processID string, pid int) bool {
|
|||
return false
|
||||
}
|
||||
|
||||
for _, proc := range svc.Running() {
|
||||
for _, proc := range service.Running() {
|
||||
if proc.Info().PID == pid {
|
||||
return svc.Kill(proc.ID) == nil
|
||||
return service.Kill(proc.ID) == nil
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -33,15 +33,15 @@ func ProcessRegister(c *core.Core) core.Result {
|
|||
if err != nil {
|
||||
return core.Result{Value: core.E("agentic.ProcessRegister", "create process service", err), OK: false}
|
||||
}
|
||||
svc, ok := instance.(*process.Service)
|
||||
service, ok := instance.(*process.Service)
|
||||
if !ok {
|
||||
return core.Result{Value: core.E("agentic.ProcessRegister", "unexpected process service type", nil), OK: false}
|
||||
}
|
||||
if r := c.RegisterService("process", svc); !r.OK {
|
||||
if r := c.RegisterService("process", service); !r.OK {
|
||||
return r
|
||||
}
|
||||
|
||||
handlers := &processActionHandlers{service: svc}
|
||||
handlers := &processActionHandlers{service: service}
|
||||
c.Action("process.run", handlers.handleRun)
|
||||
c.Action("process.start", handlers.handleStart)
|
||||
c.Action("process.kill", handlers.handleKill)
|
||||
|
|
|
|||
|
|
@ -26,8 +26,8 @@ import (
|
|||
|
||||
// WorkspaceStatus represents the current state of an agent workspace.
|
||||
//
|
||||
// r := ReadStatusResult(wsDir)
|
||||
// if r.OK && r.Value.(*WorkspaceStatus).Status == "completed" { autoCreatePR(wsDir) }
|
||||
// result := ReadStatusResult(wsDir)
|
||||
// if result.OK && result.Value.(*WorkspaceStatus).Status == "completed" { autoCreatePR(wsDir) }
|
||||
type WorkspaceStatus struct {
|
||||
Status string `json:"status"` // running, completed, blocked, failed
|
||||
Agent string `json:"agent"` // gemini, claude, codex
|
||||
|
|
@ -70,8 +70,8 @@ func writeStatus(wsDir string, status *WorkspaceStatus) error {
|
|||
|
||||
// writeStatusResult writes status.json and returns core.Result.
|
||||
//
|
||||
// r := writeStatusResult("/srv/core/workspace/core/go-io/task-5", &WorkspaceStatus{Status: "running"})
|
||||
// if r.OK { return }
|
||||
// result := writeStatusResult("/srv/core/workspace/core/go-io/task-5", &WorkspaceStatus{Status: "running"})
|
||||
// if result.OK { return }
|
||||
func writeStatusResult(wsDir string, status *WorkspaceStatus) core.Result {
|
||||
if status == nil {
|
||||
return core.Result{Value: core.E("writeStatus", "status is required", nil), OK: false}
|
||||
|
|
@ -92,8 +92,8 @@ func writeStatusResult(wsDir string, status *WorkspaceStatus) core.Result {
|
|||
|
||||
// ReadStatusResult parses status.json and returns a WorkspaceStatus pointer.
|
||||
//
|
||||
// r := ReadStatusResult("/path/to/workspace")
|
||||
// if r.OK { st := r.Value.(*WorkspaceStatus) }
|
||||
// result := ReadStatusResult("/path/to/workspace")
|
||||
// if result.OK { workspaceStatus := result.Value.(*WorkspaceStatus) }
|
||||
func ReadStatusResult(wsDir string) core.Result {
|
||||
r := fs.Read(WorkspaceStatusPath(wsDir))
|
||||
if !r.OK {
|
||||
|
|
@ -104,8 +104,8 @@ func ReadStatusResult(wsDir string) core.Result {
|
|||
return core.Result{Value: core.E("ReadStatusResult", core.Concat("status not found for ", wsDir), err), OK: false}
|
||||
}
|
||||
var s WorkspaceStatus
|
||||
if ur := core.JSONUnmarshalString(r.Value.(string), &s); !ur.OK {
|
||||
err, _ := ur.Value.(error)
|
||||
if parseResult := core.JSONUnmarshalString(r.Value.(string), &s); !parseResult.OK {
|
||||
err, _ := parseResult.Value.(error)
|
||||
if err == nil {
|
||||
return core.Result{Value: core.E("ReadStatusResult", "invalid status json", nil), OK: false}
|
||||
}
|
||||
|
|
@ -116,14 +116,14 @@ func ReadStatusResult(wsDir string) core.Result {
|
|||
|
||||
// workspaceStatusValue extracts a WorkspaceStatus from a Result.
|
||||
//
|
||||
// r := ReadStatusResult("/path/to/workspace")
|
||||
// st, ok := workspaceStatusValue(r)
|
||||
// result := ReadStatusResult("/path/to/workspace")
|
||||
// workspaceStatus, ok := workspaceStatusValue(result)
|
||||
func workspaceStatusValue(result core.Result) (*WorkspaceStatus, bool) {
|
||||
st, ok := result.Value.(*WorkspaceStatus)
|
||||
if !ok || st == nil {
|
||||
workspaceStatus, ok := result.Value.(*WorkspaceStatus)
|
||||
if !ok || workspaceStatus == nil {
|
||||
return nil, false
|
||||
}
|
||||
return st, true
|
||||
return workspaceStatus, true
|
||||
}
|
||||
|
||||
// --- agentic_status tool ---
|
||||
|
|
@ -181,7 +181,7 @@ func (s *PrepSubsystem) status(ctx context.Context, _ *mcp.CallToolRequest, inpu
|
|||
name := WorkspaceName(wsDir)
|
||||
|
||||
result := ReadStatusResult(wsDir)
|
||||
st, ok := workspaceStatusValue(result)
|
||||
workspaceStatus, ok := workspaceStatusValue(result)
|
||||
if !ok {
|
||||
out.Total++
|
||||
out.Failed++
|
||||
|
|
@ -189,26 +189,26 @@ func (s *PrepSubsystem) status(ctx context.Context, _ *mcp.CallToolRequest, inpu
|
|||
}
|
||||
|
||||
// If status is "running", check whether the managed process is still alive.
|
||||
if st.Status == "running" && (st.ProcessID != "" || st.PID > 0) {
|
||||
if !ProcessAlive(runtime, st.ProcessID, st.PID) {
|
||||
if workspaceStatus.Status == "running" && (workspaceStatus.ProcessID != "" || workspaceStatus.PID > 0) {
|
||||
if !ProcessAlive(runtime, workspaceStatus.ProcessID, workspaceStatus.PID) {
|
||||
blockedPath := workspaceBlockedPath(wsDir)
|
||||
if r := fs.Read(blockedPath); r.OK {
|
||||
st.Status = "blocked"
|
||||
st.Question = core.Trim(r.Value.(string))
|
||||
workspaceStatus.Status = "blocked"
|
||||
workspaceStatus.Question = core.Trim(r.Value.(string))
|
||||
} else {
|
||||
if len(workspaceLogFiles(wsDir)) == 0 {
|
||||
st.Status = "failed"
|
||||
st.Question = "Agent process died (no output log)"
|
||||
workspaceStatus.Status = "failed"
|
||||
workspaceStatus.Question = "Agent process died (no output log)"
|
||||
} else {
|
||||
st.Status = "completed"
|
||||
workspaceStatus.Status = "completed"
|
||||
}
|
||||
}
|
||||
writeStatusResult(wsDir, st)
|
||||
writeStatusResult(wsDir, workspaceStatus)
|
||||
}
|
||||
}
|
||||
|
||||
out.Total++
|
||||
switch st.Status {
|
||||
switch workspaceStatus.Status {
|
||||
case "running":
|
||||
out.Running++
|
||||
case "queued":
|
||||
|
|
@ -220,9 +220,9 @@ func (s *PrepSubsystem) status(ctx context.Context, _ *mcp.CallToolRequest, inpu
|
|||
case "blocked":
|
||||
out.Blocked = append(out.Blocked, BlockedInfo{
|
||||
Name: name,
|
||||
Repo: st.Repo,
|
||||
Agent: st.Agent,
|
||||
Question: st.Question,
|
||||
Repo: workspaceStatus.Repo,
|
||||
Agent: workspaceStatus.Agent,
|
||||
Question: workspaceStatus.Question,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@ func CoreRoot() string {
|
|||
// ReadStatusResult reads status.json as core.Result.
|
||||
//
|
||||
// result := ReadStatusResult("/srv/core/workspace/core/go-io/task-5")
|
||||
// if result.OK { st := result.Value.(*WorkspaceStatus) }
|
||||
// if result.OK { workspaceStatus := result.Value.(*WorkspaceStatus) }
|
||||
func ReadStatusResult(wsDir string) core.Result {
|
||||
result := agentic.ReadStatusResult(wsDir)
|
||||
if !result.OK {
|
||||
|
|
@ -78,15 +78,15 @@ func ReadStatusResult(wsDir string) core.Result {
|
|||
return core.Result{Value: core.E("runner.ReadStatusResult", "failed to read status", err), OK: false}
|
||||
}
|
||||
|
||||
status, ok := result.Value.(*agentic.WorkspaceStatus)
|
||||
if !ok || status == nil {
|
||||
agenticStatus, ok := result.Value.(*agentic.WorkspaceStatus)
|
||||
if !ok || agenticStatus == nil {
|
||||
return core.Result{Value: core.E("runner.ReadStatusResult", "invalid status payload", nil), OK: false}
|
||||
}
|
||||
st := runnerWorkspaceStatusFromAgentic(status)
|
||||
if st == nil {
|
||||
workspaceStatus := runnerWorkspaceStatusFromAgentic(agenticStatus)
|
||||
if workspaceStatus == nil {
|
||||
return core.Result{Value: core.E("runner.ReadStatusResult", "invalid status payload", nil), OK: false}
|
||||
}
|
||||
return core.Result{Value: st, OK: true}
|
||||
return core.Result{Value: workspaceStatus, OK: true}
|
||||
}
|
||||
|
||||
// WriteStatus writes `status.json` for one workspace directory.
|
||||
|
|
|
|||
|
|
@ -97,11 +97,11 @@ func (s *Service) loadAgentsConfig() *AgentsConfig {
|
|||
if !r.OK {
|
||||
continue
|
||||
}
|
||||
var cfg AgentsConfig
|
||||
if err := yaml.Unmarshal([]byte(r.Value.(string)), &cfg); err != nil {
|
||||
var config AgentsConfig
|
||||
if err := yaml.Unmarshal([]byte(r.Value.(string)), &config); err != nil {
|
||||
continue
|
||||
}
|
||||
return &cfg
|
||||
return &config
|
||||
}
|
||||
return &AgentsConfig{
|
||||
Dispatch: DispatchConfig{
|
||||
|
|
|
|||
|
|
@ -68,8 +68,8 @@ func Register(c *core.Core) core.Result {
|
|||
c.Config().Set("agents.dispatch", config.Dispatch)
|
||||
c.Config().Set("agents.config_path", core.JoinPath(CoreRoot(), "agents.yaml"))
|
||||
codexTotal := 0
|
||||
if cl, ok := config.Concurrency["codex"]; ok {
|
||||
codexTotal = cl.Total
|
||||
if limit, ok := config.Concurrency["codex"]; ok {
|
||||
codexTotal = limit.Total
|
||||
}
|
||||
c.Config().Set("agents.codex_limit_debug", codexTotal)
|
||||
|
||||
|
|
@ -119,8 +119,8 @@ func (s *Service) OnShutdown(_ context.Context) core.Result {
|
|||
|
||||
// HandleIPCEvents applies runner side-effects for IPC messages.
|
||||
//
|
||||
// svc.HandleIPCEvents(c, messages.PokeQueue{})
|
||||
// svc.HandleIPCEvents(c, messages.AgentCompleted{
|
||||
// service.HandleIPCEvents(c, messages.PokeQueue{})
|
||||
// service.HandleIPCEvents(c, messages.AgentCompleted{
|
||||
// Agent: "codex", Repo: "go-io", Workspace: "core/go-io/task-5", Status: "completed",
|
||||
// })
|
||||
func (s *Service) HandleIPCEvents(c *core.Core, msg core.Message) core.Result {
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ import (
|
|||
|
||||
// Options controls one setup run.
|
||||
//
|
||||
// r := svc.Run(setup.Options{Path: ".", Template: "auto", Force: true})
|
||||
// if !r.OK { core.Print(nil, "%v", r.Value) }
|
||||
// result := service.Run(setup.Options{Path: ".", Template: "auto", Force: true})
|
||||
// if !result.OK { core.Print(nil, "%v", result.Value) }
|
||||
type Options struct {
|
||||
Path string // Target directory (default: cwd)
|
||||
DryRun bool // Preview only, don't write
|
||||
|
|
@ -20,8 +20,8 @@ type Options struct {
|
|||
|
||||
// Run generates `.core/` files and optional workspace scaffolding for a repo.
|
||||
//
|
||||
// r := svc.Run(setup.Options{Path: ".", Template: "auto"})
|
||||
// core.Println(r.OK)
|
||||
// result := service.Run(setup.Options{Path: ".", Template: "auto"})
|
||||
// core.Println(result.OK)
|
||||
func (s *Service) Run(opts Options) core.Result {
|
||||
if opts.Path == "" {
|
||||
opts.Path = core.Env("DIR_CWD")
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue