@cleocode/contracts 2026.5.2 → 2026.5.4
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/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lafs.d.ts +16 -143
- package/dist/lafs.d.ts.map +1 -1
- package/dist/lafs.js +11 -4
- package/dist/lafs.js.map +1 -1
- package/dist/operations/conduit.d.ts +15 -3
- package/dist/operations/conduit.d.ts.map +1 -1
- package/dist/operations/docs.d.ts +18 -15
- package/dist/operations/docs.d.ts.map +1 -1
- package/dist/operations/index.d.ts +5 -0
- package/dist/operations/index.d.ts.map +1 -1
- package/dist/operations/index.js +5 -0
- package/dist/operations/index.js.map +1 -1
- package/dist/operations/lifecycle.d.ts +3 -4
- package/dist/operations/lifecycle.d.ts.map +1 -1
- package/dist/operations/nexus.d.ts +341 -34
- package/dist/operations/nexus.d.ts.map +1 -1
- package/dist/operations/session.d.ts +201 -9
- package/dist/operations/session.d.ts.map +1 -1
- package/dist/operations/tasks.d.ts +381 -35
- package/dist/operations/tasks.d.ts.map +1 -1
- package/dist/operations/tasks.js +4 -3
- package/dist/operations/tasks.js.map +1 -1
- package/dist/tasks.d.ts +357 -0
- package/dist/tasks.d.ts.map +1 -0
- package/dist/tasks.js +18 -0
- package/dist/tasks.js.map +1 -0
- package/package.json +4 -2
- package/schemas/acceptance-gate.schema.json +484 -5
- package/schemas/attachment.schema.json +210 -5
- package/schemas/gate-result-details.schema.json +174 -5
- package/schemas/gate-result.schema.json +236 -5
- package/schemas/task-evidence.schema.json +199 -5
- package/schemas/task.schema.json +568 -5
- package/src/index.ts +37 -7
- package/src/lafs.ts +34 -162
- package/src/operations/conduit.ts +16 -3
- package/src/operations/docs.ts +22 -16
- package/src/operations/index.ts +5 -0
- package/src/operations/lifecycle.ts +3 -5
- package/src/operations/nexus.ts +355 -34
- package/src/operations/session.ts +213 -10
- package/src/operations/tasks.ts +377 -36
- package/src/tasks.ts +413 -0
package/src/operations/nexus.ts
CHANGED
|
@@ -19,6 +19,24 @@
|
|
|
19
19
|
* @see packages/cleo/src/dispatch/domains/nexus.ts
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
+
// API contract result types (T1065)
|
|
23
|
+
import type { ContractCompatibilityMatrix } from '../nexus-contract-ops.js';
|
|
24
|
+
// Living-brain result types (T1068)
|
|
25
|
+
import type {
|
|
26
|
+
CodeAnchorResult,
|
|
27
|
+
CodeReasonTrace,
|
|
28
|
+
ImpactFullReport,
|
|
29
|
+
SymbolFullContext,
|
|
30
|
+
TaskCodeImpact,
|
|
31
|
+
} from '../nexus-living-brain-ops.js';
|
|
32
|
+
// CTE query result type (T1057)
|
|
33
|
+
import type { NexusCteResult } from '../nexus-query-ops.js';
|
|
34
|
+
// Route analysis result types (T1064)
|
|
35
|
+
import type { RouteMapResult, ShapeCheckResult } from '../nexus-route-ops.js';
|
|
36
|
+
// Task-symbol bridge result types (T1067)
|
|
37
|
+
import type { GitLogLinkerResult, SymbolReference } from '../nexus-tasks-bridge-ops.js';
|
|
38
|
+
// NexusWikiResult is canonical in nexus-wiki-ops.ts (T1699 dedup)
|
|
39
|
+
import type { NexusWikiResult } from '../nexus-wiki-ops.js';
|
|
22
40
|
// Profile types are now canonical in nexus-user-profile.ts (T1424 dedup)
|
|
23
41
|
import type { SigilCard } from './memory.js';
|
|
24
42
|
import type {
|
|
@@ -734,8 +752,42 @@ export interface NexusAugmentParams {
|
|
|
734
752
|
/** Max results (default 5). */
|
|
735
753
|
limit?: number;
|
|
736
754
|
}
|
|
755
|
+
/**
|
|
756
|
+
* A single augmented symbol result from `nexus.augment` / `nexus.search-code`.
|
|
757
|
+
*
|
|
758
|
+
* Mirrors the AugmentResult shape produced by core's augmentSymbol().
|
|
759
|
+
*/
|
|
760
|
+
export interface NexusAugmentSymbol {
|
|
761
|
+
/** Nexus node ID. */
|
|
762
|
+
id: string;
|
|
763
|
+
/** Human-readable symbol name. */
|
|
764
|
+
label: string;
|
|
765
|
+
/** Node kind (function, method, class, …). */
|
|
766
|
+
kind: string;
|
|
767
|
+
/** Source file path (relative to project root), or undefined. */
|
|
768
|
+
filePath?: string;
|
|
769
|
+
/** Start line (1-based), or undefined. */
|
|
770
|
+
startLine?: number;
|
|
771
|
+
/** End line (1-based), or undefined. */
|
|
772
|
+
endLine?: number;
|
|
773
|
+
/** Count of callers of this symbol. */
|
|
774
|
+
callersCount: number;
|
|
775
|
+
/** Count of callees (symbols this one calls). */
|
|
776
|
+
calleesCount: number;
|
|
777
|
+
/** Louvain community ID, or undefined. */
|
|
778
|
+
communityId?: number;
|
|
779
|
+
/** Size of the community, or undefined. */
|
|
780
|
+
communitySize?: number;
|
|
781
|
+
}
|
|
737
782
|
/** Result of `nexus.augment`. */
|
|
738
|
-
export
|
|
783
|
+
export interface NexusAugmentResult {
|
|
784
|
+
/** Search pattern that was applied. */
|
|
785
|
+
pattern: string;
|
|
786
|
+
/** Ranked matching symbols. */
|
|
787
|
+
results: NexusAugmentSymbol[];
|
|
788
|
+
/** Human-readable plain-text rendering of the results. */
|
|
789
|
+
text: string;
|
|
790
|
+
}
|
|
739
791
|
|
|
740
792
|
/** Parameters for `nexus.top-entries`. */
|
|
741
793
|
export interface NexusTopEntriesParams {
|
|
@@ -827,48 +879,90 @@ export interface NexusFullContextParams {
|
|
|
827
879
|
/** Symbol name (required). */
|
|
828
880
|
symbol: string;
|
|
829
881
|
}
|
|
830
|
-
/**
|
|
831
|
-
|
|
882
|
+
/**
|
|
883
|
+
* Result of `nexus.full-context`.
|
|
884
|
+
*
|
|
885
|
+
* Cross-substrate context for a code symbol: callers/callees, brain memories,
|
|
886
|
+
* tasks, sentient proposals, and conduit threads.
|
|
887
|
+
*
|
|
888
|
+
* @see SymbolFullContext in nexus-living-brain-ops.ts (T1068)
|
|
889
|
+
*/
|
|
890
|
+
export type NexusFullContextResult = SymbolFullContext;
|
|
832
891
|
|
|
833
892
|
/** Parameters for `nexus.task-footprint`. */
|
|
834
893
|
export interface NexusTaskFootprintParams {
|
|
835
894
|
/** Task ID (required). */
|
|
836
895
|
taskId: string;
|
|
837
896
|
}
|
|
838
|
-
/**
|
|
839
|
-
|
|
897
|
+
/**
|
|
898
|
+
* Result of `nexus.task-footprint`.
|
|
899
|
+
*
|
|
900
|
+
* Code impact analysis for a task: files, symbols, blast radius,
|
|
901
|
+
* brain observations, decisions, and risk tier.
|
|
902
|
+
*
|
|
903
|
+
* @see TaskCodeImpact in nexus-living-brain-ops.ts (T1068)
|
|
904
|
+
*/
|
|
905
|
+
export type NexusTaskFootprintResult = TaskCodeImpact;
|
|
840
906
|
|
|
841
907
|
/** Parameters for `nexus.brain-anchors`. */
|
|
842
908
|
export interface NexusBrainAnchorsParams {
|
|
843
909
|
/** Entry ID (required). */
|
|
844
910
|
entryId: string;
|
|
845
911
|
}
|
|
846
|
-
/**
|
|
847
|
-
|
|
912
|
+
/**
|
|
913
|
+
* Result of `nexus.brain-anchors`.
|
|
914
|
+
*
|
|
915
|
+
* Nexus nodes anchored to a brain memory entry via code-reference edges,
|
|
916
|
+
* and tasks that touched those nodes.
|
|
917
|
+
*
|
|
918
|
+
* @see CodeAnchorResult in nexus-living-brain-ops.ts (T1068)
|
|
919
|
+
*/
|
|
920
|
+
export type NexusBrainAnchorsResult = CodeAnchorResult;
|
|
848
921
|
|
|
849
922
|
/** Parameters for `nexus.why`. */
|
|
850
923
|
export interface NexusWhyParams {
|
|
851
924
|
/** Symbol name (required). */
|
|
852
925
|
symbol: string;
|
|
853
926
|
}
|
|
854
|
-
/**
|
|
855
|
-
|
|
927
|
+
/**
|
|
928
|
+
* Result of `nexus.why`.
|
|
929
|
+
*
|
|
930
|
+
* Causal trace from a code symbol through brain decisions to tasks:
|
|
931
|
+
* symbolId, narrative, and chain of reasoning steps.
|
|
932
|
+
*
|
|
933
|
+
* @see CodeReasonTrace in nexus-living-brain-ops.ts (T1069)
|
|
934
|
+
*/
|
|
935
|
+
export type NexusWhyResult = CodeReasonTrace;
|
|
856
936
|
|
|
857
937
|
/** Parameters for `nexus.impact-full`. */
|
|
858
938
|
export interface NexusImpactFullParams {
|
|
859
939
|
/** Symbol name (required). */
|
|
860
940
|
symbol: string;
|
|
861
941
|
}
|
|
862
|
-
/**
|
|
863
|
-
|
|
942
|
+
/**
|
|
943
|
+
* Result of `nexus.impact-full`.
|
|
944
|
+
*
|
|
945
|
+
* Full merged impact report for a code symbol: structural blast radius,
|
|
946
|
+
* open tasks, brain risk notes, merged risk score, and narrative.
|
|
947
|
+
*
|
|
948
|
+
* @see ImpactFullReport in nexus-living-brain-ops.ts (T1069)
|
|
949
|
+
*/
|
|
950
|
+
export type NexusImpactFullResult = ImpactFullReport;
|
|
864
951
|
|
|
865
952
|
/** Parameters for `nexus.route-map`. */
|
|
866
953
|
export interface NexusRouteMapParams {
|
|
867
954
|
/** Project ID (optional, auto-generated from projectRoot). */
|
|
868
955
|
projectId?: string;
|
|
869
956
|
}
|
|
870
|
-
/**
|
|
871
|
-
|
|
957
|
+
/**
|
|
958
|
+
* Result of `nexus.route-map`.
|
|
959
|
+
*
|
|
960
|
+
* All route nodes with their handlers, downstream dependencies,
|
|
961
|
+
* and distinct fetched modules.
|
|
962
|
+
*
|
|
963
|
+
* @see RouteMapResult in nexus-route-ops.ts (T1064)
|
|
964
|
+
*/
|
|
965
|
+
export type NexusRouteMapResult = RouteMapResult;
|
|
872
966
|
|
|
873
967
|
/** Parameters for `nexus.shape-check`. */
|
|
874
968
|
export interface NexusShapeCheckParams {
|
|
@@ -877,8 +971,15 @@ export interface NexusShapeCheckParams {
|
|
|
877
971
|
/** Project ID (optional, auto-generated from projectRoot). */
|
|
878
972
|
projectId?: string;
|
|
879
973
|
}
|
|
880
|
-
/**
|
|
881
|
-
|
|
974
|
+
/**
|
|
975
|
+
* Result of `nexus.shape-check`.
|
|
976
|
+
*
|
|
977
|
+
* Route's declared response shape versus all callers' expected shapes:
|
|
978
|
+
* compatibility verdict and recommendation.
|
|
979
|
+
*
|
|
980
|
+
* @see ShapeCheckResult in nexus-route-ops.ts (T1064)
|
|
981
|
+
*/
|
|
982
|
+
export type NexusShapeCheckResult = ShapeCheckResult;
|
|
882
983
|
|
|
883
984
|
/** Parameters for `nexus.search-code`. */
|
|
884
985
|
export interface NexusSearchCodeParams {
|
|
@@ -887,8 +988,13 @@ export interface NexusSearchCodeParams {
|
|
|
887
988
|
/** Max results (default 10). */
|
|
888
989
|
limit?: number;
|
|
889
990
|
}
|
|
890
|
-
/**
|
|
891
|
-
|
|
991
|
+
/**
|
|
992
|
+
* Result of `nexus.search-code`.
|
|
993
|
+
*
|
|
994
|
+
* Same shape as `NexusAugmentResult` — nexusSearchCode delegates
|
|
995
|
+
* directly to nexusAugment in core (T1061).
|
|
996
|
+
*/
|
|
997
|
+
export type NexusSearchCodeResult = NexusAugmentResult;
|
|
892
998
|
|
|
893
999
|
/** Parameters for `nexus.wiki`. */
|
|
894
1000
|
export interface NexusWikiParams {
|
|
@@ -899,8 +1005,8 @@ export interface NexusWikiParams {
|
|
|
899
1005
|
/** Incremental mode (optional). */
|
|
900
1006
|
incremental?: boolean;
|
|
901
1007
|
}
|
|
902
|
-
|
|
903
|
-
export type NexusWikiResult
|
|
1008
|
+
// NexusWikiResult re-exported from canonical nexus-wiki-ops.ts (T1699 dedup — single source of truth)
|
|
1009
|
+
export type { NexusWikiResult };
|
|
904
1010
|
|
|
905
1011
|
/** Parameters for `nexus.contracts-show`. */
|
|
906
1012
|
export interface NexusContractsShowParams {
|
|
@@ -909,8 +1015,15 @@ export interface NexusContractsShowParams {
|
|
|
909
1015
|
/** Project B identifier (required). */
|
|
910
1016
|
projectB: string;
|
|
911
1017
|
}
|
|
912
|
-
/**
|
|
913
|
-
|
|
1018
|
+
/**
|
|
1019
|
+
* Result of `nexus.contracts-show`.
|
|
1020
|
+
*
|
|
1021
|
+
* Compatibility matrix between two projects' HTTP/gRPC/topic contracts:
|
|
1022
|
+
* matched contracts, counts, and overall compatibility percentage.
|
|
1023
|
+
*
|
|
1024
|
+
* @see ContractCompatibilityMatrix in nexus-contract-ops.ts (T1065)
|
|
1025
|
+
*/
|
|
1026
|
+
export type NexusContractsShowResult = ContractCompatibilityMatrix;
|
|
914
1027
|
|
|
915
1028
|
/** Parameters for `nexus.task-symbols`. */
|
|
916
1029
|
export interface NexusTaskSymbolsParams {
|
|
@@ -918,7 +1031,14 @@ export interface NexusTaskSymbolsParams {
|
|
|
918
1031
|
taskId: string;
|
|
919
1032
|
}
|
|
920
1033
|
/** Result of `nexus.task-symbols`. */
|
|
921
|
-
export
|
|
1034
|
+
export interface NexusTaskSymbolsResult {
|
|
1035
|
+
/** Task ID that was queried. */
|
|
1036
|
+
taskId: string;
|
|
1037
|
+
/** Count of symbols found. */
|
|
1038
|
+
count: number;
|
|
1039
|
+
/** Code symbols touched by this task (via task_touches_symbol forward-lookup). */
|
|
1040
|
+
symbols: SymbolReference[];
|
|
1041
|
+
}
|
|
922
1042
|
|
|
923
1043
|
/** Parameters for `nexus.sigil.list`. */
|
|
924
1044
|
export interface NexusSigilListParams {
|
|
@@ -936,12 +1056,30 @@ export interface NexusSigilListResult {
|
|
|
936
1056
|
/** Parameters for `nexus.sigil.sync` — none. */
|
|
937
1057
|
export type NexusSigilSyncParams = Record<string, never>;
|
|
938
1058
|
/** Result of `nexus.sigil.sync`. */
|
|
939
|
-
export
|
|
1059
|
+
export interface NexusSigilSyncResult {
|
|
1060
|
+
/** Total number of sigils upserted (created + updated). */
|
|
1061
|
+
count: number;
|
|
1062
|
+
/** Peer IDs that were upserted, sorted alphabetically. */
|
|
1063
|
+
peerIds: string[];
|
|
1064
|
+
/** Absolute path to the seed-agents directory used for the sync (or null). */
|
|
1065
|
+
seedAgentsDir: string | null;
|
|
1066
|
+
/** Absolute path to the cleo-subagent.cant file used for the sync (or null). */
|
|
1067
|
+
cleoSubagentFile: string | null;
|
|
1068
|
+
/** Absolute path to the meta agents directory used for the sync (or null). */
|
|
1069
|
+
metaDir: string | null;
|
|
1070
|
+
/** Warnings encountered during sync (missing files, parse failures). */
|
|
1071
|
+
warnings: string[];
|
|
1072
|
+
}
|
|
940
1073
|
|
|
941
1074
|
/** Parameters for `nexus.conduit-scan`. */
|
|
942
1075
|
export type NexusConduitScanParams = Record<string, never>;
|
|
943
1076
|
/** Result of `nexus.conduit-scan`. */
|
|
944
|
-
export
|
|
1077
|
+
export interface NexusConduitScanResult {
|
|
1078
|
+
/** Count of conduit messages scanned. */
|
|
1079
|
+
scanned: number;
|
|
1080
|
+
/** Count of conduit_mentions_symbol edges written. */
|
|
1081
|
+
linked: number;
|
|
1082
|
+
}
|
|
945
1083
|
|
|
946
1084
|
/** Parameters for `nexus.contracts-sync`. */
|
|
947
1085
|
export interface NexusContractsSyncParams {
|
|
@@ -951,7 +1089,20 @@ export interface NexusContractsSyncParams {
|
|
|
951
1089
|
projectId?: string;
|
|
952
1090
|
}
|
|
953
1091
|
/** Result of `nexus.contracts-sync`. */
|
|
954
|
-
export
|
|
1092
|
+
export interface NexusContractsSyncResult {
|
|
1093
|
+
/** Project ID that was synced. */
|
|
1094
|
+
projectId: string;
|
|
1095
|
+
/** Absolute repository path that was analyzed. */
|
|
1096
|
+
repoPath: string;
|
|
1097
|
+
/** Count of HTTP contracts extracted. */
|
|
1098
|
+
http: number;
|
|
1099
|
+
/** Count of gRPC contracts extracted. */
|
|
1100
|
+
grpc: number;
|
|
1101
|
+
/** Count of pub/sub topic contracts extracted. */
|
|
1102
|
+
topic: number;
|
|
1103
|
+
/** Total contracts extracted (http + grpc + topic). */
|
|
1104
|
+
totalCount: number;
|
|
1105
|
+
}
|
|
955
1106
|
|
|
956
1107
|
/** Parameters for `nexus.contracts-link-tasks`. */
|
|
957
1108
|
export interface NexusContractsLinkTasksParams {
|
|
@@ -960,8 +1111,15 @@ export interface NexusContractsLinkTasksParams {
|
|
|
960
1111
|
/** Project ID (optional). */
|
|
961
1112
|
projectId?: string;
|
|
962
1113
|
}
|
|
963
|
-
/**
|
|
964
|
-
|
|
1114
|
+
/**
|
|
1115
|
+
* Result of `nexus.contracts-link-tasks`.
|
|
1116
|
+
*
|
|
1117
|
+
* Outcome of the git-log linker sweep that links contracts to tasks via
|
|
1118
|
+
* task_touches_symbol edges.
|
|
1119
|
+
*
|
|
1120
|
+
* @see GitLogLinkerResult in nexus-tasks-bridge-ops.ts (T1067)
|
|
1121
|
+
*/
|
|
1122
|
+
export type NexusContractsLinkTasksResult = GitLogLinkerResult;
|
|
965
1123
|
|
|
966
1124
|
// ============================================================================
|
|
967
1125
|
// T1510 — Phase 2 dispatch ops (clusters, flows, context, projects.*, diff,
|
|
@@ -1024,13 +1182,95 @@ export interface NexusContextParams {
|
|
|
1024
1182
|
/** When true, fetch source code content. */
|
|
1025
1183
|
content?: boolean;
|
|
1026
1184
|
}
|
|
1185
|
+
/** A single caller or callee relationship from `nexus.context`. */
|
|
1186
|
+
export interface NexusContextRelation {
|
|
1187
|
+
/** Relation type (calls, imports, accesses). */
|
|
1188
|
+
relationType: string;
|
|
1189
|
+
/** Node ID of the related symbol. */
|
|
1190
|
+
nodeId: string | null;
|
|
1191
|
+
/** Human-readable symbol name. */
|
|
1192
|
+
name: string;
|
|
1193
|
+
/** Node kind (function, method, class, …). */
|
|
1194
|
+
kind: string;
|
|
1195
|
+
/** Relative file path, or null. */
|
|
1196
|
+
filePath: string | null;
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1199
|
+
/** Process participation entry from `nexus.context`. */
|
|
1200
|
+
export interface NexusContextProcess {
|
|
1201
|
+
/** Process node ID. */
|
|
1202
|
+
processId: string | null;
|
|
1203
|
+
/** Human-readable process label. */
|
|
1204
|
+
label: string | null;
|
|
1205
|
+
/** Role of this symbol in the process. */
|
|
1206
|
+
role: string;
|
|
1207
|
+
/** Step order within the process, or null. */
|
|
1208
|
+
step: number | null;
|
|
1209
|
+
}
|
|
1210
|
+
|
|
1211
|
+
/** Extracted source code content for a symbol. */
|
|
1212
|
+
export interface NexusContextSourceContent {
|
|
1213
|
+
/** Extracted source text. */
|
|
1214
|
+
source: string;
|
|
1215
|
+
/** Start line (1-based). */
|
|
1216
|
+
startLine: number;
|
|
1217
|
+
/** End line (1-based). */
|
|
1218
|
+
endLine: number;
|
|
1219
|
+
/** Any parse errors encountered. */
|
|
1220
|
+
errors: string[];
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
/** Per-node context entry from `nexus.context`. */
|
|
1224
|
+
export interface NexusContextNode {
|
|
1225
|
+
/** Node ID. */
|
|
1226
|
+
nodeId: string;
|
|
1227
|
+
/** Symbol name. */
|
|
1228
|
+
name: string | null;
|
|
1229
|
+
/** Node kind (function, method, class, …). */
|
|
1230
|
+
kind: string | null;
|
|
1231
|
+
/** Relative file path. */
|
|
1232
|
+
filePath: string | null;
|
|
1233
|
+
/** Start line (1-based), or null. */
|
|
1234
|
+
startLine: number | null;
|
|
1235
|
+
/** End line (1-based), or null. */
|
|
1236
|
+
endLine: number | null;
|
|
1237
|
+
/** Whether the symbol is exported. */
|
|
1238
|
+
isExported: boolean | null;
|
|
1239
|
+
/** One-line doc summary (if present). */
|
|
1240
|
+
docSummary: string | null;
|
|
1241
|
+
/** Community membership, or null. */
|
|
1242
|
+
community: { id: string | null; label: string | null } | null;
|
|
1243
|
+
/** Incoming call/import edges (callers). */
|
|
1244
|
+
callers: NexusContextRelation[];
|
|
1245
|
+
/** Outgoing call/import edges (callees). */
|
|
1246
|
+
callees: NexusContextRelation[];
|
|
1247
|
+
/** Process participation records. */
|
|
1248
|
+
processes: NexusContextProcess[];
|
|
1249
|
+
/** Source content (populated when opts.showContent is true). */
|
|
1250
|
+
source?: NexusContextSourceContent;
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1027
1253
|
/** Result of `nexus.context`. */
|
|
1028
|
-
export
|
|
1254
|
+
export interface NexusContextResult {
|
|
1255
|
+
/** Original symbol query. */
|
|
1256
|
+
query: string;
|
|
1257
|
+
/** Project ID. */
|
|
1258
|
+
projectId: string;
|
|
1259
|
+
/** Total matching nodes count. */
|
|
1260
|
+
matchCount: number;
|
|
1261
|
+
/** Per-node context entries (up to 5). */
|
|
1262
|
+
results: NexusContextNode[];
|
|
1263
|
+
}
|
|
1029
1264
|
|
|
1030
1265
|
/** Parameters for `nexus.projects.list`. */
|
|
1031
1266
|
export type NexusProjectsListParams = Record<string, never>;
|
|
1032
1267
|
/** Result of `nexus.projects.list`. */
|
|
1033
|
-
export
|
|
1268
|
+
export interface NexusProjectsListResult {
|
|
1269
|
+
/** All registered projects. */
|
|
1270
|
+
projects: NexusProjectRecord[];
|
|
1271
|
+
/** Count of projects returned. */
|
|
1272
|
+
count: number;
|
|
1273
|
+
}
|
|
1034
1274
|
|
|
1035
1275
|
/** Parameters for `nexus.projects.register`. */
|
|
1036
1276
|
export interface NexusProjectsRegisterParams {
|
|
@@ -1066,8 +1306,28 @@ export interface NexusProjectsScanParams {
|
|
|
1066
1306
|
/** Also report already-registered projects. */
|
|
1067
1307
|
includeExisting?: boolean;
|
|
1068
1308
|
}
|
|
1309
|
+
/** Auto-register error entry from `nexus.projects.scan`. */
|
|
1310
|
+
export interface NexusScanAutoRegisterError {
|
|
1311
|
+
/** Project path that failed to auto-register. */
|
|
1312
|
+
path: string;
|
|
1313
|
+
/** Error message. */
|
|
1314
|
+
error: string;
|
|
1315
|
+
}
|
|
1069
1316
|
/** Result of `nexus.projects.scan`. */
|
|
1070
|
-
export
|
|
1317
|
+
export interface NexusProjectsScanResult {
|
|
1318
|
+
/** Search roots actually walked. */
|
|
1319
|
+
roots: string[];
|
|
1320
|
+
/** Unregistered project paths found. */
|
|
1321
|
+
unregistered: string[];
|
|
1322
|
+
/** Already-registered project paths (only populated when includeExisting). */
|
|
1323
|
+
registered: string[];
|
|
1324
|
+
/** Summary counts. */
|
|
1325
|
+
tally: { total: number; unregistered: number; registered: number };
|
|
1326
|
+
/** Paths auto-registered (only when autoRegister). */
|
|
1327
|
+
autoRegistered: string[];
|
|
1328
|
+
/** Auto-register errors (only when autoRegister). */
|
|
1329
|
+
autoRegisterErrors: NexusScanAutoRegisterError[];
|
|
1330
|
+
}
|
|
1071
1331
|
|
|
1072
1332
|
/** Parameters for `nexus.projects.clean`. */
|
|
1073
1333
|
export interface NexusProjectsCleanParams {
|
|
@@ -1085,7 +1345,20 @@ export interface NexusProjectsCleanParams {
|
|
|
1085
1345
|
matchNeverIndexed?: boolean;
|
|
1086
1346
|
}
|
|
1087
1347
|
/** Result of `nexus.projects.clean`. */
|
|
1088
|
-
export
|
|
1348
|
+
export interface NexusProjectsCleanResult {
|
|
1349
|
+
/** Whether this was a dry-run (no deletions performed). */
|
|
1350
|
+
dryRun: boolean;
|
|
1351
|
+
/** Number of rows matching criteria. */
|
|
1352
|
+
matched: number;
|
|
1353
|
+
/** Number of rows actually deleted (0 when dryRun is true). */
|
|
1354
|
+
purged: number;
|
|
1355
|
+
/** Rows remaining after deletion. */
|
|
1356
|
+
remaining: number;
|
|
1357
|
+
/** Sample of matched project paths (first 10). */
|
|
1358
|
+
sample: string[];
|
|
1359
|
+
/** Total registry rows scanned. */
|
|
1360
|
+
totalCount: number;
|
|
1361
|
+
}
|
|
1089
1362
|
|
|
1090
1363
|
/** Parameters for `nexus.refresh-bridge`. */
|
|
1091
1364
|
export interface NexusRefreshBridgeParams {
|
|
@@ -1113,8 +1386,49 @@ export interface NexusDiffParams {
|
|
|
1113
1386
|
/** Override the project ID. */
|
|
1114
1387
|
projectId?: string;
|
|
1115
1388
|
}
|
|
1389
|
+
/** Health classification for a nexus index diff result. */
|
|
1390
|
+
export type NexusDiffHealth =
|
|
1391
|
+
| 'STABLE'
|
|
1392
|
+
| 'RELATIONS_ADDED'
|
|
1393
|
+
| 'RELATIONS_REDUCED'
|
|
1394
|
+
| 'REGRESSIONS_DETECTED';
|
|
1116
1395
|
/** Result of `nexus.diff`. */
|
|
1117
|
-
export
|
|
1396
|
+
export interface NexusDiffResult {
|
|
1397
|
+
/** Resolved "before" ref. */
|
|
1398
|
+
beforeRef: string;
|
|
1399
|
+
/** Resolved "after" ref. */
|
|
1400
|
+
afterRef: string;
|
|
1401
|
+
/** Short SHA for beforeRef. */
|
|
1402
|
+
beforeSha: string;
|
|
1403
|
+
/** Short SHA for afterRef. */
|
|
1404
|
+
afterSha: string;
|
|
1405
|
+
/** Project ID. */
|
|
1406
|
+
projectId: string;
|
|
1407
|
+
/** Absolute repository path. */
|
|
1408
|
+
repoPath: string;
|
|
1409
|
+
/** Changed files detected between the refs. */
|
|
1410
|
+
changedFiles: string[];
|
|
1411
|
+
/** Node count before the incremental run. */
|
|
1412
|
+
nodesBefore: number;
|
|
1413
|
+
/** Node count after. */
|
|
1414
|
+
nodesAfter: number;
|
|
1415
|
+
/** New nodes added. */
|
|
1416
|
+
newNodes: number;
|
|
1417
|
+
/** Nodes removed. */
|
|
1418
|
+
removedNodes: number;
|
|
1419
|
+
/** Relation count before. */
|
|
1420
|
+
relationsBefore: number;
|
|
1421
|
+
/** Relation count after. */
|
|
1422
|
+
relationsAfter: number;
|
|
1423
|
+
/** New relations added. */
|
|
1424
|
+
newRelations: number;
|
|
1425
|
+
/** Relations removed. */
|
|
1426
|
+
removedRelations: number;
|
|
1427
|
+
/** Health classification. */
|
|
1428
|
+
healthStatus: NexusDiffHealth;
|
|
1429
|
+
/** Regression messages (empty if none). */
|
|
1430
|
+
regressions: string[];
|
|
1431
|
+
}
|
|
1118
1432
|
|
|
1119
1433
|
/** Parameters for `nexus.query-cte`. */
|
|
1120
1434
|
export interface NexusQueryCteParams {
|
|
@@ -1123,8 +1437,15 @@ export interface NexusQueryCteParams {
|
|
|
1123
1437
|
/** Positional parameters for the CTE (optional). */
|
|
1124
1438
|
params?: string[];
|
|
1125
1439
|
}
|
|
1126
|
-
/**
|
|
1127
|
-
|
|
1440
|
+
/**
|
|
1441
|
+
* Result of `nexus.query-cte`.
|
|
1442
|
+
*
|
|
1443
|
+
* Rows returned from a recursive CTE query against nexus.db,
|
|
1444
|
+
* plus execution metadata.
|
|
1445
|
+
*
|
|
1446
|
+
* @see NexusCteResult in nexus-query-ops.ts (T1057)
|
|
1447
|
+
*/
|
|
1448
|
+
export type NexusQueryCteResult = NexusCteResult;
|
|
1128
1449
|
|
|
1129
1450
|
/** One hot-path relation edge. */
|
|
1130
1451
|
export interface NexusHotPath {
|