@graph-ir/core 0.2.0 → 0.2.1

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 (40) hide show
  1. package/README.md +15 -2
  2. package/dist/canonical-types.d.ts +207 -0
  3. package/dist/canonical-types.d.ts.map +1 -0
  4. package/dist/canonical-types.js +3 -0
  5. package/dist/canonical-types.js.map +1 -0
  6. package/dist/generation/id-generator.d.ts.map +1 -1
  7. package/dist/generation/id-generator.js +16 -10
  8. package/dist/generation/id-generator.js.map +1 -1
  9. package/dist/index.d.ts +2 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/output/types.d.ts.map +1 -1
  14. package/dist/schemas/graph-ir.schema.json +327 -271
  15. package/dist/skills/diff.d.ts +4 -0
  16. package/dist/skills/diff.d.ts.map +1 -1
  17. package/dist/skills/diff.js +93 -11
  18. package/dist/skills/diff.js.map +1 -1
  19. package/dist/skills/migrate.d.ts +13 -18
  20. package/dist/skills/migrate.d.ts.map +1 -1
  21. package/dist/skills/migrate.js +224 -247
  22. package/dist/skills/migrate.js.map +1 -1
  23. package/dist/skills/visualize.d.ts.map +1 -1
  24. package/dist/skills/visualize.js +29 -5
  25. package/dist/skills/visualize.js.map +1 -1
  26. package/dist/testing/diff.d.ts +1 -1
  27. package/dist/testing/diff.d.ts.map +1 -1
  28. package/dist/testing/diff.js +23 -19
  29. package/dist/testing/diff.js.map +1 -1
  30. package/dist/types.d.ts +12 -214
  31. package/dist/types.d.ts.map +1 -1
  32. package/dist/types.js +3 -2
  33. package/dist/types.js.map +1 -1
  34. package/dist/validation/ir-validator.d.ts +27 -44
  35. package/dist/validation/ir-validator.d.ts.map +1 -1
  36. package/dist/validation/ir-validator.js +481 -294
  37. package/dist/validation/ir-validator.js.map +1 -1
  38. package/dist/validation/validator.d.ts.map +1 -1
  39. package/package.json +9 -4
  40. package/specification.json +9 -0
@@ -1,51 +1,34 @@
1
- /**
2
- * Graph-IR Validator
3
- *
4
- * Validates Graph-IR against schema and semantic rules:
5
- * 1. JSON Schema validation (structure)
6
- * 2. ID uniqueness
7
- * 3. Reference validity (edges -> nodes, ports)
8
- * 4. Cycle detection in hierarchy
9
- * 5. Semantic warnings (orphans, self-loops)
10
- */
11
- import type { ValidationResult, ValidationOptions } from '../types.js';
1
+ import type { ValidationOptions, ValidationResult } from '../types.js';
12
2
  export declare class IRValidator {
13
- private options;
14
- private ajv;
15
- private schemaValidator;
3
+ private readonly options;
4
+ private readonly schemaValidator;
16
5
  constructor(options?: ValidationOptions);
17
- private addDateTimeFormat;
18
- /**
19
- * Validate from JSON string
20
- */
21
6
  validateFromString(jsonString: string): ValidationResult;
22
- /**
23
- * Validate a Graph-IR object
24
- */
25
- validate(ir: unknown): ValidationResult;
26
- /**
27
- * Validate against JSON Schema
28
- */
29
- private validateSchema;
30
- /**
31
- * Collect all nodes including nested children
32
- */
33
- private collectAllNodes;
34
- /**
35
- * Check if a node has a port with the given ID
36
- */
7
+ validate(value: unknown): ValidationResult;
8
+ private resolveMode;
9
+ private normalizeSchemaErrors;
10
+ private pathHasPinnedNode;
11
+ private validateSemantic;
12
+ private validateEdge;
13
+ private validateConstraints;
14
+ private validateDirectionalContradictions;
15
+ private addRelativeEdge;
16
+ private addArrangementEdges;
17
+ private checkPinnedRelation;
18
+ private checkPinnedPair;
19
+ private canReach;
20
+ private addWarnings;
21
+ private collectNodes;
22
+ private findHierarchyCycle;
23
+ private isGraphShape;
37
24
  private hasPort;
38
- /**
39
- * Check for cycles in the node hierarchy
40
- */
41
- private checkHierarchyCycles;
42
- /**
43
- * Find a similar ID for suggestions
44
- */
25
+ private portIdentity;
26
+ private joinPointer;
27
+ private error;
28
+ private warning;
29
+ private result;
30
+ private dedupe;
45
31
  private findSimilarId;
46
- /**
47
- * Calculate Levenshtein distance for similarity
48
- */
49
- private levenshteinDistance;
32
+ private levenshtein;
50
33
  }
51
34
  //# sourceMappingURL=ir-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ir-validator.d.ts","sourceRoot":"","sources":["../../src/validation/ir-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAIV,gBAAgB,EAEhB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AASrB,qBAAa,WAAW;IACtB,OAAO,CAAC,OAAO,CAAoB;IACnC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,eAAe,CAAmB;gBAE9B,OAAO,GAAE,iBAAsB;IAQ3C,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAwBxD;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,OAAO,GAAG,gBAAgB;IAsLvC;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAkBvB;;OAEG;IACH,OAAO,CAAC,OAAO;IAIf;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2C5B;;OAEG;IACH,OAAO,CAAC,aAAa;IAgBrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;CA0B5B"}
1
+ {"version":3,"file":"ir-validator.d.ts","sourceRoot":"","sources":["../../src/validation/ir-validator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EASV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAsBrB,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAmB;gBAEvC,OAAO,GAAE,iBAAsB;IAW3C,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB;IAgBxD,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB;IA6C1C,OAAO,CAAC,WAAW;IAuBnB,OAAO,CAAC,qBAAqB;IAkC7B,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,gBAAgB;IAwExB,OAAO,CAAC,YAAY;IA4DpB,OAAO,CAAC,mBAAmB;IAqE3B,OAAO,CAAC,iCAAiC;IAsCzC,OAAO,CAAC,eAAe;IA0BvB,OAAO,CAAC,mBAAmB;IA8B3B,OAAO,CAAC,mBAAmB;IAgB3B,OAAO,CAAC,eAAe;IAwCvB,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,WAAW;IA+BnB,OAAO,CAAC,YAAY;IAuBpB,OAAO,CAAC,kBAAkB;IAqB1B,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,MAAM;IAUd,OAAO,CAAC,aAAa;IAerB,OAAO,CAAC,WAAW;CAmBpB"}