Files
yuan-lab-llm--clawmanager/backend/internal/models/skill_package_materialize_job.go
T
heranran 71c7672545 feat: Skill Hub hardening with session usage tracking and egress governance (#163)
* feat(skill-hub): add Skill Hub catalog, publish flow, and lite materialize pipeline

Introduce Skill Hub for browsing, importing, publishing, and installing skills, with lite instance package materialization and runtime sync support.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): remove token-governance hooks from Skill Hub PR

Strip validateManagedRuntimeEnvironmentOverrides, network lock policy sync,
and egress proxy audit wiring that belong to the upcoming token-usage work,
so the Skill Hub branch compiles independently.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): update migration number in materialize docs

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): make RuntimeAgentClient test stub and hub tests compile-safe

Add ResyncInstanceSkills to the runtime pool handler fake client, and harden
skill hub payload helpers/tests against nil storage/instance repos so go test passes.

Co-authored-by: Cursor <cursoragent@cursor.com>

* feat: add Skill Hub hardening with session usage tracking and egress governance

Unify Skill Hub runtime sync improvements with session-token observability,
egress network policy, and admin/instance usage reporting for reopenable PR.

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(skill-hub): repair CI tests and nested skill install

* fix(ci): restore release deployment configuration

---------

Co-authored-by: heshengran <heshengran@ieisystem.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-17 12:37:01 +08:00

27 lines
1.2 KiB
Go

package models
import "time"
type SkillPackageMaterializeJob struct {
ID int `db:"id,primarykey,autoincrement" json:"id"`
InstanceID int `db:"instance_id" json:"instance_id"`
SkillID int `db:"skill_id" json:"skill_id"`
BlobID int `db:"blob_id" json:"blob_id"`
WorkspaceDir string `db:"workspace_dir" json:"workspace_dir"`
ContentHash string `db:"content_hash" json:"content_hash"`
Status string `db:"status" json:"status"`
AttemptCount int `db:"attempt_count" json:"attempt_count"`
MaxAttempts int `db:"max_attempts" json:"max_attempts"`
LastError *string `db:"last_error" json:"last_error,omitempty"`
IdempotencyKey string `db:"idempotency_key" json:"idempotency_key"`
TriggerSource string `db:"trigger_source" json:"trigger_source"`
StartedAt *time.Time `db:"started_at" json:"started_at,omitempty"`
FinishedAt *time.Time `db:"finished_at" json:"finished_at,omitempty"`
CreatedAt time.Time `db:"created_at" json:"created_at"`
UpdatedAt time.Time `db:"updated_at" json:"updated_at"`
}
func (j SkillPackageMaterializeJob) TableName() string {
return "skill_package_materialize_jobs"
}