@cleocode/contracts 2026.5.3 → 2026.5.5

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.
Files changed (46) hide show
  1. package/dist/index.d.ts +5 -4
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/lafs.d.ts +16 -143
  5. package/dist/lafs.d.ts.map +1 -1
  6. package/dist/lafs.js +11 -4
  7. package/dist/lafs.js.map +1 -1
  8. package/dist/operations/conduit.d.ts +15 -3
  9. package/dist/operations/conduit.d.ts.map +1 -1
  10. package/dist/operations/docs.d.ts +18 -15
  11. package/dist/operations/docs.d.ts.map +1 -1
  12. package/dist/operations/index.d.ts +5 -0
  13. package/dist/operations/index.d.ts.map +1 -1
  14. package/dist/operations/index.js +5 -0
  15. package/dist/operations/index.js.map +1 -1
  16. package/dist/operations/lifecycle.d.ts +3 -4
  17. package/dist/operations/lifecycle.d.ts.map +1 -1
  18. package/dist/operations/nexus.d.ts +341 -34
  19. package/dist/operations/nexus.d.ts.map +1 -1
  20. package/dist/operations/session.d.ts +201 -9
  21. package/dist/operations/session.d.ts.map +1 -1
  22. package/dist/operations/tasks.d.ts +381 -35
  23. package/dist/operations/tasks.d.ts.map +1 -1
  24. package/dist/operations/tasks.js +4 -3
  25. package/dist/operations/tasks.js.map +1 -1
  26. package/dist/tasks.d.ts +357 -0
  27. package/dist/tasks.d.ts.map +1 -0
  28. package/dist/tasks.js +18 -0
  29. package/dist/tasks.js.map +1 -0
  30. package/package.json +4 -2
  31. package/schemas/acceptance-gate.schema.json +484 -5
  32. package/schemas/attachment.schema.json +210 -5
  33. package/schemas/gate-result-details.schema.json +174 -5
  34. package/schemas/gate-result.schema.json +236 -5
  35. package/schemas/task-evidence.schema.json +199 -5
  36. package/schemas/task.schema.json +568 -5
  37. package/src/index.ts +37 -7
  38. package/src/lafs.ts +34 -162
  39. package/src/operations/conduit.ts +16 -3
  40. package/src/operations/docs.ts +22 -16
  41. package/src/operations/index.ts +5 -0
  42. package/src/operations/lifecycle.ts +3 -5
  43. package/src/operations/nexus.ts +355 -34
  44. package/src/operations/session.ts +213 -10
  45. package/src/operations/tasks.ts +377 -36
  46. package/src/tasks.ts +413 -0
@@ -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 type NexusAugmentResult = unknown;
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
- /** Result of `nexus.full-context`. */
831
- export type NexusFullContextResult = unknown;
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
- /** Result of `nexus.task-footprint`. */
839
- export type NexusTaskFootprintResult = unknown;
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
- /** Result of `nexus.brain-anchors`. */
847
- export type NexusBrainAnchorsResult = unknown;
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
- /** Result of `nexus.why`. */
855
- export type NexusWhyResult = unknown;
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
- /** Result of `nexus.impact-full`. */
863
- export type NexusImpactFullResult = unknown;
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
- /** Result of `nexus.route-map`. */
871
- export type NexusRouteMapResult = unknown;
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
- /** Result of `nexus.shape-check`. */
881
- export type NexusShapeCheckResult = unknown;
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
- /** Result of `nexus.search-code`. */
891
- export type NexusSearchCodeResult = unknown;
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
- /** Result of `nexus.wiki`. */
903
- export type NexusWikiResult = unknown;
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
- /** Result of `nexus.contracts-show`. */
913
- export type NexusContractsShowResult = unknown;
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 type NexusTaskSymbolsResult = unknown;
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 type NexusSigilSyncResult = unknown;
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 type NexusConduitScanResult = unknown;
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 type NexusContractsSyncResult = unknown;
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
- /** Result of `nexus.contracts-link-tasks`. */
964
- export type NexusContractsLinkTasksResult = unknown;
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 type NexusContextResult = unknown;
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 type NexusProjectsListResult = unknown;
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 type NexusProjectsScanResult = unknown;
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 type NexusProjectsCleanResult = unknown;
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 type NexusDiffResult = unknown;
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
- /** Result of `nexus.query-cte`. */
1127
- export type NexusQueryCteResult = unknown;
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 {