@grafema/types 0.2.4-beta → 0.2.6-beta

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 (47) hide show
  1. package/README.md +13 -9
  2. package/dist/branded.d.ts +0 -7
  3. package/dist/branded.d.ts.map +1 -1
  4. package/dist/branded.js +1 -9
  5. package/dist/branded.js.map +1 -0
  6. package/dist/edges.d.ts +16 -0
  7. package/dist/edges.d.ts.map +1 -1
  8. package/dist/edges.js +21 -0
  9. package/dist/edges.js.map +1 -0
  10. package/dist/index.d.ts +5 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +8 -2
  13. package/dist/index.js.map +1 -0
  14. package/dist/infrastructure.d.ts +169 -0
  15. package/dist/infrastructure.d.ts.map +1 -0
  16. package/dist/infrastructure.js +17 -0
  17. package/dist/infrastructure.js.map +1 -0
  18. package/dist/nodes.d.ts +53 -3
  19. package/dist/nodes.d.ts.map +1 -1
  20. package/dist/nodes.js +10 -1
  21. package/dist/nodes.js.map +1 -0
  22. package/dist/plugins.d.ts +54 -12
  23. package/dist/plugins.d.ts.map +1 -1
  24. package/dist/plugins.js +1 -0
  25. package/dist/plugins.js.map +1 -0
  26. package/dist/resources.d.ts +54 -0
  27. package/dist/resources.d.ts.map +1 -0
  28. package/dist/resources.js +17 -0
  29. package/dist/resources.js.map +1 -0
  30. package/dist/rfdb.d.ts +179 -1
  31. package/dist/rfdb.d.ts.map +1 -1
  32. package/dist/rfdb.js +1 -0
  33. package/dist/rfdb.js.map +1 -0
  34. package/dist/routing.d.ts +85 -0
  35. package/dist/routing.d.ts.map +1 -0
  36. package/dist/routing.js +10 -0
  37. package/dist/routing.js.map +1 -0
  38. package/package.json +1 -1
  39. package/src/branded.ts +1 -11
  40. package/src/edges.ts +22 -0
  41. package/src/index.ts +12 -1
  42. package/src/infrastructure.ts +262 -0
  43. package/src/nodes.ts +75 -3
  44. package/src/plugins.ts +63 -14
  45. package/src/resources.ts +58 -0
  46. package/src/rfdb.ts +230 -1
  47. package/src/routing.ts +96 -0
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  > Type definitions for Grafema code analysis toolkit
4
4
 
5
- **Warning: This package is in early alpha stage and is not recommended for production use.**
5
+ **Warning: This package is in beta stage and the API may change between minor versions.**
6
6
 
7
7
  ## Installation
8
8
 
@@ -14,25 +14,29 @@ npm install @grafema/types
14
14
 
15
15
  This package provides TypeScript type definitions used across the Grafema ecosystem:
16
16
 
17
- - **Node types** - Graph node definitions (functions, classes, variables, etc.)
18
- - **Edge types** - Relationship definitions (calls, imports, assignments, etc.)
19
- - **Plugin types** - Plugin system interfaces
20
- - **RFDB types** - Wire protocol types for RFDB graph database
17
+ - **Node types** Graph node definitions (functions, variables, calls, parameters, etc.)
18
+ - **Edge types** Relationship definitions (CALLS, IMPORTS, ASSIGNED_FROM, FLOWS_INTO, etc.)
19
+ - **Plugin types** Plugin system interfaces (phases, metadata, context)
20
+ - **RFDB types** Wire protocol types for RFDB graph database
21
+ - **Infrastructure types** — USG (Unified Service Graph) types for infrastructure-as-code analysis
21
22
 
22
23
  ## Usage
23
24
 
24
25
  ```typescript
25
26
  import type { NodeType, EdgeType, WireNode, WireEdge } from '@grafema/types';
27
+ import type { PluginMetadata, PluginPhase } from '@grafema/types';
28
+ import type { InfraNodeType, InfraEdgeType } from '@grafema/types';
26
29
  ```
27
30
 
28
31
  ## Exports
29
32
 
30
33
  | Module | Description |
31
34
  |--------|-------------|
