@grafema/types 0.2.12-beta → 0.3.0-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/dist/edges.d.ts +37 -2
- package/dist/edges.d.ts.map +1 -1
- package/dist/edges.js +13 -1
- package/dist/edges.js.map +1 -1
- package/dist/nodes.d.ts +23 -1
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +10 -1
- package/dist/nodes.js.map +1 -1
- package/dist/plugins.d.ts +27 -4
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js.map +1 -1
- package/dist/rfdb.d.ts +101 -2
- package/dist/rfdb.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/edges.ts +41 -2
- package/src/nodes.ts +31 -1
- package/src/plugins.ts +30 -6
- package/src/rfdb.ts +111 -1
package/dist/edges.d.ts
CHANGED
|
@@ -21,15 +21,16 @@ 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 CALL_RETURNS: "CALL_RETURNS";
|
|
24
25
|
readonly YIELDS: "YIELDS";
|
|
25
26
|
readonly DELEGATES_TO: "DELEGATES_TO";
|
|
27
|
+
readonly HAS_MEMBER: "HAS_MEMBER";
|
|
26
28
|
readonly EXTENDS: "EXTENDS";
|
|
27
29
|
readonly IMPLEMENTS: "IMPLEMENTS";
|
|
28
30
|
readonly INSTANCE_OF: "INSTANCE_OF";
|
|
29
31
|
readonly IMPORTS: "IMPORTS";
|
|
30
32
|
readonly EXPORTS: "EXPORTS";
|
|
31
33
|
readonly IMPORTS_FROM: "IMPORTS_FROM";
|
|
32
|
-
readonly EXPORTS_TO: "EXPORTS_TO";
|
|
33
34
|
readonly DEFINES: "DEFINES";
|
|
34
35
|
readonly USES: "USES";
|
|
35
36
|
readonly DECLARES: "DECLARES";
|
|
@@ -40,8 +41,15 @@ export declare const EDGE_TYPE: {
|
|
|
40
41
|
readonly WRITES_TO: "WRITES_TO";
|
|
41
42
|
readonly DERIVES_FROM: "DERIVES_FROM";
|
|
42
43
|
readonly FLOWS_INTO: "FLOWS_INTO";
|
|
44
|
+
readonly SPREADS_FROM: "SPREADS_FROM";
|
|
45
|
+
readonly ELEMENT_OF: "ELEMENT_OF";
|
|
46
|
+
readonly KEY_OF: "KEY_OF";
|
|
47
|
+
readonly DESTRUCTURED_FROM: "DESTRUCTURED_FROM";
|
|
43
48
|
readonly HAS_PROPERTY: "HAS_PROPERTY";
|
|
44
49
|
readonly HAS_ELEMENT: "HAS_ELEMENT";
|
|
50
|
+
readonly PROPERTY_KEY: "PROPERTY_KEY";
|
|
51
|
+
readonly PROPERTY_VALUE: "PROPERTY_VALUE";
|
|
52
|
+
readonly ASSIGNS_TO: "ASSIGNS_TO";
|
|
45
53
|
readonly ROUTES_TO: "ROUTES_TO";
|
|
46
54
|
readonly HANDLED_BY: "HANDLED_BY";
|
|
47
55
|
readonly MAKES_REQUEST: "MAKES_REQUEST";
|
|
@@ -73,6 +81,7 @@ export declare const EDGE_TYPE: {
|
|
|
73
81
|
readonly LOGS_TO: "LOGS_TO";
|
|
74
82
|
readonly INVOKES_FUNCTION: "INVOKES_FUNCTION";
|
|
75
83
|
readonly PROVISIONED_BY: "PROVISIONED_BY";
|
|
84
|
+
readonly PERFORMS_REDIS: "PERFORMS_REDIS";
|
|
76
85
|
readonly UNKNOWN: "UNKNOWN";
|
|
77
86
|
};
|
|
78
87
|
export type EdgeType = typeof EDGE_TYPE[keyof typeof EDGE_TYPE] | string;
|
|
@@ -95,14 +104,40 @@ export interface ImportsEdge extends EdgeRecord {
|
|
|
95
104
|
specifier?: string;
|
|
96
105
|
isDefault?: boolean;
|
|
97
106
|
}
|
|
107
|
+
/** EXPORT node → entity it exports (FUNCTION, VARIABLE, CLASS, etc.) or re-export target */
|
|
98
108
|
export interface ExportsEdge extends EdgeRecord {
|
|
99
109
|
type: 'EXPORTS';
|
|
100
|
-
exportedName?: string;
|
|
101
110
|
}
|
|
102
111
|
export interface DataFlowEdge extends EdgeRecord {
|
|
103
112
|
type: 'ASSIGNED_FROM' | 'READS_FROM' | 'WRITES_TO' | 'PASSES_ARGUMENT' | 'DERIVES_FROM' | 'FLOWS_INTO';
|
|
104
113
|
dataType?: string;
|
|
105
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* Edge representing an element/value relationship with a collection.
|
|
117
|
+
* Source: the element (VARIABLE, PARAMETER, CALL)
|
|
118
|
+
* Destination: the collection (VARIABLE, PARAMETER)
|
|
119
|
+
*
|
|
120
|
+
* Example: `for (const item of arr)` → item --ELEMENT_OF--> arr
|
|
121
|
+
*/
|
|
122
|
+
export interface ElementOfEdge extends EdgeRecord {
|
|
123
|
+
type: 'ELEMENT_OF';
|
|
124
|
+
metadata?: {
|
|
125
|
+
via: 'for-of' | 'for-in' | 'destructuring' | 'method-callback' | 'method-return' | 'computed-access' | 'Object.values' | 'Object.entries';
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Edge representing a key relationship with a collection.
|
|
130
|
+
* Source: the key (VARIABLE, PARAMETER, CALL)
|
|
131
|
+
* Destination: the collection (VARIABLE, PARAMETER)
|
|
132
|
+
*
|
|
133
|
+
* Example: `for (const key in obj)` → key --KEY_OF--> obj
|
|
134
|
+
*/
|
|
135
|
+
export interface KeyOfEdge extends EdgeRecord {
|
|
136
|
+
type: 'KEY_OF';
|
|
137
|
+
metadata?: {
|
|
138
|
+
via: 'for-in' | 'Object.keys' | 'Object.entries';
|
|
139
|
+
};
|
|
140
|
+
}
|
|
106
141
|
/**
|
|
107
142
|
* Edge representing data flowing INTO a container (array, collection)
|
|
108
143
|
* Source: the value being added
|
package/dist/edges.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"edges.d.ts","sourceRoot":"","sources":["../src/edges.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiIZ,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,4FAA4F;AAC5F,MAAM,WAAW,WAAY,SAAQ,UAAU;IAC7C,IAAI,EAAE,SAAS,CAAC;CACjB;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,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,iBAAiB,GAAG,eAAe,GAAG,gBAAgB,CAAA;KAAE,CAAC;CAC1J;AAED;;;;;;GAMG;AACH,MAAM,WAAW,SAAU,SAAQ,UAAU;IAC3C,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE;QAAE,GAAG,EAAE,QAAQ,GAAG,aAAa,GAAG,gBAAgB,CAAA;KAAE,CAAC;CACjE;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,8 +28,11 @@ export const EDGE_TYPE = {
|
|
|
28
28
|
PASSES_ARGUMENT: 'PASSES_ARGUMENT',
|
|
29
29
|
RECEIVES_ARGUMENT: 'RECEIVES_ARGUMENT',
|
|
30
30
|
RETURNS: 'RETURNS',
|
|
31
|
+
CALL_RETURNS: 'CALL_RETURNS',
|
|
31
32
|
YIELDS: 'YIELDS',
|
|
32
33
|
DELEGATES_TO: 'DELEGATES_TO',
|
|
34
|
+
// Class members
|
|
35
|
+
HAS_MEMBER: 'HAS_MEMBER', // CLASS -> METHOD / PROPERTY / STATIC_BLOCK
|
|
33
36
|
// Inheritance
|
|
34
37
|
EXTENDS: 'EXTENDS',
|
|
35
38
|
IMPLEMENTS: 'IMPLEMENTS',
|
|
@@ -38,7 +41,6 @@ export const EDGE_TYPE = {
|
|
|
38
41
|
IMPORTS: 'IMPORTS',
|
|
39
42
|
EXPORTS: 'EXPORTS',
|
|
40
43
|
IMPORTS_FROM: 'IMPORTS_FROM',
|
|
41
|
-
EXPORTS_TO: 'EXPORTS_TO',
|
|
42
44
|
// Variables/Data flow
|
|
43
45
|
DEFINES: 'DEFINES',
|
|
44
46
|
USES: 'USES',
|
|
@@ -50,9 +52,17 @@ export const EDGE_TYPE = {
|
|
|
50
52
|
WRITES_TO: 'WRITES_TO',
|
|
51
53
|
DERIVES_FROM: 'DERIVES_FROM',
|
|
52
54
|
FLOWS_INTO: 'FLOWS_INTO',
|
|
55
|
+
SPREADS_FROM: 'SPREADS_FROM', // SpreadElement → source being spread
|
|
56
|
+
ELEMENT_OF: 'ELEMENT_OF', // X is an element/value of collection Y (for-of, destructuring, array methods)
|
|
57
|
+
KEY_OF: 'KEY_OF', // X is a key of collection Y (for-in)
|
|
58
|
+
DESTRUCTURED_FROM: 'DESTRUCTURED_FROM', // VARIABLE → source it was destructured from, metadata.property = key
|
|
53
59
|
// Object/Array structure
|
|
54
60
|
HAS_PROPERTY: 'HAS_PROPERTY', // OBJECT_LITERAL -> property value
|
|
55
61
|
HAS_ELEMENT: 'HAS_ELEMENT', // ARRAY_LITERAL -> element
|
|
62
|
+
// Property assignment structure
|
|
63
|
+
PROPERTY_KEY: 'PROPERTY_KEY', // PROPERTY_ASSIGNMENT -> key literal
|
|
64
|
+
PROPERTY_VALUE: 'PROPERTY_VALUE', // PROPERTY_ASSIGNMENT -> value expression
|
|
65
|
+
ASSIGNS_TO: 'ASSIGNS_TO', // PROPERTY_ASSIGNMENT -> target PROPERTY/VARIABLE
|
|
56
66
|
// HTTP/Routing
|
|
57
67
|
ROUTES_TO: 'ROUTES_TO',
|
|
58
68
|
HANDLED_BY: 'HANDLED_BY',
|
|
@@ -95,6 +105,8 @@ export const EDGE_TYPE = {
|
|
|
95
105
|
INVOKES_FUNCTION: 'INVOKES_FUNCTION',
|
|
96
106
|
// Abstract -> Concrete (tool provenance)
|
|
97
107
|
PROVISIONED_BY: 'PROVISIONED_BY',
|
|
108
|
+
// Redis
|
|
109
|
+
PERFORMS_REDIS: 'PERFORMS_REDIS',
|
|
98
110
|
// Unknown/fallback
|
|
99
111
|
UNKNOWN: 'UNKNOWN',
|
|
100
112
|
};
|
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;
|
|
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,YAAY,EAAE,cAAc;IAC5B,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,cAAc;IAE5B,gBAAgB;IAChB,UAAU,EAAE,YAAY,EAAQ,4CAA4C;IAE5E,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;IAE5B,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;IACxB,YAAY,EAAE,cAAc,EAAE,sCAAsC;IACpE,UAAU,EAAE,YAAY,EAAI,+EAA+E;IAC3G,MAAM,EAAE,QAAQ,EAAY,sCAAsC;IAClE,iBAAiB,EAAE,mBAAmB,EAAE,sEAAsE;IAE9G,yBAAyB;IACzB,YAAY,EAAE,cAAc,EAAI,mCAAmC;IACnE,WAAW,EAAE,aAAa,EAAM,2BAA2B;IAE3D,gCAAgC;IAChC,YAAY,EAAE,cAAc,EAAQ,qCAAqC;IACzE,cAAc,EAAE,gBAAgB,EAAI,0CAA0C;IAC9E,UAAU,EAAE,YAAY,EAAW,kDAAkD;IAErF,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,QAAQ;IACR,cAAc,EAAE,gBAAgB;IAEhC,mBAAmB;IACnB,OAAO,EAAE,SAAS;CACV,CAAC"}
|
package/dist/nodes.d.ts
CHANGED
|
@@ -15,6 +15,7 @@ export declare const NODE_TYPE: {
|
|
|
15
15
|
readonly EXPORT: "EXPORT";
|
|
16
16
|
readonly CALL: "CALL";
|
|
17
17
|
readonly PROPERTY_ACCESS: "PROPERTY_ACCESS";
|
|
18
|
+
readonly PROPERTY_ASSIGNMENT: "PROPERTY_ASSIGNMENT";
|
|
18
19
|
readonly PROJECT: "PROJECT";
|
|
19
20
|
readonly SERVICE: "SERVICE";
|
|
20
21
|
readonly FILE: "FILE";
|
|
@@ -41,6 +42,13 @@ export declare const NAMESPACED_TYPE: {
|
|
|
41
42
|
readonly SOCKETIO_NAMESPACE: "socketio:namespace";
|
|
42
43
|
readonly DB_QUERY: "db:query";
|
|
43
44
|
readonly DB_CONNECTION: "db:connection";
|
|
45
|
+
readonly REDIS_READ: "redis:read";
|
|
46
|
+
readonly REDIS_WRITE: "redis:write";
|
|
47
|
+
readonly REDIS_DELETE: "redis:delete";
|
|
48
|
+
readonly REDIS_PUBLISH: "redis:publish";
|
|
49
|
+
readonly REDIS_SUBSCRIBE: "redis:subscribe";
|
|
50
|
+
readonly REDIS_TRANSACTION: "redis:transaction";
|
|
51
|
+
readonly REDIS_CONNECTION: "redis:connection";
|
|
44
52
|
readonly FS_READ: "fs:read";
|
|
45
53
|
readonly FS_WRITE: "fs:write";
|
|
46
54
|
readonly FS_OPERATION: "fs:operation";
|
|
@@ -140,6 +148,12 @@ export interface PropertyAccessNodeRecord extends BaseNodeRecord {
|
|
|
140
148
|
optional?: boolean;
|
|
141
149
|
computed?: boolean;
|
|
142
150
|
}
|
|
151
|
+
export interface PropertyAssignmentNodeRecord extends BaseNodeRecord {
|
|
152
|
+
type: 'PROPERTY_ASSIGNMENT';
|
|
153
|
+
objectName: string;
|
|
154
|
+
className?: string;
|
|
155
|
+
computed?: boolean;
|
|
156
|
+
}
|
|
143
157
|
export interface ServiceNodeRecord extends BaseNodeRecord {
|
|
144
158
|
type: 'SERVICE';
|
|
145
159
|
projectPath: string;
|
|
@@ -248,7 +262,15 @@ export interface NetTcpServerNodeRecord extends BaseNodeRecord {
|
|
|
248
262
|
port: number;
|
|
249
263
|
backlog?: number;
|
|
250
264
|
}
|
|
251
|
-
export
|
|
265
|
+
export interface RedisOperationNodeRecord extends BaseNodeRecord {
|
|
266
|
+
type: 'redis:read' | 'redis:write' | 'redis:delete' | 'redis:publish' | 'redis:subscribe' | 'redis:transaction' | 'redis:connection';
|
|
267
|
+
method: string;
|
|
268
|
+
object?: string;
|
|
269
|
+
key?: string;
|
|
270
|
+
operation: string;
|
|
271
|
+
package: string;
|
|
272
|
+
}
|
|
273
|
+
export type NodeRecord = FunctionNodeRecord | ClassNodeRecord | MethodNodeRecord | ModuleNodeRecord | ImportNodeRecord | ExportNodeRecord | VariableNodeRecord | CallNodeRecord | PropertyAccessNodeRecord | PropertyAssignmentNodeRecord | ServiceNodeRecord | ScopeNodeRecord | BranchNodeRecord | CaseNodeRecord | LoopNodeRecord | TryBlockNodeRecord | CatchBlockNodeRecord | FinallyBlockNodeRecord | HttpRouteNodeRecord | DbQueryNodeRecord | EventListenerNodeRecord | GuaranteeNodeRecord | PluginNodeRecord | OsUnixSocketNodeRecord | OsUnixServerNodeRecord | NetTcpConnectionNodeRecord | NetTcpServerNodeRecord | RedisOperationNodeRecord | BaseNodeRecord;
|
|
252
274
|
export declare function isNamespacedType(nodeType: string): boolean;
|
|
253
275
|
export declare function getNamespace(nodeType: string): string | null;
|
|
254
276
|
export declare function getBaseName(nodeType: string): string;
|
package/dist/nodes.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"nodes.d.ts","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/nodes.js
CHANGED
|
@@ -19,6 +19,7 @@ export const NODE_TYPE = {
|
|
|
19
19
|
// Call graph
|
|
20
20
|
CALL: 'CALL',
|
|
21
21
|
PROPERTY_ACCESS: 'PROPERTY_ACCESS',
|
|
22
|
+
PROPERTY_ASSIGNMENT: 'PROPERTY_ASSIGNMENT',
|
|
22
23
|
// Project structure
|
|
23
24
|
PROJECT: 'PROJECT',
|
|
24
25
|
SERVICE: 'SERVICE',
|
|
@@ -54,6 +55,14 @@ export const NAMESPACED_TYPE = {
|
|
|
54
55
|
// Database
|
|
55
56
|
DB_QUERY: 'db:query',
|
|
56
57
|
DB_CONNECTION: 'db:connection',
|
|
58
|
+
// Redis
|
|
59
|
+
REDIS_READ: 'redis:read',
|
|
60
|
+
REDIS_WRITE: 'redis:write',
|
|
61
|
+
REDIS_DELETE: 'redis:delete',
|
|
62
|
+
REDIS_PUBLISH: 'redis:publish',
|
|
63
|
+
REDIS_SUBSCRIBE: 'redis:subscribe',
|
|
64
|
+
REDIS_TRANSACTION: 'redis:transaction',
|
|
65
|
+
REDIS_CONNECTION: 'redis:connection',
|
|
57
66
|
// Filesystem
|
|
58
67
|
FS_READ: 'fs:read',
|
|
59
68
|
FS_WRITE: 'fs:write',
|
|
@@ -96,6 +105,6 @@ export function isSideEffectType(nodeType) {
|
|
|
96
105
|
if (nodeType === NODE_TYPE.SIDE_EFFECT)
|
|
97
106
|
return true;
|
|
98
107
|
const ns = getNamespace(nodeType);
|
|
99
|
-
return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os';
|
|
108
|
+
return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os' || ns === 'redis';
|
|
100
109
|
}
|
|
101
110
|
//# 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":"AAAA;;GAEG;AAEH,0BAA0B;AAC1B,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,qBAAqB;IACrB,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;IAExB,gBAAgB;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAEhB,aAAa;IACb,IAAI,EAAE,MAAM;IACZ,eAAe,EAAE,iBAAiB;
|
|
1
|
+
{"version":3,"file":"nodes.js","sourceRoot":"","sources":["../src/nodes.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins.d.ts
CHANGED
|
@@ -126,6 +126,30 @@ export interface PluginContext {
|
|
|
126
126
|
* Available in all phases. Created by Orchestrator at run start.
|
|
127
127
|
*/
|
|
128
128
|
resources?: ResourceRegistry;
|
|
129
|
+
/**
|
|
130
|
+
* Graph write factory with non-restricted method names (REG-541).
|
|
131
|
+
* Plugins should use factory.store/link/storeMany/linkMany/update
|
|
132
|
+
* instead of graph.addNode/addEdge to satisfy guarantee rules.
|
|
133
|
+
* Also exposes read methods (getNode, queryNodes, etc.) so plugins
|
|
134
|
+
* can read from the graph through the factory.
|
|
135
|
+
* Injected by PhaseRunner when GraphFactory is available.
|
|
136
|
+
*/
|
|
137
|
+
factory?: {
|
|
138
|
+
store(node: AnyBrandedNode): Promise<void>;
|
|
139
|
+
storeMany(nodes: AnyBrandedNode[]): Promise<void>;
|
|
140
|
+
link(edge: InputEdge): Promise<void>;
|
|
141
|
+
linkMany(edges: InputEdge[], skipValidation?: boolean): Promise<void>;
|
|
142
|
+
update(node: NodeRecord): Promise<void>;
|
|
143
|
+
getNode(id: string): Promise<NodeRecord | null>;
|
|
144
|
+
queryNodes(filter: NodeFilter): AsyncIterable<NodeRecord> | AsyncGenerator<NodeRecord>;
|
|
145
|
+
getOutgoingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
146
|
+
getIncomingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
147
|
+
nodeCount(): Promise<number>;
|
|
148
|
+
edgeCount(): Promise<number>;
|
|
149
|
+
countNodesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
150
|
+
countEdgesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
151
|
+
clear(): Promise<void>;
|
|
152
|
+
};
|
|
129
153
|
/**
|
|
130
154
|
* When true, commitBatch should defer index rebuilding (REG-487).
|
|
131
155
|
* Used during initial/full analysis for O(1) per-commit cost.
|
|
@@ -247,15 +271,13 @@ export interface GraphBackend {
|
|
|
247
271
|
addNode(node: AnyBrandedNode): Promise<void> | void;
|
|
248
272
|
addEdge(edge: InputEdge): Promise<void> | void;
|
|
249
273
|
addNodes(nodes: AnyBrandedNode[]): Promise<void> | void;
|
|
250
|
-
addEdges(edges: InputEdge[]): Promise<void> | void;
|
|
274
|
+
addEdges(edges: InputEdge[], skipValidation?: boolean): Promise<void> | void;
|
|
251
275
|
getNode(id: string): Promise<NodeRecord | null>;
|
|
252
276
|
queryNodes(filter: NodeFilter): AsyncIterable<NodeRecord> | AsyncGenerator<NodeRecord>;
|
|
253
|
-
getAllNodes(filter?: NodeFilter): Promise<NodeRecord[]>;
|
|
254
277
|
getOutgoingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
255
278
|
getIncomingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
256
279
|
nodeCount(): Promise<number>;
|
|
257
280
|
edgeCount(): Promise<number>;
|
|
258
|
-
getAllEdges?(): Promise<EdgeRecord[]>;
|
|
259
281
|
countNodesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
260
282
|
countEdgesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
261
283
|
findByType?(type: string): Promise<string[]>;
|
|
@@ -269,12 +291,13 @@ export interface GraphBackend {
|
|
|
269
291
|
close?(): Promise<void>;
|
|
270
292
|
declareFields?(fields: FieldDeclaration[]): Promise<number>;
|
|
271
293
|
beginBatch?(): void;
|
|
272
|
-
commitBatch?(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
294
|
+
commitBatch?(tags?: string[], deferIndex?: boolean, protectedTypes?: string[], changedFiles?: string[]): Promise<CommitDelta>;
|
|
273
295
|
abortBatch?(): void;
|
|
274
296
|
rebuildIndexes?(): Promise<void>;
|
|
275
297
|
createBatch?(): unknown;
|
|
276
298
|
batchNode?(node: AnyBrandedNode): void;
|
|
277
299
|
batchEdge?(edge: InputEdge): void;
|
|
300
|
+
updateNode?(node: NodeRecord): Promise<void>;
|
|
278
301
|
}
|
|
279
302
|
export interface NodeFilter {
|
|
280
303
|
type?: NodeType;
|
package/dist/plugins.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"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"}
|
package/dist/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8BH,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAChB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../src/plugins.ts"],"names":[],"mappings":"AAAA;;GAEG;AA8BH,wBAAwB;AACxB,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,WAAW;IACtB,QAAQ,EAAE,UAAU;IACpB,QAAQ,EAAE,UAAU;IACpB,UAAU,EAAE,YAAY;IACxB,UAAU,EAAE,YAAY;CAChB,CAAC;AAmVX,2BAA2B;AAC3B,MAAM,UAAU,mBAAmB,CACjC,UAA4C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAClE,WAAoC,EAAE,EACtC,SAAkB,EAAE;IAEpB,OAAO;QACL,OAAO,EAAE,IAAI;QACb,OAAO;QACP,MAAM;QACN,QAAQ,EAAE,EAAE;QACZ,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,KAAY,EACZ,UAA4C,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;IAElE,OAAO;QACL,OAAO,EAAE,KAAK;QACd,OAAO;QACP,MAAM,EAAE,CAAC,KAAK,CAAC;QACf,QAAQ,EAAE,EAAE;QACZ,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC"}
|
package/dist/rfdb.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { NodeType } from './nodes.js';
|
|
5
5
|
import type { EdgeType } from './edges.js';
|
|
6
|
-
export type RFDBCommand = 'addNodes' | 'addEdges' | 'deleteNode' | 'deleteEdge' | 'clear' | 'updateNodeVersion' | 'getNode' | 'nodeExists' | 'findByType' | 'findByAttr' | 'queryNodes' | 'getAllNodes' | 'getAllEdges' | 'isEndpoint' | 'getNodeIdentifier' | 'neighbors' | 'bfs' | 'dfs' | 'reachability' | 'getOutgoingEdges' | 'getIncomingEdges' | 'nodeCount' | 'edgeCount' | 'countNodesByType' | 'countEdgesByType' | 'flush' | 'compact' | 'ping' | 'shutdown' | 'datalogLoadRules' | 'datalogClearRules' | 'datalogQuery' | 'checkGuarantee' | 'executeDatalog' | 'hello' | 'createDatabase' | 'openDatabase' | 'closeDatabase' | 'dropDatabase' | 'listDatabases' | 'currentDatabase' | 'declareFields' | 'diffSnapshots' | 'tagSnapshot' | 'findSnapshot' | 'listSnapshots' | 'commitBatch' | 'rebuildIndexes';
|
|
6
|
+
export type RFDBCommand = 'addNodes' | 'addEdges' | 'deleteNode' | 'deleteEdge' | 'clear' | 'updateNodeVersion' | 'getNode' | 'nodeExists' | 'findByType' | 'findByAttr' | 'queryNodes' | 'getAllNodes' | 'getAllEdges' | 'isEndpoint' | 'getNodeIdentifier' | 'neighbors' | 'bfs' | 'dfs' | 'reachability' | 'getOutgoingEdges' | 'getIncomingEdges' | 'nodeCount' | 'edgeCount' | 'countNodesByType' | 'countEdgesByType' | 'getStats' | 'flush' | 'compact' | 'ping' | 'shutdown' | 'datalogLoadRules' | 'datalogClearRules' | 'datalogQuery' | 'checkGuarantee' | 'executeDatalog' | 'cypherQuery' | 'hello' | 'createDatabase' | 'openDatabase' | 'closeDatabase' | 'dropDatabase' | 'listDatabases' | 'currentDatabase' | 'declareFields' | 'diffSnapshots' | 'tagSnapshot' | 'findSnapshot' | 'listSnapshots' | 'commitBatch' | 'rebuildIndexes';
|
|
7
7
|
export interface WireNode {
|
|
8
8
|
id: string;
|
|
9
9
|
nodeType: NodeType;
|
|
@@ -216,6 +216,8 @@ export interface AttrQuery {
|
|
|
216
216
|
name?: string;
|
|
217
217
|
file?: string;
|
|
218
218
|
exported?: boolean;
|
|
219
|
+
/** When true, name and file filters use substring (contains) matching instead of exact match */
|
|
220
|
+
substringMatch?: boolean;
|
|
219
221
|
/** @deprecated Node-level version filter is legacy. In v2, use snapshot/tag APIs for history. */
|
|
220
222
|
version?: string;
|
|
221
223
|
/** Extra fields are matched against node metadata JSON (e.g. object, method, async) */
|
|
@@ -236,6 +238,47 @@ export interface DatalogBinding {
|
|
|
236
238
|
export interface DatalogResult {
|
|
237
239
|
bindings: DatalogBinding;
|
|
238
240
|
}
|
|
241
|
+
export interface QueryStats {
|
|
242
|
+
nodesVisited: number;
|
|
243
|
+
edgesTraversed: number;
|
|
244
|
+
findByTypeCalls: number;
|
|
245
|
+
getNodeCalls: number;
|
|
246
|
+
outgoingEdgeCalls: number;
|
|
247
|
+
incomingEdgeCalls: number;
|
|
248
|
+
allEdgesCalls: number;
|
|
249
|
+
bfsCalls: number;
|
|
250
|
+
totalResults: number;
|
|
251
|
+
ruleEvaluations: number;
|
|
252
|
+
intermediateCounts: number[];
|
|
253
|
+
}
|
|
254
|
+
export interface QueryProfile {
|
|
255
|
+
totalDurationUs: number;
|
|
256
|
+
predicateTimes: Record<string, number>;
|
|
257
|
+
ruleEvalTimeUs: number;
|
|
258
|
+
projectionTimeUs: number;
|
|
259
|
+
}
|
|
260
|
+
export interface ExplainStep {
|
|
261
|
+
step: number;
|
|
262
|
+
operation: string;
|
|
263
|
+
predicate: string;
|
|
264
|
+
args: string[];
|
|
265
|
+
resultCount: number;
|
|
266
|
+
durationUs: number;
|
|
267
|
+
details: string | null;
|
|
268
|
+
}
|
|
269
|
+
/** Full explain result -- single object per query (not per row) */
|
|
270
|
+
export interface DatalogExplainResult {
|
|
271
|
+
bindings: DatalogBinding[];
|
|
272
|
+
stats: QueryStats;
|
|
273
|
+
profile: QueryProfile;
|
|
274
|
+
explainSteps: ExplainStep[];
|
|
275
|
+
warnings: string[];
|
|
276
|
+
}
|
|
277
|
+
export interface CypherResult {
|
|
278
|
+
columns: string[];
|
|
279
|
+
rows: unknown[][];
|
|
280
|
+
rowCount: number;
|
|
281
|
+
}
|
|
239
282
|
/**
|
|
240
283
|
* Reference to a snapshot — either by version number or by tag key/value pair.
|
|
241
284
|
*
|
|
@@ -310,8 +353,56 @@ export interface FindSnapshotResponse extends RFDBResponse {
|
|
|
310
353
|
export interface ListSnapshotsResponse extends RFDBResponse {
|
|
311
354
|
snapshots: SnapshotInfo[];
|
|
312
355
|
}
|
|
356
|
+
/** Per-shard lifecycle diagnostics from GetStats. */
|
|
357
|
+
export interface ShardDiagnostics {
|
|
358
|
+
shardId: number;
|
|
359
|
+
nodeCount: number;
|
|
360
|
+
edgeCount: number;
|
|
361
|
+
writeBufferNodes: number;
|
|
362
|
+
writeBufferEdges: number;
|
|
363
|
+
compacted: boolean;
|
|
364
|
+
l0NodeSegmentCount: number;
|
|
365
|
+
l0EdgeSegmentCount: number;
|
|
366
|
+
l1NodeRecords: number;
|
|
367
|
+
l1EdgeRecords: number;
|
|
368
|
+
tombstoneNodeCount: number;
|
|
369
|
+
tombstoneEdgeCount: number;
|
|
370
|
+
hasL1ByType: boolean;
|
|
371
|
+
hasL1ByFile: boolean;
|
|
372
|
+
hasL1ByName: boolean;
|
|
373
|
+
l1ByTypeKeys: number;
|
|
374
|
+
l1ByFileKeys: number;
|
|
375
|
+
l1ByNameKeys: number;
|
|
376
|
+
hasEdgeTypeIndex: boolean;
|
|
377
|
+
}
|
|
378
|
+
/** Full server statistics from GetStats wire command. */
|
|
379
|
+
export interface ServerStats {
|
|
380
|
+
nodeCount: number;
|
|
381
|
+
edgeCount: number;
|
|
382
|
+
deltaSize: number;
|
|
383
|
+
memoryPercent: number;
|
|
384
|
+
queryCount: number;
|
|
385
|
+
slowQueryCount: number;
|
|
386
|
+
queryP50Ms: number;
|
|
387
|
+
queryP95Ms: number;
|
|
388
|
+
queryP99Ms: number;
|
|
389
|
+
flushCount: number;
|
|
390
|
+
lastFlushMs: number;
|
|
391
|
+
lastFlushNodes: number;
|
|
392
|
+
lastFlushEdges: number;
|
|
393
|
+
topSlowQueries: Array<{
|
|
394
|
+
operation: string;
|
|
395
|
+
durationMs: number;
|
|
396
|
+
timestampMs: number;
|
|
397
|
+
}>;
|
|
398
|
+
timedOutCount: number;
|
|
399
|
+
cancelledCount: number;
|
|
400
|
+
uptimeSecs: number;
|
|
401
|
+
shardDiagnostics: ShardDiagnostics[];
|
|
402
|
+
}
|
|
313
403
|
export interface IRFDBClient {
|
|
314
404
|
readonly socketPath: string;
|
|
405
|
+
readonly clientName: string;
|
|
315
406
|
readonly connected: boolean;
|
|
316
407
|
readonly supportsStreaming: boolean;
|
|
317
408
|
connect(): Promise<void>;
|
|
@@ -345,15 +436,23 @@ export interface IRFDBClient {
|
|
|
345
436
|
edgeCount(): Promise<number>;
|
|
346
437
|
countNodesByType(types?: NodeType[] | null): Promise<Record<string, number>>;
|
|
347
438
|
countEdgesByType(edgeTypes?: EdgeType[] | null): Promise<Record<string, number>>;
|
|
439
|
+
getStats(): Promise<ServerStats>;
|
|
348
440
|
flush(): Promise<RFDBResponse>;
|
|
349
441
|
compact(): Promise<RFDBResponse>;
|
|
350
442
|
datalogLoadRules(source: string): Promise<number>;
|
|
351
443
|
datalogClearRules(): Promise<RFDBResponse>;
|
|
352
444
|
datalogQuery(query: string): Promise<DatalogResult[]>;
|
|
445
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
446
|
+
datalogQuery(query: string, explain: true): Promise<DatalogExplainResult>;
|
|
353
447
|
checkGuarantee(ruleSource: string): Promise<DatalogResult[]>;
|
|
448
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
449
|
+
checkGuarantee(ruleSource: string, explain: true): Promise<DatalogExplainResult>;
|
|
354
450
|
executeDatalog(source: string): Promise<DatalogResult[]>;
|
|
451
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
452
|
+
executeDatalog(source: string, explain: true): Promise<DatalogExplainResult>;
|
|
453
|
+
cypherQuery(query: string): Promise<CypherResult>;
|
|
355
454
|
beginBatch(): void;
|
|
356
|
-
commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
455
|
+
commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[], changedFiles?: string[]): Promise<CommitDelta>;
|
|
357
456
|
abortBatch(): void;
|
|
358
457
|
isBatching(): boolean;
|
|
359
458
|
findDependentFiles(changedFiles: string[]): Promise<string[]>;
|
package/dist/rfdb.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rfdb.d.ts","sourceRoot":"","sources":["../src/rfdb.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rfdb.d.ts","sourceRoot":"","sources":["../src/rfdb.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/edges.ts
CHANGED
|
@@ -34,9 +34,13 @@ export const EDGE_TYPE = {
|
|
|
34
34
|
PASSES_ARGUMENT: 'PASSES_ARGUMENT',
|
|
35
35
|
RECEIVES_ARGUMENT: 'RECEIVES_ARGUMENT',
|
|
36
36
|
RETURNS: 'RETURNS',
|
|
37
|
+
CALL_RETURNS: 'CALL_RETURNS',
|
|
37
38
|
YIELDS: 'YIELDS',
|
|
38
39
|
DELEGATES_TO: 'DELEGATES_TO',
|
|
39
40
|
|
|
41
|
+
// Class members
|
|
42
|
+
HAS_MEMBER: 'HAS_MEMBER', // CLASS -> METHOD / PROPERTY / STATIC_BLOCK
|
|
43
|
+
|
|
40
44
|
// Inheritance
|
|
41
45
|
EXTENDS: 'EXTENDS',
|
|
42
46
|
IMPLEMENTS: 'IMPLEMENTS',
|
|
@@ -46,7 +50,6 @@ export const EDGE_TYPE = {
|
|
|
46
50
|
IMPORTS: 'IMPORTS',
|
|
47
51
|
EXPORTS: 'EXPORTS',
|
|
48
52
|
IMPORTS_FROM: 'IMPORTS_FROM',
|
|
49
|
-
EXPORTS_TO: 'EXPORTS_TO',
|
|
50
53
|
|
|
51
54
|
// Variables/Data flow
|
|
52
55
|
DEFINES: 'DEFINES',
|
|
@@ -59,11 +62,20 @@ export const EDGE_TYPE = {
|
|
|
59
62
|
WRITES_TO: 'WRITES_TO',
|
|
60
63
|
DERIVES_FROM: 'DERIVES_FROM',
|
|
61
64
|
FLOWS_INTO: 'FLOWS_INTO',
|
|
65
|
+
SPREADS_FROM: 'SPREADS_FROM', // SpreadElement → source being spread
|
|
66
|
+
ELEMENT_OF: 'ELEMENT_OF', // X is an element/value of collection Y (for-of, destructuring, array methods)
|
|
67
|
+
KEY_OF: 'KEY_OF', // X is a key of collection Y (for-in)
|
|
68
|
+
DESTRUCTURED_FROM: 'DESTRUCTURED_FROM', // VARIABLE → source it was destructured from, metadata.property = key
|
|
62
69
|
|
|
63
70
|
// Object/Array structure
|
|
64
71
|
HAS_PROPERTY: 'HAS_PROPERTY', // OBJECT_LITERAL -> property value
|
|
65
72
|
HAS_ELEMENT: 'HAS_ELEMENT', // ARRAY_LITERAL -> element
|
|
66
73
|
|
|
74
|
+
// Property assignment structure
|
|
75
|
+
PROPERTY_KEY: 'PROPERTY_KEY', // PROPERTY_ASSIGNMENT -> key literal
|
|
76
|
+
PROPERTY_VALUE: 'PROPERTY_VALUE', // PROPERTY_ASSIGNMENT -> value expression
|
|
77
|
+
ASSIGNS_TO: 'ASSIGNS_TO', // PROPERTY_ASSIGNMENT -> target PROPERTY/VARIABLE
|
|
78
|
+
|
|
67
79
|
// HTTP/Routing
|
|
68
80
|
ROUTES_TO: 'ROUTES_TO',
|
|
69
81
|
HANDLED_BY: 'HANDLED_BY',
|
|
@@ -115,6 +127,9 @@ export const EDGE_TYPE = {
|
|
|
115
127
|
// Abstract -> Concrete (tool provenance)
|
|
116
128
|
PROVISIONED_BY: 'PROVISIONED_BY',
|
|
117
129
|
|
|
130
|
+
// Redis
|
|
131
|
+
PERFORMS_REDIS: 'PERFORMS_REDIS',
|
|
132
|
+
|
|
118
133
|
// Unknown/fallback
|
|
119
134
|
UNKNOWN: 'UNKNOWN',
|
|
120
135
|
} as const;
|
|
@@ -146,9 +161,9 @@ export interface ImportsEdge extends EdgeRecord {
|
|
|
146
161
|
isDefault?: boolean;
|
|
147
162
|
}
|
|
148
163
|
|
|
164
|
+
/** EXPORT node → entity it exports (FUNCTION, VARIABLE, CLASS, etc.) or re-export target */
|
|
149
165
|
export interface ExportsEdge extends EdgeRecord {
|
|
150
166
|
type: 'EXPORTS';
|
|
151
|
-
exportedName?: string;
|
|
152
167
|
}
|
|
153
168
|
|
|
154
169
|
export interface DataFlowEdge extends EdgeRecord {
|
|
@@ -156,6 +171,30 @@ export interface DataFlowEdge extends EdgeRecord {
|
|
|
156
171
|
dataType?: string;
|
|
157
172
|
}
|
|
158
173
|
|
|
174
|
+
/**
|
|
175
|
+
* Edge representing an element/value relationship with a collection.
|
|
176
|
+
* Source: the element (VARIABLE, PARAMETER, CALL)
|
|
177
|
+
* Destination: the collection (VARIABLE, PARAMETER)
|
|
178
|
+
*
|
|
179
|
+
* Example: `for (const item of arr)` → item --ELEMENT_OF--> arr
|
|
180
|
+
*/
|
|
181
|
+
export interface ElementOfEdge extends EdgeRecord {
|
|
182
|
+
type: 'ELEMENT_OF';
|
|
183
|
+
metadata?: { via: 'for-of' | 'for-in' | 'destructuring' | 'method-callback' | 'method-return' | 'computed-access' | 'Object.values' | 'Object.entries' };
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Edge representing a key relationship with a collection.
|
|
188
|
+
* Source: the key (VARIABLE, PARAMETER, CALL)
|
|
189
|
+
* Destination: the collection (VARIABLE, PARAMETER)
|
|
190
|
+
*
|
|
191
|
+
* Example: `for (const key in obj)` → key --KEY_OF--> obj
|
|
192
|
+
*/
|
|
193
|
+
export interface KeyOfEdge extends EdgeRecord {
|
|
194
|
+
type: 'KEY_OF';
|
|
195
|
+
metadata?: { via: 'for-in' | 'Object.keys' | 'Object.entries' };
|
|
196
|
+
}
|
|
197
|
+
|
|
159
198
|
/**
|
|
160
199
|
* Edge representing data flowing INTO a container (array, collection)
|
|
161
200
|
* Source: the value being added
|
package/src/nodes.ts
CHANGED
|
@@ -22,6 +22,7 @@ export const NODE_TYPE = {
|
|
|
22
22
|
// Call graph
|
|
23
23
|
CALL: 'CALL',
|
|
24
24
|
PROPERTY_ACCESS: 'PROPERTY_ACCESS',
|
|
25
|
+
PROPERTY_ASSIGNMENT: 'PROPERTY_ASSIGNMENT',
|
|
25
26
|
|
|
26
27
|
// Project structure
|
|
27
28
|
PROJECT: 'PROJECT',
|
|
@@ -69,6 +70,15 @@ export const NAMESPACED_TYPE = {
|
|
|
69
70
|
DB_QUERY: 'db:query',
|
|
70
71
|
DB_CONNECTION: 'db:connection',
|
|
71
72
|
|
|
73
|
+
// Redis
|
|
74
|
+
REDIS_READ: 'redis:read',
|
|
75
|
+
REDIS_WRITE: 'redis:write',
|
|
76
|
+
REDIS_DELETE: 'redis:delete',
|
|
77
|
+
REDIS_PUBLISH: 'redis:publish',
|
|
78
|
+
REDIS_SUBSCRIBE: 'redis:subscribe',
|
|
79
|
+
REDIS_TRANSACTION: 'redis:transaction',
|
|
80
|
+
REDIS_CONNECTION: 'redis:connection',
|
|
81
|
+
|
|
72
82
|
// Filesystem
|
|
73
83
|
FS_READ: 'fs:read',
|
|
74
84
|
FS_WRITE: 'fs:write',
|
|
@@ -204,6 +214,14 @@ export interface PropertyAccessNodeRecord extends BaseNodeRecord {
|
|
|
204
214
|
computed?: boolean;
|
|
205
215
|
}
|
|
206
216
|
|
|
217
|
+
// Property assignment node (this.prop = value, obj.prop = value)
|
|
218
|
+
export interface PropertyAssignmentNodeRecord extends BaseNodeRecord {
|
|
219
|
+
type: 'PROPERTY_ASSIGNMENT';
|
|
220
|
+
objectName: string; // 'this' or the object variable name
|
|
221
|
+
className?: string; // enclosing class name when objectName === 'this'
|
|
222
|
+
computed?: boolean; // true for obj[x] = value patterns
|
|
223
|
+
}
|
|
224
|
+
|
|
207
225
|
// Service node (project-level)
|
|
208
226
|
export interface ServiceNodeRecord extends BaseNodeRecord {
|
|
209
227
|
type: 'SERVICE';
|
|
@@ -350,6 +368,16 @@ export interface NetTcpServerNodeRecord extends BaseNodeRecord {
|
|
|
350
368
|
backlog?: number;
|
|
351
369
|
}
|
|
352
370
|
|
|
371
|
+
// Redis operation node
|
|
372
|
+
export interface RedisOperationNodeRecord extends BaseNodeRecord {
|
|
373
|
+
type: 'redis:read' | 'redis:write' | 'redis:delete' | 'redis:publish' | 'redis:subscribe' | 'redis:transaction' | 'redis:connection';
|
|
374
|
+
method: string;
|
|
375
|
+
object?: string;
|
|
376
|
+
key?: string;
|
|
377
|
+
operation: string;
|
|
378
|
+
package: string;
|
|
379
|
+
}
|
|
380
|
+
|
|
353
381
|
// Union of all node types
|
|
354
382
|
export type NodeRecord =
|
|
355
383
|
| FunctionNodeRecord
|
|
@@ -361,6 +389,7 @@ export type NodeRecord =
|
|
|
361
389
|
| VariableNodeRecord
|
|
362
390
|
| CallNodeRecord
|
|
363
391
|
| PropertyAccessNodeRecord
|
|
392
|
+
| PropertyAssignmentNodeRecord
|
|
364
393
|
| ServiceNodeRecord
|
|
365
394
|
| ScopeNodeRecord
|
|
366
395
|
| BranchNodeRecord
|
|
@@ -378,6 +407,7 @@ export type NodeRecord =
|
|
|
378
407
|
| OsUnixServerNodeRecord
|
|
379
408
|
| NetTcpConnectionNodeRecord
|
|
380
409
|
| NetTcpServerNodeRecord
|
|
410
|
+
| RedisOperationNodeRecord
|
|
381
411
|
| BaseNodeRecord; // fallback for custom types
|
|
382
412
|
|
|
383
413
|
// === HELPER FUNCTIONS ===
|
|
@@ -404,5 +434,5 @@ export function isEndpointType(nodeType: string): boolean {
|
|
|
404
434
|
export function isSideEffectType(nodeType: string): boolean {
|
|
405
435
|
if (nodeType === NODE_TYPE.SIDE_EFFECT) return true;
|
|
406
436
|
const ns = getNamespace(nodeType);
|
|
407
|
-
return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os';
|
|
437
|
+
return ns === 'db' || ns === 'fs' || ns === 'net' || ns === 'os' || ns === 'redis';
|
|
408
438
|
}
|
package/src/plugins.ts
CHANGED
|
@@ -145,6 +145,31 @@ export interface PluginContext {
|
|
|
145
145
|
*/
|
|
146
146
|
resources?: ResourceRegistry;
|
|
147
147
|
|
|
148
|
+
/**
|
|
149
|
+
* Graph write factory with non-restricted method names (REG-541).
|
|
150
|
+
* Plugins should use factory.store/link/storeMany/linkMany/update
|
|
151
|
+
* instead of graph.addNode/addEdge to satisfy guarantee rules.
|
|
152
|
+
* Also exposes read methods (getNode, queryNodes, etc.) so plugins
|
|
153
|
+
* can read from the graph through the factory.
|
|
154
|
+
* Injected by PhaseRunner when GraphFactory is available.
|
|
155
|
+
*/
|
|
156
|
+
factory?: {
|
|
157
|
+
store(node: AnyBrandedNode): Promise<void>;
|
|
158
|
+
storeMany(nodes: AnyBrandedNode[]): Promise<void>;
|
|
159
|
+
link(edge: InputEdge): Promise<void>;
|
|
160
|
+
linkMany(edges: InputEdge[], skipValidation?: boolean): Promise<void>;
|
|
161
|
+
update(node: NodeRecord): Promise<void>;
|
|
162
|
+
getNode(id: string): Promise<NodeRecord | null>;
|
|
163
|
+
queryNodes(filter: NodeFilter): AsyncIterable<NodeRecord> | AsyncGenerator<NodeRecord>;
|
|
164
|
+
getOutgoingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
165
|
+
getIncomingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
166
|
+
nodeCount(): Promise<number>;
|
|
167
|
+
edgeCount(): Promise<number>;
|
|
168
|
+
countNodesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
169
|
+
countEdgesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
170
|
+
clear(): Promise<void>;
|
|
171
|
+
};
|
|
172
|
+
|
|
148
173
|
/**
|
|
149
174
|
* When true, commitBatch should defer index rebuilding (REG-487).
|
|
150
175
|
* Used during initial/full analysis for O(1) per-commit cost.
|
|
@@ -286,11 +311,10 @@ export interface GraphBackend {
|
|
|
286
311
|
addNode(node: AnyBrandedNode): Promise<void> | void;
|
|
287
312
|
addEdge(edge: InputEdge): Promise<void> | void;
|
|
288
313
|
addNodes(nodes: AnyBrandedNode[]): Promise<void> | void;
|
|
289
|
-
addEdges(edges: InputEdge[]): Promise<void> | void;
|
|
314
|
+
addEdges(edges: InputEdge[], skipValidation?: boolean): Promise<void> | void;
|
|
290
315
|
|
|
291
316
|
getNode(id: string): Promise<NodeRecord | null>;
|
|
292
317
|
queryNodes(filter: NodeFilter): AsyncIterable<NodeRecord> | AsyncGenerator<NodeRecord>;
|
|
293
|
-
getAllNodes(filter?: NodeFilter): Promise<NodeRecord[]>;
|
|
294
318
|
|
|
295
319
|
getOutgoingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
296
320
|
getIncomingEdges(nodeId: string, edgeTypes?: EdgeType[] | null): Promise<EdgeRecord[]>;
|
|
@@ -298,9 +322,6 @@ export interface GraphBackend {
|
|
|
298
322
|
nodeCount(): Promise<number>;
|
|
299
323
|
edgeCount(): Promise<number>;
|
|
300
324
|
|
|
301
|
-
// For GUI/export - use with caution on large graphs
|
|
302
|
-
getAllEdges?(): Promise<EdgeRecord[]>;
|
|
303
|
-
|
|
304
325
|
// Extended query methods
|
|
305
326
|
countNodesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
306
327
|
countEdgesByType(types?: string[] | null): Promise<Record<string, number>>;
|
|
@@ -323,7 +344,7 @@ export interface GraphBackend {
|
|
|
323
344
|
|
|
324
345
|
// Batch operations (RFD-16: CommitBatch protocol)
|
|
325
346
|
beginBatch?(): void;
|
|
326
|
-
commitBatch?(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
347
|
+
commitBatch?(tags?: string[], deferIndex?: boolean, protectedTypes?: string[], changedFiles?: string[]): Promise<CommitDelta>;
|
|
327
348
|
abortBatch?(): void;
|
|
328
349
|
|
|
329
350
|
// Deferred indexing (REG-487: bulk load optimization)
|
|
@@ -333,6 +354,9 @@ export interface GraphBackend {
|
|
|
333
354
|
// Synchronous batch operations (REG-483: direct batch insertion)
|
|
334
355
|
batchNode?(node: AnyBrandedNode): void;
|
|
335
356
|
batchEdge?(edge: InputEdge): void;
|
|
357
|
+
|
|
358
|
+
// Enrichment mutation (REG-541: re-brand and upsert existing node)
|
|
359
|
+
updateNode?(node: NodeRecord): Promise<void>;
|
|
336
360
|
}
|
|
337
361
|
|
|
338
362
|
export interface NodeFilter {
|
package/src/rfdb.ts
CHANGED
|
@@ -36,6 +36,7 @@ export type RFDBCommand =
|
|
|
36
36
|
| 'edgeCount'
|
|
37
37
|
| 'countNodesByType'
|
|
38
38
|
| 'countEdgesByType'
|
|
39
|
+
| 'getStats'
|
|
39
40
|
// Control
|
|
40
41
|
| 'flush'
|
|
41
42
|
| 'compact'
|
|
@@ -47,6 +48,8 @@ export type RFDBCommand =
|
|
|
47
48
|
| 'datalogQuery'
|
|
48
49
|
| 'checkGuarantee'
|
|
49
50
|
| 'executeDatalog'
|
|
51
|
+
// Cypher
|
|
52
|
+
| 'cypherQuery'
|
|
50
53
|
// Protocol v2 - Multi-Database Commands
|
|
51
54
|
| 'hello'
|
|
52
55
|
| 'createDatabase'
|
|
@@ -333,6 +336,8 @@ export interface AttrQuery {
|
|
|
333
336
|
name?: string;
|
|
334
337
|
file?: string;
|
|
335
338
|
exported?: boolean;
|
|
339
|
+
/** When true, name and file filters use substring (contains) matching instead of exact match */
|
|
340
|
+
substringMatch?: boolean;
|
|
336
341
|
/** @deprecated Node-level version filter is legacy. In v2, use snapshot/tag APIs for history. */
|
|
337
342
|
version?: string;
|
|
338
343
|
/** Extra fields are matched against node metadata JSON (e.g. object, method, async) */
|
|
@@ -359,6 +364,53 @@ export interface DatalogResult {
|
|
|
359
364
|
bindings: DatalogBinding;
|
|
360
365
|
}
|
|
361
366
|
|
|
367
|
+
export interface QueryStats {
|
|
368
|
+
nodesVisited: number;
|
|
369
|
+
edgesTraversed: number;
|
|
370
|
+
findByTypeCalls: number;
|
|
371
|
+
getNodeCalls: number;
|
|
372
|
+
outgoingEdgeCalls: number;
|
|
373
|
+
incomingEdgeCalls: number;
|
|
374
|
+
allEdgesCalls: number;
|
|
375
|
+
bfsCalls: number;
|
|
376
|
+
totalResults: number;
|
|
377
|
+
ruleEvaluations: number;
|
|
378
|
+
intermediateCounts: number[];
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
export interface QueryProfile {
|
|
382
|
+
totalDurationUs: number;
|
|
383
|
+
predicateTimes: Record<string, number>;
|
|
384
|
+
ruleEvalTimeUs: number;
|
|
385
|
+
projectionTimeUs: number;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
export interface ExplainStep {
|
|
389
|
+
step: number;
|
|
390
|
+
operation: string;
|
|
391
|
+
predicate: string;
|
|
392
|
+
args: string[];
|
|
393
|
+
resultCount: number;
|
|
394
|
+
durationUs: number;
|
|
395
|
+
details: string | null;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/** Full explain result -- single object per query (not per row) */
|
|
399
|
+
export interface DatalogExplainResult {
|
|
400
|
+
bindings: DatalogBinding[];
|
|
401
|
+
stats: QueryStats;
|
|
402
|
+
profile: QueryProfile;
|
|
403
|
+
explainSteps: ExplainStep[];
|
|
404
|
+
warnings: string[];
|
|
405
|
+
}
|
|
406
|
+
|
|
407
|
+
// === CYPHER TYPES ===
|
|
408
|
+
export interface CypherResult {
|
|
409
|
+
columns: string[];
|
|
410
|
+
rows: unknown[][];
|
|
411
|
+
rowCount: number;
|
|
412
|
+
}
|
|
413
|
+
|
|
362
414
|
// === SNAPSHOT TYPES ===
|
|
363
415
|
|
|
364
416
|
/**
|
|
@@ -442,9 +494,57 @@ export interface ListSnapshotsResponse extends RFDBResponse {
|
|
|
442
494
|
snapshots: SnapshotInfo[];
|
|
443
495
|
}
|
|
444
496
|
|
|
497
|
+
// === SERVER STATS ===
|
|
498
|
+
|
|
499
|
+
/** Per-shard lifecycle diagnostics from GetStats. */
|
|
500
|
+
export interface ShardDiagnostics {
|
|
501
|
+
shardId: number;
|
|
502
|
+
nodeCount: number;
|
|
503
|
+
edgeCount: number;
|
|
504
|
+
writeBufferNodes: number;
|
|
505
|
+
writeBufferEdges: number;
|
|
506
|
+
compacted: boolean;
|
|
507
|
+
l0NodeSegmentCount: number;
|
|
508
|
+
l0EdgeSegmentCount: number;
|
|
509
|
+
l1NodeRecords: number;
|
|
510
|
+
l1EdgeRecords: number;
|
|
511
|
+
tombstoneNodeCount: number;
|
|
512
|
+
tombstoneEdgeCount: number;
|
|
513
|
+
hasL1ByType: boolean;
|
|
514
|
+
hasL1ByFile: boolean;
|
|
515
|
+
hasL1ByName: boolean;
|
|
516
|
+
l1ByTypeKeys: number;
|
|
517
|
+
l1ByFileKeys: number;
|
|
518
|
+
l1ByNameKeys: number;
|
|
519
|
+
hasEdgeTypeIndex: boolean;
|
|
520
|
+
}
|
|
521
|
+
|
|
522
|
+
/** Full server statistics from GetStats wire command. */
|
|
523
|
+
export interface ServerStats {
|
|
524
|
+
nodeCount: number;
|
|
525
|
+
edgeCount: number;
|
|
526
|
+
deltaSize: number;
|
|
527
|
+
memoryPercent: number;
|
|
528
|
+
queryCount: number;
|
|
529
|
+
slowQueryCount: number;
|
|
530
|
+
queryP50Ms: number;
|
|
531
|
+
queryP95Ms: number;
|
|
532
|
+
queryP99Ms: number;
|
|
533
|
+
flushCount: number;
|
|
534
|
+
lastFlushMs: number;
|
|
535
|
+
lastFlushNodes: number;
|
|
536
|
+
lastFlushEdges: number;
|
|
537
|
+
topSlowQueries: Array<{ operation: string; durationMs: number; timestampMs: number }>;
|
|
538
|
+
timedOutCount: number;
|
|
539
|
+
cancelledCount: number;
|
|
540
|
+
uptimeSecs: number;
|
|
541
|
+
shardDiagnostics: ShardDiagnostics[];
|
|
542
|
+
}
|
|
543
|
+
|
|
445
544
|
// === CLIENT INTERFACE ===
|
|
446
545
|
export interface IRFDBClient {
|
|
447
546
|
readonly socketPath: string;
|
|
547
|
+
readonly clientName: string;
|
|
448
548
|
readonly connected: boolean;
|
|
449
549
|
readonly supportsStreaming: boolean;
|
|
450
550
|
|
|
@@ -488,6 +588,7 @@ export interface IRFDBClient {
|
|
|
488
588
|
edgeCount(): Promise<number>;
|
|
489
589
|
countNodesByType(types?: NodeType[] | null): Promise<Record<string, number>>;
|
|
490
590
|
countEdgesByType(edgeTypes?: EdgeType[] | null): Promise<Record<string, number>>;
|
|
591
|
+
getStats(): Promise<ServerStats>;
|
|
491
592
|
|
|
492
593
|
// Control
|
|
493
594
|
flush(): Promise<RFDBResponse>;
|
|
@@ -497,12 +598,21 @@ export interface IRFDBClient {
|
|
|
497
598
|
datalogLoadRules(source: string): Promise<number>;
|
|
498
599
|
datalogClearRules(): Promise<RFDBResponse>;
|
|
499
600
|
datalogQuery(query: string): Promise<DatalogResult[]>;
|
|
601
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
602
|
+
datalogQuery(query: string, explain: true): Promise<DatalogExplainResult>;
|
|
500
603
|
checkGuarantee(ruleSource: string): Promise<DatalogResult[]>;
|
|
604
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
605
|
+
checkGuarantee(ruleSource: string, explain: true): Promise<DatalogExplainResult>;
|
|
501
606
|
executeDatalog(source: string): Promise<DatalogResult[]>;
|
|
607
|
+
/** Pass literal `true` for explain -- a boolean variable won't narrow the return type. */
|
|
608
|
+
executeDatalog(source: string, explain: true): Promise<DatalogExplainResult>;
|
|
609
|
+
|
|
610
|
+
// Cypher
|
|
611
|
+
cypherQuery(query: string): Promise<CypherResult>;
|
|
502
612
|
|
|
503
613
|
// Batch operations
|
|
504
614
|
beginBatch(): void;
|
|
505
|
-
commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[]): Promise<CommitDelta>;
|
|
615
|
+
commitBatch(tags?: string[], deferIndex?: boolean, protectedTypes?: string[], changedFiles?: string[]): Promise<CommitDelta>;
|
|
506
616
|
abortBatch(): void;
|
|
507
617
|
isBatching(): boolean;
|
|
508
618
|
findDependentFiles(changedFiles: string[]): Promise<string[]>;
|