Add context packs impact analysis and message validation

This commit is contained in:
2026-05-07 10:17:24 +08:00
parent f2d0a83705
commit 0c5254eb1b
18 changed files with 780 additions and 13 deletions

View File

@@ -131,14 +131,53 @@ type TraceResult struct {
type PackResult struct {
Entry string `json:"entry"`
Intent string `json:"intent,omitempty"`
Stage string `json:"stage,omitempty"`
Depth int `json:"depth"`
Budget int `json:"budget,omitempty"`
Truncated bool `json:"truncated"`
Units []*Unit `json:"units"`
Summary Summary `json:"summary"`
ApproxChars int `json:"approxChars"`
Warnings []Issue `json:"warnings,omitempty"`
}
type Summary struct {
UnitCount int `json:"unitCount"`
MinResolution string `json:"minResolution,omitempty"`
MaxResolution string `json:"maxResolution,omitempty"`
TypeCounts map[string]int `json:"typeCounts,omitempty"`
MissingCount int `json:"missingCount,omitempty"`
}
type ImpactResult struct {
Entry string `json:"entry"`
Depth int `json:"depth"`
Summary ImpactSummary `json:"summary"`
Direct []ImpactEntry `json:"direct,omitempty"`
Indirect []ImpactEntry `json:"indirect,omitempty"`
Edges []GraphEdge `json:"edges,omitempty"`
Warnings []Issue `json:"warnings,omitempty"`
}
type ImpactSummary struct {
DirectCount int `json:"directCount"`
IndirectCount int `json:"indirectCount"`
TotalCount int `json:"totalCount"`
MaxDepth int `json:"maxDepth"`
}
type ImpactEntry struct {
ID string `json:"id"`
Title string `json:"title,omitempty"`
Type string `json:"type,omitempty"`
Resolution string `json:"resolution,omitempty"`
File string `json:"file,omitempty"`
Depth int `json:"depth"`
Via string `json:"via,omitempty"`
Kind string `json:"kind,omitempty"`
}
type Graph struct {
Nodes []GraphNode `json:"nodes"`
Edges []GraphEdge `json:"edges"`