32
- | `nodes` | Node type definitions |
33
- | `edges` | Edge type definitions |
34
- | `plugins` | Plugin interface types |
35
- | `rfdb` | RFDB protocol types |
35
+ | `nodes` | Node type definitions (FUNCTION, VARIABLE, CALL, MODULE, etc.) |
36
+ | `edges` | Edge type definitions (CALLS, IMPORTS, ASSIGNED_FROM, etc.) |
37
+ | `plugins` | Plugin interface types and phase definitions |
38
+ | `rfdb` | RFDB wire protocol types |
39
+ | `infra` | USG infrastructure types (Kubernetes, Terraform, Docker) |
36
40
 
37
41
  ## License
38
42
 
package/dist/branded.d.ts CHANGED
@@ -50,12 +50,5 @@ export type UnbrandedNode<T> = T extends BrandedNode<infer U> ? U : never;
50
50
  * It's useful for type narrowing in conditional logic.
51
51
  */
52
52
  export declare function isBrandedNode<T extends BaseNodeRecord>(node: T | BrandedNode<T>): node is BrandedNode<T>;
53
- /**
54
- * Internal helper for NodeFactory to brand a node.
55
- * This should ONLY be used inside NodeFactory methods.
56
- *
57
- * @internal
58
- */
59
- export declare function brandNode<T extends BaseNodeRecord>(node: T): BrandedNode<T>;
60
53
  export {};
61
54
  //# sourceMappingURL=branded.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"branded.d.ts","sourceRoot":"","sources":["../src/branded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7D;;;GAGG;AACH,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,GAAG;IACtD,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EACpD,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACvB,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAIxB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,cAAc,EAAE,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAE3E"}
