@grafema/types 0.2.5-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.
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,13 +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
- }
35
26
  //# sourceMappingURL=branded.js.map
@@ -1 +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;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAA2B,IAAO;IACzD,OAAO,IAAsB,CAAC;AAChC,CAAC"}
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
@@ -61,6 +61,18 @@ export declare const EDGE_TYPE: {
61
61
  readonly GOVERNS: "GOVERNS";
62
62
  readonly VIOLATES: "VIOLATES";
63
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";
64
76
  readonly UNKNOWN: "UNKNOWN";
65
77
  };
66
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkGZ,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
@@ -80,6 +80,21 @@ export const EDGE_TYPE = {
80
80
  VIOLATES: 'VIOLATES',
81
81
  // Issues
82
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',
83
98
  // Unknown/fallback
84
99
  UNKNOWN: 'UNKNOWN',
85
100
  };
package/dist/edges.js.map CHANGED
@@ -1 +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,mBAAmB;IACnB,OAAO,EAAE,SAAS;CACV,CAAC"}
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,12 +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';
14
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,aAAa;AACb,cAAc,YAAY,CAAC;AAE3B,+CAA+C;AAC/C,cAAc,cAAc,CAAC;AAE7B,aAAa;AACb,cAAc,YAAY,CAAC;AAE3B,eAAe;AACf,cAAc,cAAc,CAAC;AAE7B,sBAAsB;AACtB,cAAc,WAAW,CAAC"}
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
@@ -46,6 +46,10 @@ export declare const NAMESPACED_TYPE: {
46
46
  readonly FS_OPERATION: "fs:operation";
47
47
  readonly NET_REQUEST: "net:request";
48
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";
49
53
  readonly EVENT_LISTENER: "event:listener";
50
54
  readonly EVENT_EMIT: "event:emit";
51
55
  readonly GRAFEMA_PLUGIN: "grafema:plugin";
@@ -96,6 +100,8 @@ export interface ModuleNodeRecord extends BaseNodeRecord {
96
100
  relativePath: string;
97
101
  contentHash: string;
98
102
  language?: string;
103
+ /** REG-297: true if module uses top-level await */
104
+ hasTopLevelAwait?: boolean;
99
105
  }
100
106
  export interface ImportNodeRecord extends BaseNodeRecord {
101
107
  type: 'IMPORT';
@@ -216,7 +222,33 @@ export interface PluginNodeRecord extends BaseNodeRecord {
216
222
  createsEdges: string[];
217
223
  dependencies: string[];
218
224
  }
219
- 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 | BaseNodeRecord;
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;
220
252
  export declare function isNamespacedType(nodeType: string): boolean;
221
253
  export declare function getNamespace(nodeType: string): string | null;
222
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
@@ -61,6 +61,11 @@ export const NAMESPACED_TYPE = {
61
61
  // Network
62
62
  NET_REQUEST: 'net:request',
63
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',
64
69
  // Events
65
70
  EVENT_LISTENER: 'event:listener',
66
71
  EVENT_EMIT: 'event:emit',
@@ -91,6 +96,6 @@ export function isSideEffectType(nodeType) {
91
96
  if (nodeType === NODE_TYPE.SIDE_EFFECT)
92
97
  return true;
93
98
  const ns = getNamespace(nodeType);
94
- return ns === 'db' || ns === 'fs' || ns === 'net';
99
+ return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os';
95
100
  }
96
101
  //# sourceMappingURL=nodes.js.map
package/dist/nodes.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
package/dist/plugins.d.ts CHANGED
@@ -3,7 +3,11 @@
3
3
  */
4
4
  import type { NodeType, NodeRecord } from './nodes.js';
5
5
  import type { EdgeType, EdgeRecord } from './edges.js';
6
- import type { FieldDeclaration } from './rfdb.js';
6
+ import type { AnyBrandedNode } from './branded.js';
7
+ import type { FieldDeclaration, CommitDelta } from './rfdb.js';
8
+ import type { ResourceRegistry } from './resources.js';
9
+ import type { RoutingRule } from './routing.js';
10
+ import type { InfrastructureConfig } from './infrastructure.js';
7
11
  /**
8
12
  * Log level for controlling verbosity.
9
13
  * Levels are ordered by verbosity: silent < errors < warnings < info < debug
@@ -38,6 +42,16 @@ export interface PluginMetadata {
38
42
  dependencies?: string[];
39
43
  /** Metadata fields this plugin writes. Used for RFDB server-side indexing. */
40
44
  fields?: FieldDeclaration[];
45
+ /**
46
+ * Package names this analyzer covers (for coverage tracking).
47
+ * Only used by package-specific analyzers.
48
+ * Examples: ['sqlite3'], ['@prisma/client'], ['lodash']
49
+ */
50
+ covers?: string[];
51
+ /** Edge types this plugin reads from the graph (RFD-2). Used for automatic dependency inference. */
52
+ consumes?: EdgeType[];
53
+ /** Edge types this plugin creates/modifies (RFD-2). Used for automatic dependency inference. */
54
+ produces?: EdgeType[];
41
55
  }
42
56
  /**
43
57
  * Specification for creating an issue node via reportIssue().
@@ -104,6 +118,12 @@ export interface PluginContext {
104
118
  * - Multi root ("backend"): "backend/src/utils.js->global->FUNCTION->foo"
105
119
  */
106
120
  rootPrefix?: string;
121
+ /**
122
+ * Resource registry for shared data between plugins (REG-256).
123
+ * Plugins can read/write typed Resources through this registry.
124
+ * Available in all phases. Created by Orchestrator at run start.
125
+ */
126
+ resources?: ResourceRegistry;
107
127
  }
108
128
  export interface PluginResult {
109
129
  success: boolean;
@@ -171,6 +191,13 @@ export interface OrchestratorConfig {
171
191
  * Note: node_modules is already excluded by default in JSModuleIndexer.
172
192
  */
173
193
  exclude?: string[];
194
+ /**
195
+ * Routing rules from config for cross-service URL mapping (REG-256).
196
+ * Passed through to plugins via PluginContext.config.
197
+ */
198
+ routing?: RoutingRule[];
199
+ /** Infrastructure analysis configuration (USG Phase 1) */
200
+ infrastructure?: InfrastructureConfig;
174
201
  }
175
202
  /**
176
203
  * Explicit service definition for configuration.
@@ -194,15 +221,13 @@ export interface ServiceDefinition {
194
221
  * If omitted, auto-detected via resolveSourceEntrypoint() or package.json.main
195
222
  */
196
223
  entryPoint?: string;
197
- }
198
- export interface InputNode {
199
- id: string;
200
- type?: string;
201
- nodeType?: string;
202
- name?: string;
203
- file?: string;
204
- line?: number;
205
- [key: string]: unknown;
224
+ /**
225
+ * Mark this service as customer-facing (REG-256).
226
+ * Routes in customer-facing services are expected to have frontend consumers.
227
+ * Unconnected routes in customer-facing services raise issue:connectivity warnings.
228
+ * Default: false (no issues for unconnected routes).
229
+ */
230
+ customerFacing?: boolean;
206
231
  }
207
232
  export interface InputEdge {
208
233
  src: string;
@@ -211,9 +236,9 @@ export interface InputEdge {
211
236
  [key: string]: unknown;
212
237
  }
213
238
  export interface GraphBackend {
214
- addNode(node: InputNode): Promise<void> | void;
239
+ addNode(node: AnyBrandedNode): Promise<void> | void;
215
240
  addEdge(edge: InputEdge): Promise<void> | void;
216
- addNodes(nodes: InputNode[]): Promise<void> | void;
241
+ addNodes(nodes: AnyBrandedNode[]): Promise<void> | void;
217
242
  addEdges(edges: InputEdge[]): Promise<void> | void;
218
243
  getNode(id: string): Promise<NodeRecord | null>;
219
244
  queryNodes(filter: NodeFilter): AsyncIterable<NodeRecord> | AsyncGenerator<NodeRecord>;
@@ -235,6 +260,9 @@ export interface GraphBackend {
235
260
  flush?(): Promise<void>;
236
261
  close?(): Promise<void>;
237
262
  declareFields?(fields: FieldDeclaration[]): Promise<number>;
263
+ beginBatch?(): void;
264
+ commitBatch?(tags?: string[]): Promise<CommitDelta>;
265
+ abortBatch?(): void;
238
266
  }
239
267
  export interface NodeFilter {
240
268
  type?: NodeType;