cto-ai-cli 4.0.0 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DOCS.md +201 -2
- package/README.md +216 -312
- package/dist/action/index.js +271 -156
- package/dist/api/dashboard.js +271 -156
- package/dist/api/dashboard.js.map +1 -1
- package/dist/api/server.js +276 -155
- package/dist/api/server.js.map +1 -1
- package/dist/cli/gateway.js +298 -183
- package/dist/cli/score.js +1396 -241
- package/dist/cli/v2/index.js +290 -175
- package/dist/cli/v2/index.js.map +1 -1
- package/dist/engine/index.d.ts +121 -1
- package/dist/engine/index.js +1035 -212
- package/dist/engine/index.js.map +1 -1
- package/dist/fsevents-X6WP4TKM.node +0 -0
- package/dist/gateway/index.js +298 -183
- package/dist/gateway/index.js.map +1 -1
- package/dist/interact/index.js +263 -148
- package/dist/interact/index.js.map +1 -1
- package/dist/mcp/v2.js +287 -172
- package/dist/mcp/v2.js.map +1 -1
- package/package.json +8 -22
package/dist/engine/index.d.ts
CHANGED
|
@@ -612,6 +612,8 @@ interface FeedbackEntry {
|
|
|
612
612
|
outcome: FeedbackOutcome;
|
|
613
613
|
model?: string;
|
|
614
614
|
promptTokens?: number;
|
|
615
|
+
sessionId?: string;
|
|
616
|
+
strategy?: string;
|
|
615
617
|
}
|
|
616
618
|
interface FeedbackOutcome {
|
|
617
619
|
accepted: boolean;
|
|
@@ -633,19 +635,34 @@ interface FeedbackModel {
|
|
|
633
635
|
includedCount: number;
|
|
634
636
|
acceptedCount: number;
|
|
635
637
|
acceptRate: number;
|
|
638
|
+
ewmaAcceptRate: number;
|
|
636
639
|
avgTimeToAccept: number;
|
|
640
|
+
lastSeen: string;
|
|
641
|
+
bayesianLower: number;
|
|
637
642
|
}>;
|
|
638
643
|
taskTypeAcceptance: Record<string, {
|
|
639
644
|
totalCount: number;
|
|
640
645
|
acceptedCount: number;
|
|
641
646
|
acceptRate: number;
|
|
642
647
|
avgCompilable: number;
|
|
648
|
+
ewmaAcceptRate: number;
|
|
643
649
|
}>;
|
|
644
650
|
pairAcceptance: Record<string, {
|
|
645
651
|
count: number;
|
|
646
652
|
acceptedCount: number;
|
|
647
653
|
acceptRate: number;
|
|
648
654
|
}>;
|
|
655
|
+
sessions: Record<string, {
|
|
656
|
+
strategy: string;
|
|
657
|
+
entries: number;
|
|
658
|
+
acceptRate: number;
|
|
659
|
+
}>;
|
|
660
|
+
strategyComparison: Record<string, {
|
|
661
|
+
totalCount: number;
|
|
662
|
+
acceptedCount: number;
|
|
663
|
+
acceptRate: number;
|
|
664
|
+
avgTimeToAccept: number;
|
|
665
|
+
}>;
|
|
649
666
|
insights: FeedbackInsight[];
|
|
650
667
|
}
|
|
651
668
|
interface FeedbackInsight {
|
|
@@ -655,9 +672,33 @@ interface FeedbackInsight {
|
|
|
655
672
|
impact: number;
|
|
656
673
|
}
|
|
657
674
|
declare function loadFeedbackModel(projectPath: string): Promise<FeedbackModel>;
|
|
675
|
+
declare function wilsonLowerBound(successes: number, total: number, z?: number): number;
|
|
658
676
|
declare function recordFeedback(projectPath: string, entry: Omit<FeedbackEntry, 'id' | 'timestamp' | 'taskType'>): Promise<FeedbackModel>;
|
|
659
677
|
declare function getFeedbackBoosts(projectPath: string, task: string): Promise<Map<string, number>>;
|
|
678
|
+
interface TeamFeedbackExport {
|
|
679
|
+
version: number;
|
|
680
|
+
exportedAt: string;
|
|
681
|
+
projectName: string;
|
|
682
|
+
model: FeedbackModel;
|
|
683
|
+
entrySummary: {
|
|
684
|
+
total: number;
|
|
685
|
+
accepted: number;
|
|
686
|
+
sessions: number;
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
declare function exportFeedbackForTeam(projectPath: string, projectName: string): Promise<TeamFeedbackExport>;
|
|
690
|
+
declare function importTeamFeedback(projectPath: string, teamExport: TeamFeedbackExport): Promise<FeedbackModel>;
|
|
660
691
|
declare function renderFeedbackReport(model: FeedbackModel): string;
|
|
692
|
+
declare function renderCrossRepoReport(stats: {
|
|
693
|
+
totalProjects: number;
|
|
694
|
+
totalObservations: number;
|
|
695
|
+
archetypes: {
|
|
696
|
+
name: string;
|
|
697
|
+
projects: number;
|
|
698
|
+
observations: number;
|
|
699
|
+
}[];
|
|
700
|
+
universalPatterns: number;
|
|
701
|
+
}): string;
|
|
661
702
|
|
|
662
703
|
interface SemanticFingerprint {
|
|
663
704
|
filePath: string;
|
|
@@ -897,4 +938,83 @@ declare function runQualityGate(score: ContextScore, analysis: ProjectAnalysis,
|
|
|
897
938
|
severity: string;
|
|
898
939
|
}[], config?: Partial<QualityGateConfig>): Promise<QualityGateResult>;
|
|
899
940
|
|
|
900
|
-
|
|
941
|
+
interface ReviewResult {
|
|
942
|
+
branch: string;
|
|
943
|
+
baseBranch: string;
|
|
944
|
+
isGitRepo: boolean;
|
|
945
|
+
changedFiles: ReviewFile[];
|
|
946
|
+
totalLinesChanged: number;
|
|
947
|
+
breakingChanges: BreakingChange[];
|
|
948
|
+
missingFiles: MissingFile[];
|
|
949
|
+
impactRadius: ImpactRadius;
|
|
950
|
+
reviewQuality: ReviewQuality;
|
|
951
|
+
reviewPrompt: string;
|
|
952
|
+
renderedSummary: string;
|
|
953
|
+
}
|
|
954
|
+
interface ReviewFile {
|
|
955
|
+
relativePath: string;
|
|
956
|
+
changeType: 'added' | 'modified' | 'deleted' | 'renamed';
|
|
957
|
+
linesAdded: number;
|
|
958
|
+
linesRemoved: number;
|
|
959
|
+
riskScore: number;
|
|
960
|
+
kind: string;
|
|
961
|
+
hunks: DiffHunk[];
|
|
962
|
+
hasExportChanges: boolean;
|
|
963
|
+
hasTypeChanges: boolean;
|
|
964
|
+
}
|
|
965
|
+
interface DiffHunk {
|
|
966
|
+
startLine: number;
|
|
967
|
+
endLine: number;
|
|
968
|
+
header: string;
|
|
969
|
+
additions: string[];
|
|
970
|
+
deletions: string[];
|
|
971
|
+
}
|
|
972
|
+
interface BreakingChange {
|
|
973
|
+
file: string;
|
|
974
|
+
type: 'export-removed' | 'export-renamed' | 'type-changed' | 'interface-changed' | 'function-signature' | 'enum-modified' | 'default-export-changed';
|
|
975
|
+
severity: 'critical' | 'high' | 'medium';
|
|
976
|
+
description: string;
|
|
977
|
+
affectedFiles: string[];
|
|
978
|
+
line?: number;
|
|
979
|
+
}
|
|
980
|
+
interface MissingFile {
|
|
981
|
+
file: string;
|
|
982
|
+
reason: string;
|
|
983
|
+
severity: 'high' | 'medium' | 'low';
|
|
984
|
+
relatedChangedFile: string;
|
|
985
|
+
relationship: 'imports' | 'imported-by' | 'sibling-type' | 'test' | 'co-located';
|
|
986
|
+
}
|
|
987
|
+
interface ImpactRadius {
|
|
988
|
+
directlyAffected: number;
|
|
989
|
+
transitivelyAffected: number;
|
|
990
|
+
totalAffected: number;
|
|
991
|
+
affectedTests: number;
|
|
992
|
+
riskScore: number;
|
|
993
|
+
hotspots: {
|
|
994
|
+
file: string;
|
|
995
|
+
dependents: number;
|
|
996
|
+
riskScore: number;
|
|
997
|
+
}[];
|
|
998
|
+
}
|
|
999
|
+
interface ReviewQuality {
|
|
1000
|
+
score: number;
|
|
1001
|
+
grade: string;
|
|
1002
|
+
factors: ReviewFactor[];
|
|
1003
|
+
}
|
|
1004
|
+
interface ReviewFactor {
|
|
1005
|
+
name: string;
|
|
1006
|
+
score: number;
|
|
1007
|
+
weight: number;
|
|
1008
|
+
detail: string;
|
|
1009
|
+
}
|
|
1010
|
+
interface ReviewOptions {
|
|
1011
|
+
baseBranch?: string;
|
|
1012
|
+
depth?: number;
|
|
1013
|
+
includeTests?: boolean;
|
|
1014
|
+
maxPromptFiles?: number;
|
|
1015
|
+
maxPromptTokens?: number;
|
|
1016
|
+
}
|
|
1017
|
+
declare function analyzeForReview(analysis: ProjectAnalysis, options?: ReviewOptions): Promise<ReviewResult>;
|
|
1018
|
+
declare function renderReviewSummary(branch: string, baseBranch: string, changedFiles: ReviewFile[], breakingChanges: BreakingChange[], missingFiles: MissingFile[], impactRadius: ImpactRadius, reviewQuality: ReviewQuality): string;
|
|
1019
|
+
|
|
1020
|
+
export { type Baseline, type BenchmarkResult, type BreakingChange, type ChangeType, type ChangedFile, type CompilabilityMetrics, type CompilabilityResult, type CompileProofResult, type CompileProofStrategy, type ContextScore, type CrossPackageEdge, type CrossRepoModel, type CrossRepoPrediction, DEFAULT_GATE_CONFIG, type DiffHunk, type DimensionScore, type FeedbackEntry, type FeedbackInsight, type FeedbackModel, type FeedbackOutcome, type FileChangeEvent, type Grade, type ImpactRadius, MODEL_REGISTRY, type MissingFile, type ModelOptimization, type ModelProfile, type MonorepoAnalysis, type MonorepoTool, type MultiModelResult, type PRContextOptions, type PRContextResult, type PackageContextResult, type PackageInfo, type PredictionResult, type PredictorModel, type ProjectFingerprint, ProjectWatcher, type QualityBenchmarkResult, type QualityGateCheck, type QualityGateConfig, type QualityGateResult, type QualityMetrics, type ReviewFactor, type ReviewFile, type ReviewOptions, type ReviewQuality, type ReviewResult, type ScoreInsight, type SelectionInput, type SemanticAnalysis, type SemanticDomain, type SemanticFingerprint, type StrategyResult, type TeamFeedbackExport, type WatcherOptions, analyzeForReview, analyzeMonorepo, analyzeProject, analyzeSemantics, bfsBidirectional, buildAdjacencyList, buildProjectGraph, calculateCoverage, classifyFileKind, computeContextScore, computeFingerprint, configureCache, countTokensChars4, countTokensTiktoken, createProject, detectMonorepoTool, detectStack, estimateFileTokens, estimateTokens, exportFeedbackForTeam, freeEncoder, generatePRContext, getActiveWatchers, getCTODir, getCacheStats, getCachedAnalysis, getConfigPath, getCrossRepoStats, getFeedbackBoosts, getModelStats, getPolicyPath, getPredictorBoosts, getPruneLevelForRisk, importTeamFeedback, initProjectConfig, invalidateCache, loadBaseline, loadConfig, loadFeedbackModel, loadGlobalModel, loadModel, loadPolicyFromYAML, matchGlob, optimizeBudget, optimizeForModels, predictFromCrossRepo, predictRelevantFiles, pruneFile, pruneFiles, recordCrossRepoSelection, recordFeedback, recordSelection, renderBenchmark, renderCompilabilityBenchmark, renderCompileProof, renderContextScore, renderCrossRepoReport, renderFeedbackReport, renderMonorepoAnalysis, renderMultiModelResult, renderPackageContext, renderQualityBenchmark, renderReviewSummary, renderSemanticAnalysis, runBenchmark, runCompilabilityBenchmark, runCompileProof, runQualityBenchmark, runQualityGate, saveBaseline, saveConfig, scoreAllFiles, scoreFile, selectContext, selectPackageContext, semanticBoosts, unwatchAll, unwatchProject, walkProject, watchProject, wilsonLowerBound };
|