You've already forked agentic-coding-workflow
42 lines
1.2 KiB
Go
42 lines
1.2 KiB
Go
// Package run 实现 workspace run profiles:每个 workspace 下可配置多个运行档
|
|
// (dev/prod/test),后端把每个 profile 作为长驻进程在 workspace 主工作区
|
|
// (main_path)拉起并托管其完整生命周期(start/stop/restart + 实时日志)。
|
|
//
|
|
// 运行态(running/stopped/crashed)只在 RunSupervisor 内存中维护,不落库;
|
|
// 仅最近一次运行的 last_started_at/last_exit_code/last_error 落行供历史回溯。
|
|
package run
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// RunStatus 是 profile 的内存运行态(不持久化)。
|
|
type RunStatus string
|
|
|
|
const (
|
|
StatusStopped RunStatus = "stopped"
|
|
StatusRunning RunStatus = "running"
|
|
StatusCrashed RunStatus = "crashed"
|
|
)
|
|
|
|
// RunProfile 是一个 workspace 下的运行档(持久化实体)。
|
|
type RunProfile struct {
|
|
ID uuid.UUID
|
|
WorkspaceID uuid.UUID
|
|
Slug string
|
|
Name string
|
|
Description string
|
|
Command string
|
|
Args []string
|
|
EncryptedEnv []byte
|
|
Enabled bool
|
|
LastStartedAt *time.Time
|
|
LastExitCode *int32
|
|
LastError string
|
|
CreatedBy uuid.UUID
|
|
CreatedAt time.Time
|
|
UpdatedAt time.Time
|
|
}
|