@neat.is/core 0.10.1-dev.20260928 → 0.10.2

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.cts CHANGED
@@ -23,6 +23,11 @@ interface DroppedExtractedEdge {
23
23
  confidenceKind: string;
24
24
  evidence: EdgeEvidence;
25
25
  }
26
+ interface SkippedSourceFile {
27
+ path: string;
28
+ reason: 'minified';
29
+ detail: string;
30
+ }
26
31
 
27
32
  interface ExtractResult {
28
33
  nodesAdded: number;
@@ -31,6 +36,8 @@ interface ExtractResult {
31
36
  extractionErrors: number;
32
37
  errorEntries: ExtractionError[];
33
38
  ghostsRetired: number;
39
+ skippedFiles: number;
40
+ skippedEntries: SkippedSourceFile[];
34
41
  extractedDropped: number;
35
42
  droppedEntries: DroppedExtractedEdge[];
36
43
  }
@@ -57,6 +64,19 @@ interface CompatPair {
57
64
  declare function checkCompatibility(driver: string, driverVersion: string, engine: string, engineVersion: string): CompatibilityResult;
58
65
  declare function compatPairs(): readonly CompatPair[];
59
66
 
67
+ /**
68
+ * Write the snapshot, atomically, without ever holding it as one string.
69
+ *
70
+ * `JSON.stringify` on a whole large graph hits V8's ~2^29-character cap and
71
+ * throws `RangeError: Invalid string length` (#1254) — extraction finishes and
72
+ * the snapshot is simply lost. Streaming the two big arrays element by element
73
+ * bounds the file by disk rather than by string length. The bytes are identical
74
+ * to what the single-call version wrote, so `loadGraphFromDisk` and every other
75
+ * reader are untouched.
76
+ *
77
+ * Note the read side still holds the file as one string, so a snapshot past the
78
+ * same cap will write but not load back. That ceiling is real and separate.
79
+ */
60
80
  declare function saveGraphToDisk(graph: NeatGraph, outPath: string): Promise<void>;
61
81
  declare function loadGraphFromDisk(graph: NeatGraph, outPath: string): Promise<void>;
62
82
  interface PersistLoopOptions {
@@ -698,7 +718,19 @@ interface AddProjectOptions {
698
718
  languages?: string[];
699
719
  status?: RegistryStatus;
700
720
  }
701
- declare class ProjectNameCollisionError extends Error {
721
+ /**
722
+ * Anything the registry refuses to do.
723
+ *
724
+ * The identity lives on the class, not in the message text. Every caller that
725
+ * prints one already prefixes its own name — the CLI writes `neat: ` — so a
726
+ * message carrying `neat registry:` came out as `neat: neat registry: …`
727
+ * (#1240). A non-CLI caller that wants to know where an error came from reads
728
+ * `err.name`, which is more reliable than a string prefix anyway.
729
+ */
730
+ declare class RegistryError extends Error {
731
+ constructor(message: string);
732
+ }
733
+ declare class ProjectNameCollisionError extends RegistryError {
702
734
  readonly projectName: string;
703
735
  constructor(name: string);
704
736
  }
package/dist/index.d.ts CHANGED
@@ -23,6 +23,11 @@ interface DroppedExtractedEdge {
23
23
  confidenceKind: string;
24
24
  evidence: EdgeEvidence;
25
25
  }
26
+ interface SkippedSourceFile {
27
+ path: string;
28
+ reason: 'minified';
29
+ detail: string;
30
+ }
26
31
 
27
32
  interface ExtractResult {
28
33
  nodesAdded: number;
@@ -31,6 +36,8 @@ interface ExtractResult {
31
36
  extractionErrors: number;
32
37
  errorEntries: ExtractionError[];
33
38
  ghostsRetired: number;
39
+ skippedFiles: number;
40
+ skippedEntries: SkippedSourceFile[];
34
41
  extractedDropped: number;
35
42
  droppedEntries: DroppedExtractedEdge[];
36
43
  }
@@ -57,6 +64,19 @@ interface CompatPair {
57
64
  declare function checkCompatibility(driver: string, driverVersion: string, engine: string, engineVersion: string): CompatibilityResult;
58
65
  declare function compatPairs(): readonly CompatPair[];
59
66
 
67
+ /**
68
+ * Write the snapshot, atomically, without ever holding it as one string.
69
+ *
70
+ * `JSON.stringify` on a whole large graph hits V8's ~2^29-character cap and
71
+ * throws `RangeError: Invalid string length` (#1254) — extraction finishes and
72
+ * the snapshot is simply lost. Streaming the two big arrays element by element
73
+ * bounds the file by disk rather than by string length. The bytes are identical
74
+ * to what the single-call version wrote, so `loadGraphFromDisk` and every other
75
+ * reader are untouched.
76
+ *
77
+ * Note the read side still holds the file as one string, so a snapshot past the
78
+ * same cap will write but not load back. That ceiling is real and separate.
79
+ */
60
80
  declare function saveGraphToDisk(graph: NeatGraph, outPath: string): Promise<void>;
61
81
  declare function loadGraphFromDisk(graph: NeatGraph, outPath: string): Promise<void>;
62
82
  interface PersistLoopOptions {
@@ -698,7 +718,19 @@ interface AddProjectOptions {
698
718
  languages?: string[];
699
719
  status?: RegistryStatus;
700
720
  }
701
- declare class ProjectNameCollisionError extends Error {
721
+ /**
722
+ * Anything the registry refuses to do.
723
+ *
724
+ * The identity lives on the class, not in the message text. Every caller that
725
+ * prints one already prefixes its own name — the CLI writes `neat: ` — so a
726
+ * message carrying `neat registry:` came out as `neat: neat registry: …`
727
+ * (#1240). A non-CLI caller that wants to know where an error came from reads
728
+ * `err.name`, which is more reliable than a string prefix anyway.
729
+ */
730
+ declare class RegistryError extends Error {
731
+ constructor(message: string);
732
+ }
733
+ declare class ProjectNameCollisionError extends RegistryError {
702
734
  readonly projectName: string;
703
735
  constructor(name: string);
704
736
  }
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  routeSpanToProject,
3
3
  startDaemon
4
- } from "./chunk-HVBD4ULO.js";
4
+ } from "./chunk-CAGAHYDB.js";
5
5
  import {
6
6
  ProjectNameCollisionError,
7
7
  addProject,
@@ -37,15 +37,15 @@ import {
37
37
  thresholdForEdgeType,
38
38
  touchLastSeen,
39
39
  writeAtomically
40
- } from "./chunk-CNOJ4T6I.js";
40
+ } from "./chunk-TXKOAART.js";
41
41
  import {
42
42
  startOtelGrpcReceiver
43
- } from "./chunk-ERE47MCR.js";
43
+ } from "./chunk-5SJHA5ZH.js";
44
44
  import {
45
45
  buildOtelReceiver,
46
46
  logSpanHandler,
47
47
  parseOtlpRequest
48
- } from "./chunk-GDGUY4T6.js";
48
+ } from "./chunk-M7CGATVC.js";
49
49
  export {
50
50
  ProjectNameCollisionError,
51
51
  addProject,