1
+ {"version":3,"file":"branded.d.ts","sourceRoot":"","sources":["../src/branded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7D;;;GAGG;AACH,OAAO,CAAC,MAAM,UAAU,EAAE,OAAO,MAAM,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI,CAAC,GAAG;IACtD,QAAQ,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC;AAErD;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE1E;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,cAAc,EACpD,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GACvB,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,CAIxB"}
package/dist/branded.js CHANGED
@@ -23,12 +23,4 @@ export function isBrandedNode(node) {
23
23
  // The actual enforcement happens at compile time.
24
24
  return true;
25
25
  }
26
- /**
27
- * Internal helper for NodeFactory to brand a node.
28
- * This should ONLY be used inside NodeFactory methods.
29
- *
30
- * @internal
31
- */
32
- export function brandNode(node) {
33
- return node;
34
- }
26
+ //# sourceMappingURL=branded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branded.js","sourceRoot":"","sources":["../src/branded.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAsCH;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,IAAwB;IAExB,iEAAiE;IACjE,kDAAkD;IAClD,OAAO,IAAI,CAAC;AACd,CAAC"}
package/dist/edges.d.ts CHANGED
@@ -21,6 +21,8 @@ export declare const EDGE_TYPE: {
21
21
  readonly PASSES_ARGUMENT: "PASSES_ARGUMENT";
22
22
  readonly RECEIVES_ARGUMENT: "RECEIVES_ARGUMENT";
23
23
  readonly RETURNS: "RETURNS";
24
+ readonly YIELDS: "YIELDS";
25
+ readonly DELEGATES_TO: "DELEGATES_TO";
24
26
  readonly EXTENDS: "EXTENDS";
25
27
  readonly IMPLEMENTS: "IMPLEMENTS";
26
28
  readonly INSTANCE_OF: "INSTANCE_OF";
@@ -54,9 +56,23 @@ export declare const EDGE_TYPE: {
54
56
  readonly HTTP_RECEIVES: "HTTP_RECEIVES";
55
57
  readonly REGISTERS_VIEW: "REGISTERS_VIEW";
56
58
  readonly THROWS: "THROWS";
59
+ readonly REJECTS: "REJECTS";
60
+ readonly CATCHES_FROM: "CATCHES_FROM";
57
61
  readonly GOVERNS: "GOVERNS";
58
62
  readonly VIOLATES: "VIOLATES";
59
63
  readonly AFFECTS: "AFFECTS";
64
+ readonly DEPLOYED_TO: "DEPLOYED_TO";
65
+ readonly SCHEDULED_BY: "SCHEDULED_BY";
66
+ readonly EXPOSED_VIA: "EXPOSED_VIA";
67
+ readonly USES_CONFIG: "USES_CONFIG";
68
+ readonly USES_SECRET: "USES_SECRET";
69
+ readonly PUBLISHES_TO: "PUBLISHES_TO";
70
+ readonly SUBSCRIBES_TO: "SUBSCRIBES_TO";
71
+ readonly MONITORED_BY: "MONITORED_BY";
72
+ readonly MEASURED_BY: "MEASURED_BY";
73
+ readonly LOGS_TO: "LOGS_TO";
74
+ readonly INVOKES_FUNCTION: "INVOKES_FUNCTION";
75
+ readonly PROVISIONED_BY: "PROVISIONED_BY";
60
76
  readonly UNKNOWN: "UNKNOWN";
61
77
  };
62
78
  export type EdgeType = typeof EDGE_TYPE[keyof typeof EDGE_TYPE] | string;
@@ -1 +1 @@
1
- {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4FZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,GAAG,MAAM,CAAC;AAGzE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAAC;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,EAAE,cAAc,GAAG,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,CAAC,EAAE;QACT,0EAA0E;QAC1E,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC7B,CAAC;CACH"}
1
+ {"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHZ,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,GAAG,MAAM,CAAC;AAGzE,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAGD,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,UAAU,CAAC;CAClB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAa,SAAQ,UAAU;IAC9C,IAAI,EAAE,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAAC;IACvG,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,IAAI,EAAE,cAAc,GAAG,aAAa,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAiB,SAAQ,UAAU;IAClD,IAAI,EAAE,eAAe,CAAC;IACtB,QAAQ,CAAC,EAAE;QACT,0EAA0E;QAC1E,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;KAC7B,CAAC;CACH"}
package/dist/edges.js CHANGED
@@ -28,6 +28,8 @@ export const EDGE_TYPE = {
28
28
  PASSES_ARGUMENT: 'PASSES_ARGUMENT',
29
29
  RECEIVES_ARGUMENT: 'RECEIVES_ARGUMENT',
30
30
  RETURNS: 'RETURNS',
31
+ YIELDS: 'YIELDS',
32
+ DELEGATES_TO: 'DELEGATES_TO',
31
33
  // Inheritance
32
34
  EXTENDS: 'EXTENDS',
33
35
  IMPLEMENTS: 'IMPLEMENTS',
@@ -70,11 +72,30 @@ export const EDGE_TYPE = {
70
72
  REGISTERS_VIEW: 'REGISTERS_VIEW',
71
73
  // Errors
72
74
  THROWS: 'THROWS',
75
+ // REG-311: Async error flow
76
+ REJECTS: 'REJECTS', // FUNCTION -> CLASS (error class it can reject)
77
+ CATCHES_FROM: 'CATCHES_FROM', // CATCH_BLOCK -> error sources in TRY_BLOCK
73
78
  // Guarantees/Invariants
74
79
  GOVERNS: 'GOVERNS',
75
80
  VIOLATES: 'VIOLATES',
76
81
  // Issues
77
82
  AFFECTS: 'AFFECTS',
83
+ // === Cross-Layer Edges (USG) ===
84
+ // Code -> Abstract Resources
85
+ DEPLOYED_TO: 'DEPLOYED_TO',
86
+ SCHEDULED_BY: 'SCHEDULED_BY',
87
+ EXPOSED_VIA: 'EXPOSED_VIA',
88
+ USES_CONFIG: 'USES_CONFIG',
89
+ USES_SECRET: 'USES_SECRET',
90
+ PUBLISHES_TO: 'PUBLISHES_TO',
91
+ SUBSCRIBES_TO: 'SUBSCRIBES_TO',
92
+ MONITORED_BY: 'MONITORED_BY',
93
+ MEASURED_BY: 'MEASURED_BY',
94
+ LOGS_TO: 'LOGS_TO',
95
+ INVOKES_FUNCTION: 'INVOKES_FUNCTION',
96
+ // Abstract -> Concrete (tool provenance)
97
+ PROVISIONED_BY: 'PROVISIONED_BY',
78
98
  // Unknown/fallback
79
99
  UNKNOWN: 'UNKNOWN',
80
100
  };
101
+ //# sourceMappingURL=edges.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edges.js","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAqB;AACrB,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,YAAY;IACZ,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IAEtB,YAAY;IACZ,aAAa,EAAE,eAAe;IAC9B,QAAQ,EAAE,UAAU;IACpB,WAAW,EAAE,aAAa;IAE1B,aAAa;IACb,QAAQ,EAAE,UAAU,EAAY,qBAAqB;IACrD,aAAa,EAAE,eAAe,EAAE,8CAA8C;IAC9E,QAAQ,EAAE,UAAU,EAAY,0CAA0C;IAC1E,UAAU,EAAE,YAAY,EAAQ,wCAAwC;IAExE,qBAAqB;IACrB,cAAc,EAAE,gBAAgB,EAAE,uBAAuB;IACzD,aAAa,EAAE,eAAe,EAAI,uBAAuB;IAEzD,0BAA0B;IAC1B,SAAS,EAAE,WAAW,EAAM,2BAA2B;IACvD,WAAW,EAAE,aAAa,EAAE,6BAA6B;IAEzD,QAAQ;IACR,KAAK,EAAE,OAAO;IACd,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,iBAAiB,EAAE,mBAAmB;IACtC,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAE5B,cAAc;IACd,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAE1B,kBAAkB;IAClB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IAExB,sBAAsB;IACtB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,aAAa,EAAE,eAAe;IAC9B,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,WAAW;IACtB,YAAY,EAAE,cAAc;IAC5B,UAAU,EAAE,YAAY;IAExB,yBAAyB;IACzB,YAAY,EAAE,cAAc,EAAI,mCAAmC;IACnE,WAAW,EAAE,aAAa,EAAM,2BAA2B;IAE3D,eAAe;IACf,SAAS,EAAE,WAAW;IACtB,UAAU,EAAE,YAAY;IACxB,aAAa,EAAE,eAAe;IAC9B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,eAAe;IAE9B,iBAAiB;IACjB,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa;IAC1B,UAAU,EAAE,YAAY;IAExB,WAAW;IACX,SAAS,EAAE,WAAW;IACtB,cAAc,EAAE,gBAAgB;IAChC,aAAa,EAAE,eAAe;IAE9B,QAAQ;IACR,cAAc,EAAE,gBAAgB;IAEhC,SAAS;IACT,MAAM,EAAE,QAAQ;IAEhB,4BAA4B;IAC5B,OAAO,EAAE,SAAS,EAAY,gDAAgD;IAC9E,YAAY,EAAE,cAAc,EAAE,4CAA4C;IAE1E,wBAAwB;IACxB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IAEpB,SAAS;IACT,OAAO,EAAE,SAAS;IAElB,kCAAkC;IAClC,6BAA6B;IAC7B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,WAAW,EAAE,aAAa;IAC1B,YAAY,EAAE,cAAc;IAC5B,aAAa,EAAE,eAAe;IAC9B,YAAY,EAAE,cAAc;IAC5B,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,gBAAgB,EAAE,kBAAkB;IACpC,yCAAyC;IACzC,cAAc,EAAE,gBAAgB;IAEhC,mBAAmB;IACnB,OAAO,EAAE,SAAS;CACV,CAAC"}
package/dist/index.d.ts CHANGED
@@ -2,8 +2,12 @@
2
2
  * @grafema/types - Type definitions for GraphDD code analysis toolkit
3
3
  */
4
4
  export * from './nodes.js';
5
- export * from './branded.js';
5
+ export type { BrandedNode, AnyBrandedNode, UnbrandedNode } from './branded.js';
6
+ export { isBrandedNode } from './branded.js';
6
7
  export * from './edges.js';
7
8
  export * from './plugins.js';
8
9
  export * from './rfdb.js';
10
+ export * from './resources.js';
11
+ export * from './routing.js';
12
+ export * from './infrastructure.js';
9
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,cAAc,YAAY,CAAC;AAI3B,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,cAAc,YAAY,CAAC;AAG3B,cAAc,cAAc,CAAC;AAG7B,cAAc,WAAW,CAAC;AAG1B,cAAc,gBAAgB,CAAC;AAG/B,cAAc,cAAc,CAAC;AAG7B,cAAc,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -3,11 +3,17 @@
3
3
  */
4
4
  // Node types
5
5
  export * from './nodes.js';
6
- // Branded node types (type-safe node creation)
7
- export * from './branded.js';
6
+ export { isBrandedNode } from './branded.js';
8
7
  // Edge types
9
8
  export * from './edges.js';
10
9
  // Plugin types
11
10
  export * from './plugins.js';
12
11
  // RFDB protocol types
13
12
  export * from './rfdb.js';
13
+ // Resource types (REG-256)
14
+ export * from './resources.js';
15
+ // Routing types (REG-256)
16
+ export * from './routing.js';
17
+ // Infrastructure types (USG Phase 1)
18
+ export * from './infrastructure.js';
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,aAAa;AACb,cAAc,YAAY,CAAC;AAK3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,aAAa;AACb,cAAc,YAAY,CAAC;AAE3B,eAAe;AACf,cAAc,cAAc,CAAC;AAE7B,sBAAsB;AACtB,cAAc,WAAW,CAAC;AAE1B,2BAA2B;AAC3B,cAAc,gBAAgB,CAAC;AAE/B,0BAA0B;AAC1B,cAAc,cAAc,CAAC;AAE7B,qCAAqC;AACrC,cAAc,qBAAqB,CAAC"}
@@ -0,0 +1,169 @@
1
+ /**
2
+ * Infrastructure Types — abstract resource taxonomy and cross-layer mapping.
3
+ *
4
+ * USG (Universal System Graph) extends Grafema from code-only to multi-layer:
5
+ * Code → Abstract Resources → Concrete Infrastructure
6
+ *
7
+ * This module defines:
8
+ * - Abstract resource types (tool-agnostic: compute:service, storage:database:sql)
9
+ * - InfraResourceMap interface (like RoutingMap but for infra identity resolution)
10
+ * - Supporting types for analyzers and cross-layer linking
11
+ */
12
+ import type { Resource } from './resources.js';
13
+ import type { EdgeType } from './edges.js';
14
+ /**
15
+ * Known abstract resource types, organized by category.
16
+ * These are tool-agnostic — K8s Deployment, Docker service, EC2 all map
17
+ * to the same abstract type (compute:service).
18
+ *
19
+ * Convention: category:subcategory[:detail]
20
+ */
21
+ type KnownResourceType = 'compute:service' | 'compute:serverless' | 'compute:container' | 'compute:container:orchestration' | 'compute:job' | 'compute:vm' | 'networking:ingress' | 'networking:service' | 'networking:gateway' | 'networking:vpc' | 'networking:dns' | 'networking:cdn' | 'networking:firewall' | 'networking:vpn' | 'storage:object' | 'storage:volume' | 'storage:file' | 'storage:cache' | 'storage:database:sql' | 'storage:database:nosql' | 'storage:database:graph' | 'storage:database:timeseries' | 'storage:database:warehouse' | 'messaging:queue' | 'messaging:stream' | 'messaging:topic' | 'messaging:event_bus' | 'messaging:workflow' | 'config:map' | 'config:secret' | 'security:iam' | 'security:certificate' | 'security:dlp' | 'security:threat_detection' | 'observability:alert' | 'observability:dashboard' | 'observability:slo' | 'observability:log_target' | 'observability:tracing' | 'observability:apm' | 'devops:pipeline' | 'devops:registry:container' | 'devops:iac' | 'ai:platform' | 'ai:vision' | 'ai:nlp' | 'ai:speech' | 'communication:email' | 'communication:sms' | 'communication:push' | 'iot:platform' | 'iot:edge';
22
+ /**
23
+ * Abstract resource type — known types for autocomplete + extensible via string.
24
+ * Any 'category:subcategory' string is valid.
25
+ */
26
+ export type AbstractResourceType = KnownResourceType | `${string}:${string}`;
27
+ /** Well-known Resource ID for InfraResourceMap */
28
+ export declare const INFRA_RESOURCE_MAP_ID: "infra:resource:map";
29
+ /**
30
+ * Parsed infrastructure resource from a concrete analyzer.
31
+ * Generic representation before graph node creation.
32
+ */
33
+ export interface InfraResource {
34
+ /** Unique resource ID (e.g., 'infra:k8s:deployment:user-api') */
35
+ id: string;
36
+ /** Concrete tool-specific type (e.g., 'infra:k8s:deployment') */
37
+ type: string;
38
+ /** Human-readable name */
39
+ name: string;
40
+ /** Source file where resource is defined */
41
+ file: string;
42
+ /** Line number in file (if available) */
43
+ line?: number;
44
+ /** Environment(s) this resource belongs to (undefined = all) */
45
+ env?: string | string[];
46
+ /** Tool that created this resource (e.g., 'kubernetes', 'terraform') */
47
+ tool: string;
48
+ /** Raw resource data */
49
+ metadata?: Record<string, unknown>;
50
+ }
51
+ /**
52
+ * Mapping from concrete resource to abstract type.
53
+ * Created by InfraAnalyzer.mapToAbstract(), stored in InfraResourceMap.
54
+ */
55
+ export interface ResourceMapping {
56
+ /** Concrete graph node ID */
57
+ concreteId: string;
58
+ /** Concrete type (e.g., 'infra:k8s:deployment') */
59
+ concreteType: string;
60
+ /** Abstract type this maps to */
61
+ abstractType: AbstractResourceType;
62
+ /** Abstract resource ID (e.g., 'compute:service:user-api') */
63
+ abstractId: string;
64
+ /** Human-readable name */
65
+ name: string;
66
+ /** Normalized tool-agnostic metadata */
67
+ metadata: Record<string, unknown>;
68
+ /** Environment */
69
+ env?: string | string[];
70
+ /** Source file */
71
+ sourceFile: string;
72
+ /** Tool name */
73
+ sourceTool: string;
74
+ }
75
+ /**
76
+ * Cross-layer link between code and infrastructure.
77
+ */
78
+ export interface CrossLayerLink {
79
+ type: EdgeType;
80
+ src: string;
81
+ dst: string;
82
+ metadata?: Record<string, unknown>;
83
+ }
84
+ /**
85
+ * Abstract resource — tool-agnostic representation.
86
+ * Created from one or more concrete resources via InfraResourceMap.
87
+ */
88
+ export interface AbstractResource {
89
+ /** Abstract ID (e.g., 'compute:service:user-api') */
90
+ id: string;
91
+ /** Abstract type */
92
+ type: AbstractResourceType;
93
+ /** Human-readable name */
94
+ name: string;
95
+ /** Environment */
96
+ env?: string | string[];
97
+ /** Normalized metadata */
98
+ metadata: Record<string, unknown>;
99
+ /** Concrete resources that provide this abstract resource */
100
+ providers: ConcreteResourceRef[];
101
+ }
102
+ /**
103
+ * Reference to a concrete resource that provides an abstract resource.
104
+ */
105
+ export interface ConcreteResourceRef {
106
+ /** Concrete graph node ID */
107
+ id: string;
108
+ /** Tool-specific type */
109
+ type: string;
110
+ /** Tool name */
111
+ tool: string;
112
+ /** Source file */
113
+ file: string;
114
+ }
115
+ /**
116
+ * InfraResourceMap — maps concrete infrastructure to abstract types.
117
+ * Like RoutingMap but for infrastructure identity resolution.
118
+ *
119
+ * Resource ID: 'infra:resource:map'
120
+ *
121
+ * Lifecycle:
122
+ * 1. Concrete analyzers (K8s, Terraform) call register() during ANALYSIS
123
+ * 2. Enrichers call find*() during ENRICHMENT to create abstract nodes + edges
124
+ */
125
+ export interface InfraResourceMap extends Resource {
126
+ readonly id: typeof INFRA_RESOURCE_MAP_ID;
127
+ /** Register a concrete->abstract mapping. Called by analyzers. */
128
+ register(mapping: ResourceMapping): void;
129
+ /** Find abstract resource by name and type. Returns null if not registered. */
130
+ findAbstract(name: string, type: AbstractResourceType): AbstractResource | null;
131
+ /** Find all concrete resources for an abstract resource ID. */
132
+ findConcrete(abstractId: string): ConcreteResourceRef[];
133
+ /** Get all abstract resources of a given type. */
134
+ findByType(type: AbstractResourceType): AbstractResource[];
135
+ /** Filter abstract resources by environment. */
136
+ findByEnv(env: string): AbstractResource[];
137
+ /** Get all registered abstract resources. */
138
+ getAll(): AbstractResource[];
139
+ /** Get count of abstract resources (for metrics). */
140
+ get resourceCount(): number;
141
+ }
142
+ /**
143
+ * Infrastructure configuration section in grafema.config.yaml.
144
+ *
145
+ * ```yaml
146
+ * infrastructure:
147
+ * enabled: true
148
+ * kubernetes:
149
+ * enabled: true
150
+ * paths: ['k8s/**.yaml']
151
+ * ```
152
+ */
153
+ export interface InfrastructureConfig {
154
+ enabled: boolean;
155
+ kubernetes?: InfraToolConfig;
156
+ terraform?: InfraToolConfig;
157
+ dockerCompose?: InfraToolConfig;
158
+ custom?: CustomAnalyzerConfig;
159
+ }
160
+ export interface InfraToolConfig {
161
+ enabled: boolean;
162
+ paths: string[];
163
+ mappings?: Record<string, string>;
164
+ }
165
+ export interface CustomAnalyzerConfig {
166
+ analyzerPath: string;
167
+ }
168
+ export {};
169
+ //# sourceMappingURL=infrastructure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infrastructure.d.ts","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Infrastructure Types — abstract resource taxonomy and cross-layer mapping.
3
+ *
4
+ * USG (Universal System Graph) extends Grafema from code-only to multi-layer:
5
+ * Code → Abstract Resources → Concrete Infrastructure
6
+ *
7
+ * This module defines:
8
+ * - Abstract resource types (tool-agnostic: compute:service, storage:database:sql)
9
+ * - InfraResourceMap interface (like RoutingMap but for infra identity resolution)
10
+ * - Supporting types for analyzers and cross-layer linking
11
+ */
12
+ // ============================================================
13
+ // INFRA RESOURCE MAP
14
+ // ============================================================
15
+ /** Well-known Resource ID for InfraResourceMap */
16
+ export const INFRA_RESOURCE_MAP_ID = 'infra:resource:map';
17
+ //# sourceMappingURL=infrastructure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infrastructure.js","sourceRoot":"","sources":["../src/infrastructure.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAuFH,+DAA+D;AAC/D,qBAAqB;AACrB,+DAA+D;AAE/D,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAA6B,CAAC"}
package/dist/nodes.d.ts CHANGED
@@ -14,6 +14,7 @@ export declare const NODE_TYPE: {
14
14
  readonly IMPORT: "IMPORT";
15
15
  readonly EXPORT: "EXPORT";
16
16
  readonly CALL: "CALL";
17
+ readonly PROPERTY_ACCESS: "PROPERTY_ACCESS";
17
18
  readonly PROJECT: "PROJECT";
18
19
  readonly SERVICE: "SERVICE";
19
20
  readonly FILE: "FILE";
@@ -45,16 +46,21 @@ export declare const NAMESPACED_TYPE: {
45
46
  readonly FS_OPERATION: "fs:operation";
46
47
  readonly NET_REQUEST: "net:request";
47
48
  readonly NET_STDIO: "net:stdio";
49
+ readonly NET_TCP_CONNECTION: "net:tcp-connection";
50
+ readonly NET_TCP_SERVER: "net:tcp-server";
51
+ readonly OS_UNIX_SOCKET: "os:unix-socket";
52
+ readonly OS_UNIX_SERVER: "os:unix-server";
48
53
  readonly EVENT_LISTENER: "event:listener";
49
54
  readonly EVENT_EMIT: "event:emit";
55
+ readonly GRAFEMA_PLUGIN: "grafema:plugin";
50
56
  };
51
57
  export type NamespacedNodeType = typeof NAMESPACED_TYPE[keyof typeof NAMESPACED_TYPE];
52
58
  export type NodeType = BaseNodeType | NamespacedNodeType | string;
53
59
  export interface BaseNodeRecord {
54
60
  id: string;
55
61
  type: NodeType;
56
- name: string;
57
- file: string;
62
+ name?: string;
63
+ file?: string;
58
64
  exported?: boolean;
59
65
  line?: number;
60
66
  column?: number;
@@ -75,6 +81,7 @@ export interface FunctionNodeRecord extends BaseNodeRecord {
75
81
  returnType?: string;
76
82
  signature?: string;
77
83
  jsdocSummary?: string;
84
+ start?: number;
78
85
  }
79
86
  export interface ClassNodeRecord extends BaseNodeRecord {
80
87
  type: 'CLASS';
@@ -93,6 +100,8 @@ export interface ModuleNodeRecord extends BaseNodeRecord {
93
100
  relativePath: string;
94
101
  contentHash: string;
95
102
  language?: string;
103
+ /** REG-297: true if module uses top-level await */
104
+ hasTopLevelAwait?: boolean;
96
105
  }
97
106
  export interface ImportNodeRecord extends BaseNodeRecord {
98
107
  type: 'IMPORT';
@@ -125,6 +134,12 @@ export interface CallNodeRecord extends BaseNodeRecord {
125
134
  isMethodCall?: boolean;
126
135
  objectName?: string;
127
136
  }
137
+ export interface PropertyAccessNodeRecord extends BaseNodeRecord {
138
+ type: 'PROPERTY_ACCESS';
139
+ objectName: string;
140
+ optional?: boolean;
141
+ computed?: boolean;
142
+ }
128
143
  export interface ServiceNodeRecord extends BaseNodeRecord {
129
144
  type: 'SERVICE';
130
145
  projectPath: string;
@@ -198,7 +213,42 @@ export interface GuaranteeNodeRecord extends BaseNodeRecord {
198
213
  createdAt?: number;
199
214
  updatedAt?: number;
200
215
  }
201
- export type NodeRecord = FunctionNodeRecord | ClassNodeRecord | MethodNodeRecord | ModuleNodeRecord | ImportNodeRecord | ExportNodeRecord | VariableNodeRecord | CallNodeRecord | ServiceNodeRecord | ScopeNodeRecord | BranchNodeRecord | CaseNodeRecord | LoopNodeRecord | TryBlockNodeRecord | CatchBlockNodeRecord | FinallyBlockNodeRecord | HttpRouteNodeRecord | DbQueryNodeRecord | EventListenerNodeRecord | GuaranteeNodeRecord | BaseNodeRecord;
216
+ export interface PluginNodeRecord extends BaseNodeRecord {
217
+ type: 'grafema:plugin';
218
+ phase: string;
219
+ priority: number;
220
+ builtin: boolean;
221
+ createsNodes: string[];
222
+ createsEdges: string[];
223
+ dependencies: string[];
224
+ }
225
+ export interface OsUnixSocketNodeRecord extends BaseNodeRecord {
226
+ type: 'os:unix-socket';
227
+ protocol: 'unix';
228
+ path: string;
229
+ library: string;
230
+ }
231
+ export interface OsUnixServerNodeRecord extends BaseNodeRecord {
232
+ type: 'os:unix-server';
233
+ protocol: 'unix';
234
+ path: string;
235
+ backlog?: number;
236
+ }
237
+ export interface NetTcpConnectionNodeRecord extends BaseNodeRecord {
238
+ type: 'net:tcp-connection';
239
+ protocol: 'tcp';
240
+ host?: string;
241
+ port: number;
242
+ library: string;
243
+ }
244
+ export interface NetTcpServerNodeRecord extends BaseNodeRecord {
245
+ type: 'net:tcp-server';
246
+ protocol: 'tcp';
247
+ host?: string;
248
+ port: number;
249
+ backlog?: number;
250
+ }
251
+ export type NodeRecord = FunctionNodeRecord | ClassNodeRecord | MethodNodeRecord | ModuleNodeRecord | ImportNodeRecord | ExportNodeRecord | VariableNodeRecord | CallNodeRecord | PropertyAccessNodeRecord | ServiceNodeRecord | ScopeNodeRecord | BranchNodeRecord | CaseNodeRecord | LoopNodeRecord | TryBlockNodeRecord | CatchBlockNodeRecord | FinallyBlockNodeRecord | HttpRouteNodeRecord | DbQueryNodeRecord | EventListenerNodeRecord | GuaranteeNodeRecord | PluginNodeRecord | OsUnixSocketNodeRecord | OsUnixServerNodeRecord | NetTcpConnectionNodeRecord | NetTcpServerNodeRecord | BaseNodeRecord;
202
252
  export declare function isNamespacedType(nodeType: string): boolean;
203
253
  export declare function getNamespace(nodeType: string): string | null;
204
254
  export declare function getBaseName(nodeType: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
package/dist/nodes.js CHANGED
@@ -18,6 +18,7 @@ export const NODE_TYPE = {
18
18
  EXPORT: 'EXPORT',
19
19
  // Call graph
20
20
  CALL: 'CALL',
21
+ PROPERTY_ACCESS: 'PROPERTY_ACCESS',
21
22
  // Project structure
22
23
  PROJECT: 'PROJECT',
23
24
  SERVICE: 'SERVICE',
@@ -60,9 +61,16 @@ export const NAMESPACED_TYPE = {
60
61
  // Network
61
62
  NET_REQUEST: 'net:request',
62
63
  NET_STDIO: 'net:stdio',
64
+ NET_TCP_CONNECTION: 'net:tcp-connection',
65
+ NET_TCP_SERVER: 'net:tcp-server',
66
+ // OS-level IPC (Unix domain sockets)
67
+ OS_UNIX_SOCKET: 'os:unix-socket',
68
+ OS_UNIX_SERVER: 'os:unix-server',
63
69
  // Events
64
70
  EVENT_LISTENER: 'event:listener',
65
71
  EVENT_EMIT: 'event:emit',
72
+ // Grafema internal (self-describing pipeline)
73
+ GRAFEMA_PLUGIN: 'grafema:plugin',
66
74
  };
67
75
  // === HELPER FUNCTIONS ===
68
76
  export function isNamespacedType(nodeType) {
@@ -88,5 +96,6 @@ export function isSideEffectType(nodeType) {
88
96
  if (nodeType === NODE_TYPE.SIDE_EFFECT)
89
97
  return true;
90
98
  const ns = getNamespace(nodeType);
91
- return ns === 'db' || ns === 'fs' || ns === 'net';
99
+ return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os';
92
100
  }
101
+ //# sourceMappingURL=nodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}