sdl-mcp 0.9.2 → 0.9.3
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/LICENSE +90 -90
- package/README.md +588 -588
- package/config/benchmark.config.example.json +81 -81
- package/config/benchmark.config.json +86 -86
- package/dist/db/ladybug-clusters.js +50 -50
- package/dist/db/ladybug-edges.js +140 -140
- package/dist/db/ladybug-feedback.js +66 -66
- package/dist/db/ladybug-memory.js +56 -56
- package/dist/db/ladybug-metrics.js +61 -61
- package/dist/db/ladybug-processes.js +55 -55
- package/dist/db/ladybug-repos.js +94 -94
- package/dist/db/ladybug-schema.js +236 -236
- package/dist/db/ladybug-symbols.js +280 -280
- package/dist/indexer/adapter/c.js +8 -8
- package/dist/indexer/adapter/kotlin.js +24 -24
- package/dist/indexer/adapter/php.js +41 -41
- package/dist/indexer/adapter/python.js +34 -34
- package/dist/indexer/adapter/rust.js +18 -18
- package/dist/indexer/treesitter/extractCalls.js +69 -69
- package/dist/indexer/treesitter/extractImports.js +6 -6
- package/dist/server.js +2 -2
- package/package.json +153 -153
|
@@ -20,204 +20,204 @@
|
|
|
20
20
|
import { exec } from "./ladybug-core.js";
|
|
21
21
|
import { LADYBUG_SCHEMA_VERSION } from "./migrations/index.js";
|
|
22
22
|
const NODE_TABLES = [
|
|
23
|
-
`CREATE NODE TABLE IF NOT EXISTS Repo (
|
|
24
|
-
repoId STRING PRIMARY KEY,
|
|
25
|
-
rootPath STRING,
|
|
26
|
-
configJson STRING,
|
|
27
|
-
createdAt STRING
|
|
28
|
-
)`,
|
|
29
|
-
`CREATE NODE TABLE IF NOT EXISTS File (
|
|
30
|
-
fileId STRING PRIMARY KEY,
|
|
31
|
-
relPath STRING,
|
|
32
|
-
contentHash STRING,
|
|
33
|
-
language STRING,
|
|
34
|
-
byteSize INT64,
|
|
35
|
-
lastIndexedAt STRING,
|
|
36
|
-
directory STRING
|
|
37
|
-
)`,
|
|
38
|
-
`CREATE NODE TABLE IF NOT EXISTS Symbol (
|
|
39
|
-
symbolId STRING PRIMARY KEY,
|
|
40
|
-
kind STRING,
|
|
41
|
-
name STRING,
|
|
42
|
-
exported BOOLEAN,
|
|
43
|
-
visibility STRING,
|
|
44
|
-
language STRING,
|
|
45
|
-
rangeStartLine INT64,
|
|
46
|
-
rangeStartCol INT64,
|
|
47
|
-
rangeEndLine INT64,
|
|
48
|
-
rangeEndCol INT64,
|
|
49
|
-
astFingerprint STRING,
|
|
50
|
-
signatureJson STRING,
|
|
51
|
-
summary STRING,
|
|
52
|
-
invariantsJson STRING,
|
|
53
|
-
sideEffectsJson STRING,
|
|
54
|
-
roleTagsJson STRING,
|
|
55
|
-
searchText STRING,
|
|
56
|
-
updatedAt STRING
|
|
57
|
-
)`,
|
|
58
|
-
`CREATE NODE TABLE IF NOT EXISTS Version (
|
|
59
|
-
versionId STRING PRIMARY KEY,
|
|
60
|
-
createdAt STRING,
|
|
61
|
-
reason STRING,
|
|
62
|
-
prevVersionHash STRING,
|
|
63
|
-
versionHash STRING
|
|
64
|
-
)`,
|
|
65
|
-
`CREATE NODE TABLE IF NOT EXISTS SymbolVersion (
|
|
66
|
-
id STRING PRIMARY KEY,
|
|
67
|
-
versionId STRING,
|
|
68
|
-
symbolId STRING,
|
|
69
|
-
astFingerprint STRING,
|
|
70
|
-
signatureJson STRING,
|
|
71
|
-
summary STRING,
|
|
72
|
-
invariantsJson STRING,
|
|
73
|
-
sideEffectsJson STRING
|
|
74
|
-
)`,
|
|
75
|
-
`CREATE NODE TABLE IF NOT EXISTS Metrics (
|
|
76
|
-
symbolId STRING PRIMARY KEY,
|
|
77
|
-
fanIn INT64 DEFAULT 0,
|
|
78
|
-
fanOut INT64 DEFAULT 0,
|
|
79
|
-
churn30d INT64 DEFAULT 0,
|
|
80
|
-
testRefsJson STRING,
|
|
81
|
-
canonicalTestJson STRING,
|
|
82
|
-
updatedAt STRING
|
|
83
|
-
)`,
|
|
84
|
-
`CREATE NODE TABLE IF NOT EXISTS Cluster (
|
|
85
|
-
clusterId STRING PRIMARY KEY,
|
|
86
|
-
repoId STRING,
|
|
87
|
-
label STRING,
|
|
88
|
-
symbolCount INT32 DEFAULT 0,
|
|
89
|
-
cohesionScore DOUBLE DEFAULT 0.0,
|
|
90
|
-
versionId STRING,
|
|
91
|
-
createdAt STRING
|
|
92
|
-
)`,
|
|
93
|
-
`CREATE NODE TABLE IF NOT EXISTS Process (
|
|
94
|
-
processId STRING PRIMARY KEY,
|
|
95
|
-
repoId STRING,
|
|
96
|
-
entrySymbolId STRING,
|
|
97
|
-
label STRING,
|
|
98
|
-
depth INT32 DEFAULT 0,
|
|
99
|
-
versionId STRING,
|
|
100
|
-
createdAt STRING
|
|
101
|
-
)`,
|
|
102
|
-
`CREATE NODE TABLE IF NOT EXISTS SliceHandle (
|
|
103
|
-
handle STRING PRIMARY KEY,
|
|
104
|
-
repoId STRING,
|
|
105
|
-
createdAt STRING,
|
|
106
|
-
expiresAt STRING,
|
|
107
|
-
minVersion STRING,
|
|
108
|
-
maxVersion STRING,
|
|
109
|
-
sliceHash STRING,
|
|
110
|
-
spilloverRef STRING
|
|
111
|
-
)`,
|
|
112
|
-
`CREATE NODE TABLE IF NOT EXISTS CardHash (
|
|
113
|
-
cardHash STRING PRIMARY KEY,
|
|
114
|
-
cardBlob STRING,
|
|
115
|
-
createdAt STRING
|
|
116
|
-
)`,
|
|
117
|
-
`CREATE NODE TABLE IF NOT EXISTS Audit (
|
|
118
|
-
eventId STRING PRIMARY KEY,
|
|
119
|
-
timestamp STRING,
|
|
120
|
-
tool STRING,
|
|
121
|
-
decision STRING,
|
|
122
|
-
repoId STRING,
|
|
123
|
-
symbolId STRING,
|
|
124
|
-
detailsJson STRING
|
|
125
|
-
)`,
|
|
126
|
-
`CREATE NODE TABLE IF NOT EXISTS AgentFeedback (
|
|
127
|
-
feedbackId STRING PRIMARY KEY,
|
|
128
|
-
repoId STRING,
|
|
129
|
-
versionId STRING,
|
|
130
|
-
sliceHandle STRING,
|
|
131
|
-
usefulSymbolsJson STRING DEFAULT '[]',
|
|
132
|
-
missingSymbolsJson STRING DEFAULT '[]',
|
|
133
|
-
taskTagsJson STRING,
|
|
134
|
-
taskType STRING,
|
|
135
|
-
taskText STRING,
|
|
136
|
-
createdAt STRING
|
|
137
|
-
)`,
|
|
138
|
-
`CREATE NODE TABLE IF NOT EXISTS SymbolEmbedding (
|
|
139
|
-
symbolId STRING PRIMARY KEY,
|
|
140
|
-
model STRING,
|
|
141
|
-
embeddingVector STRING,
|
|
142
|
-
version STRING,
|
|
143
|
-
cardHash STRING,
|
|
144
|
-
createdAt STRING,
|
|
145
|
-
updatedAt STRING
|
|
146
|
-
)`,
|
|
147
|
-
`CREATE NODE TABLE IF NOT EXISTS SummaryCache (
|
|
148
|
-
symbolId STRING PRIMARY KEY,
|
|
149
|
-
summary STRING,
|
|
150
|
-
provider STRING,
|
|
151
|
-
model STRING,
|
|
152
|
-
cardHash STRING,
|
|
153
|
-
costUsd DOUBLE DEFAULT 0.0,
|
|
154
|
-
createdAt STRING,
|
|
155
|
-
updatedAt STRING
|
|
156
|
-
)`,
|
|
157
|
-
`CREATE NODE TABLE IF NOT EXISTS SyncArtifact (
|
|
158
|
-
artifactId STRING PRIMARY KEY,
|
|
159
|
-
repoId STRING,
|
|
160
|
-
versionId STRING,
|
|
161
|
-
commitSha STRING,
|
|
162
|
-
branch STRING,
|
|
163
|
-
artifactHash STRING,
|
|
164
|
-
compressedData STRING,
|
|
165
|
-
createdAt STRING,
|
|
166
|
-
sizeBytes INT64
|
|
167
|
-
)`,
|
|
168
|
-
`CREATE NODE TABLE IF NOT EXISTS SymbolReference (
|
|
169
|
-
refId STRING PRIMARY KEY,
|
|
170
|
-
repoId STRING,
|
|
171
|
-
symbolName STRING,
|
|
172
|
-
fileId STRING,
|
|
173
|
-
lineNumber INT64,
|
|
174
|
-
createdAt STRING
|
|
175
|
-
)`,
|
|
176
|
-
`CREATE NODE TABLE IF NOT EXISTS ToolPolicyHash (
|
|
177
|
-
policyHash STRING PRIMARY KEY,
|
|
178
|
-
policyBlob STRING,
|
|
179
|
-
createdAt STRING
|
|
180
|
-
)`,
|
|
181
|
-
`CREATE NODE TABLE IF NOT EXISTS TsconfigHash (
|
|
182
|
-
tsconfigHash STRING PRIMARY KEY,
|
|
183
|
-
tsconfigBlob STRING,
|
|
184
|
-
createdAt STRING
|
|
185
|
-
)`,
|
|
186
|
-
`CREATE NODE TABLE IF NOT EXISTS Memory (
|
|
187
|
-
memoryId STRING PRIMARY KEY,
|
|
188
|
-
repoId STRING,
|
|
189
|
-
type STRING,
|
|
190
|
-
title STRING,
|
|
191
|
-
content STRING,
|
|
192
|
-
contentHash STRING,
|
|
193
|
-
searchText STRING,
|
|
194
|
-
tagsJson STRING DEFAULT '[]',
|
|
195
|
-
confidence DOUBLE DEFAULT 0.8,
|
|
196
|
-
createdAt STRING,
|
|
197
|
-
updatedAt STRING,
|
|
198
|
-
createdByVersion STRING,
|
|
199
|
-
stale BOOLEAN DEFAULT false,
|
|
200
|
-
staleVersion STRING,
|
|
201
|
-
sourceFile STRING,
|
|
202
|
-
deleted BOOLEAN DEFAULT false
|
|
203
|
-
)`,
|
|
204
|
-
`CREATE NODE TABLE IF NOT EXISTS UsageSnapshot (
|
|
205
|
-
snapshotId STRING PRIMARY KEY,
|
|
206
|
-
sessionId STRING,
|
|
207
|
-
repoId STRING,
|
|
208
|
-
timestamp STRING,
|
|
209
|
-
totalSdlTokens INT64,
|
|
210
|
-
totalRawEquivalent INT64,
|
|
211
|
-
totalSavedTokens INT64,
|
|
212
|
-
savingsPercent DOUBLE,
|
|
213
|
-
callCount INT64,
|
|
214
|
-
toolBreakdownJson STRING
|
|
215
|
-
)`,
|
|
216
|
-
`CREATE NODE TABLE IF NOT EXISTS SchemaVersion (
|
|
217
|
-
id STRING PRIMARY KEY,
|
|
218
|
-
schemaVersion INT64,
|
|
219
|
-
createdAt STRING,
|
|
220
|
-
updatedAt STRING
|
|
23
|
+
`CREATE NODE TABLE IF NOT EXISTS Repo (
|
|
24
|
+
repoId STRING PRIMARY KEY,
|
|
25
|
+
rootPath STRING,
|
|
26
|
+
configJson STRING,
|
|
27
|
+
createdAt STRING
|
|
28
|
+
)`,
|
|
29
|
+
`CREATE NODE TABLE IF NOT EXISTS File (
|
|
30
|
+
fileId STRING PRIMARY KEY,
|
|
31
|
+
relPath STRING,
|
|
32
|
+
contentHash STRING,
|
|
33
|
+
language STRING,
|
|
34
|
+
byteSize INT64,
|
|
35
|
+
lastIndexedAt STRING,
|
|
36
|
+
directory STRING
|
|
37
|
+
)`,
|
|
38
|
+
`CREATE NODE TABLE IF NOT EXISTS Symbol (
|
|
39
|
+
symbolId STRING PRIMARY KEY,
|
|
40
|
+
kind STRING,
|
|
41
|
+
name STRING,
|
|
42
|
+
exported BOOLEAN,
|
|
43
|
+
visibility STRING,
|
|
44
|
+
language STRING,
|
|
45
|
+
rangeStartLine INT64,
|
|
46
|
+
rangeStartCol INT64,
|
|
47
|
+
rangeEndLine INT64,
|
|
48
|
+
rangeEndCol INT64,
|
|
49
|
+
astFingerprint STRING,
|
|
50
|
+
signatureJson STRING,
|
|
51
|
+
summary STRING,
|
|
52
|
+
invariantsJson STRING,
|
|
53
|
+
sideEffectsJson STRING,
|
|
54
|
+
roleTagsJson STRING,
|
|
55
|
+
searchText STRING,
|
|
56
|
+
updatedAt STRING
|
|
57
|
+
)`,
|
|
58
|
+
`CREATE NODE TABLE IF NOT EXISTS Version (
|
|
59
|
+
versionId STRING PRIMARY KEY,
|
|
60
|
+
createdAt STRING,
|
|
61
|
+
reason STRING,
|
|
62
|
+
prevVersionHash STRING,
|
|
63
|
+
versionHash STRING
|
|
64
|
+
)`,
|
|
65
|
+
`CREATE NODE TABLE IF NOT EXISTS SymbolVersion (
|
|
66
|
+
id STRING PRIMARY KEY,
|
|
67
|
+
versionId STRING,
|
|
68
|
+
symbolId STRING,
|
|
69
|
+
astFingerprint STRING,
|
|
70
|
+
signatureJson STRING,
|
|
71
|
+
summary STRING,
|
|
72
|
+
invariantsJson STRING,
|
|
73
|
+
sideEffectsJson STRING
|
|
74
|
+
)`,
|
|
75
|
+
`CREATE NODE TABLE IF NOT EXISTS Metrics (
|
|
76
|
+
symbolId STRING PRIMARY KEY,
|
|
77
|
+
fanIn INT64 DEFAULT 0,
|
|
78
|
+
fanOut INT64 DEFAULT 0,
|
|
79
|
+
churn30d INT64 DEFAULT 0,
|
|
80
|
+
testRefsJson STRING,
|
|
81
|
+
canonicalTestJson STRING,
|
|
82
|
+
updatedAt STRING
|
|
83
|
+
)`,
|
|
84
|
+
`CREATE NODE TABLE IF NOT EXISTS Cluster (
|
|
85
|
+
clusterId STRING PRIMARY KEY,
|
|
86
|
+
repoId STRING,
|
|
87
|
+
label STRING,
|
|
88
|
+
symbolCount INT32 DEFAULT 0,
|
|
89
|
+
cohesionScore DOUBLE DEFAULT 0.0,
|
|
90
|
+
versionId STRING,
|
|
91
|
+
createdAt STRING
|
|
92
|
+
)`,
|
|
93
|
+
`CREATE NODE TABLE IF NOT EXISTS Process (
|
|
94
|
+
processId STRING PRIMARY KEY,
|
|
95
|
+
repoId STRING,
|
|
96
|
+
entrySymbolId STRING,
|
|
97
|
+
label STRING,
|
|
98
|
+
depth INT32 DEFAULT 0,
|
|
99
|
+
versionId STRING,
|
|
100
|
+
createdAt STRING
|
|
101
|
+
)`,
|
|
102
|
+
`CREATE NODE TABLE IF NOT EXISTS SliceHandle (
|
|
103
|
+
handle STRING PRIMARY KEY,
|
|
104
|
+
repoId STRING,
|
|
105
|
+
createdAt STRING,
|
|
106
|
+
expiresAt STRING,
|
|
107
|
+
minVersion STRING,
|
|
108
|
+
maxVersion STRING,
|
|
109
|
+
sliceHash STRING,
|
|
110
|
+
spilloverRef STRING
|
|
111
|
+
)`,
|
|
112
|
+
`CREATE NODE TABLE IF NOT EXISTS CardHash (
|
|
113
|
+
cardHash STRING PRIMARY KEY,
|
|
114
|
+
cardBlob STRING,
|
|
115
|
+
createdAt STRING
|
|
116
|
+
)`,
|
|
117
|
+
`CREATE NODE TABLE IF NOT EXISTS Audit (
|
|
118
|
+
eventId STRING PRIMARY KEY,
|
|
119
|
+
timestamp STRING,
|
|
120
|
+
tool STRING,
|
|
121
|
+
decision STRING,
|
|
122
|
+
repoId STRING,
|
|
123
|
+
symbolId STRING,
|
|
124
|
+
detailsJson STRING
|
|
125
|
+
)`,
|
|
126
|
+
`CREATE NODE TABLE IF NOT EXISTS AgentFeedback (
|
|
127
|
+
feedbackId STRING PRIMARY KEY,
|
|
128
|
+
repoId STRING,
|
|
129
|
+
versionId STRING,
|
|
130
|
+
sliceHandle STRING,
|
|
131
|
+
usefulSymbolsJson STRING DEFAULT '[]',
|
|
132
|
+
missingSymbolsJson STRING DEFAULT '[]',
|
|
133
|
+
taskTagsJson STRING,
|
|
134
|
+
taskType STRING,
|
|
135
|
+
taskText STRING,
|
|
136
|
+
createdAt STRING
|
|
137
|
+
)`,
|
|
138
|
+
`CREATE NODE TABLE IF NOT EXISTS SymbolEmbedding (
|
|
139
|
+
symbolId STRING PRIMARY KEY,
|
|
140
|
+
model STRING,
|
|
141
|
+
embeddingVector STRING,
|
|
142
|
+
version STRING,
|
|
143
|
+
cardHash STRING,
|
|
144
|
+
createdAt STRING,
|
|
145
|
+
updatedAt STRING
|
|
146
|
+
)`,
|
|
147
|
+
`CREATE NODE TABLE IF NOT EXISTS SummaryCache (
|
|
148
|
+
symbolId STRING PRIMARY KEY,
|
|
149
|
+
summary STRING,
|
|
150
|
+
provider STRING,
|
|
151
|
+
model STRING,
|
|
152
|
+
cardHash STRING,
|
|
153
|
+
costUsd DOUBLE DEFAULT 0.0,
|
|
154
|
+
createdAt STRING,
|
|
155
|
+
updatedAt STRING
|
|
156
|
+
)`,
|
|
157
|
+
`CREATE NODE TABLE IF NOT EXISTS SyncArtifact (
|
|
158
|
+
artifactId STRING PRIMARY KEY,
|
|
159
|
+
repoId STRING,
|
|
160
|
+
versionId STRING,
|
|
161
|
+
commitSha STRING,
|
|
162
|
+
branch STRING,
|
|
163
|
+
artifactHash STRING,
|
|
164
|
+
compressedData STRING,
|
|
165
|
+
createdAt STRING,
|
|
166
|
+
sizeBytes INT64
|
|
167
|
+
)`,
|
|
168
|
+
`CREATE NODE TABLE IF NOT EXISTS SymbolReference (
|
|
169
|
+
refId STRING PRIMARY KEY,
|
|
170
|
+
repoId STRING,
|
|
171
|
+
symbolName STRING,
|
|
172
|
+
fileId STRING,
|
|
173
|
+
lineNumber INT64,
|
|
174
|
+
createdAt STRING
|
|
175
|
+
)`,
|
|
176
|
+
`CREATE NODE TABLE IF NOT EXISTS ToolPolicyHash (
|
|
177
|
+
policyHash STRING PRIMARY KEY,
|
|
178
|
+
policyBlob STRING,
|
|
179
|
+
createdAt STRING
|
|
180
|
+
)`,
|
|
181
|
+
`CREATE NODE TABLE IF NOT EXISTS TsconfigHash (
|
|
182
|
+
tsconfigHash STRING PRIMARY KEY,
|
|
183
|
+
tsconfigBlob STRING,
|
|
184
|
+
createdAt STRING
|
|
185
|
+
)`,
|
|
186
|
+
`CREATE NODE TABLE IF NOT EXISTS Memory (
|
|
187
|
+
memoryId STRING PRIMARY KEY,
|
|
188
|
+
repoId STRING,
|
|
189
|
+
type STRING,
|
|
190
|
+
title STRING,
|
|
191
|
+
content STRING,
|
|
192
|
+
contentHash STRING,
|
|
193
|
+
searchText STRING,
|
|
194
|
+
tagsJson STRING DEFAULT '[]',
|
|
195
|
+
confidence DOUBLE DEFAULT 0.8,
|
|
196
|
+
createdAt STRING,
|
|
197
|
+
updatedAt STRING,
|
|
198
|
+
createdByVersion STRING,
|
|
199
|
+
stale BOOLEAN DEFAULT false,
|
|
200
|
+
staleVersion STRING,
|
|
201
|
+
sourceFile STRING,
|
|
202
|
+
deleted BOOLEAN DEFAULT false
|
|
203
|
+
)`,
|
|
204
|
+
`CREATE NODE TABLE IF NOT EXISTS UsageSnapshot (
|
|
205
|
+
snapshotId STRING PRIMARY KEY,
|
|
206
|
+
sessionId STRING,
|
|
207
|
+
repoId STRING,
|
|
208
|
+
timestamp STRING,
|
|
209
|
+
totalSdlTokens INT64,
|
|
210
|
+
totalRawEquivalent INT64,
|
|
211
|
+
totalSavedTokens INT64,
|
|
212
|
+
savingsPercent DOUBLE,
|
|
213
|
+
callCount INT64,
|
|
214
|
+
toolBreakdownJson STRING
|
|
215
|
+
)`,
|
|
216
|
+
`CREATE NODE TABLE IF NOT EXISTS SchemaVersion (
|
|
217
|
+
id STRING PRIMARY KEY,
|
|
218
|
+
schemaVersion INT64,
|
|
219
|
+
createdAt STRING,
|
|
220
|
+
updatedAt STRING
|
|
221
221
|
)`,
|
|
222
222
|
];
|
|
223
223
|
export const CALL_EDGE_METADATA_FIELDS = [
|
|
@@ -227,52 +227,52 @@ export const CALL_EDGE_METADATA_FIELDS = [
|
|
|
227
227
|
"resolutionPhase",
|
|
228
228
|
];
|
|
229
229
|
const REL_TABLES = [
|
|
230
|
-
`CREATE REL TABLE IF NOT EXISTS FILE_IN_REPO (
|
|
231
|
-
FROM File TO Repo
|
|
230
|
+
`CREATE REL TABLE IF NOT EXISTS FILE_IN_REPO (
|
|
231
|
+
FROM File TO Repo
|
|
232
232
|
)`,
|
|
233
|
-
`CREATE REL TABLE IF NOT EXISTS SYMBOL_IN_FILE (
|
|
234
|
-
FROM Symbol TO File
|
|
233
|
+
`CREATE REL TABLE IF NOT EXISTS SYMBOL_IN_FILE (
|
|
234
|
+
FROM Symbol TO File
|
|
235
235
|
)`,
|
|
236
|
-
`CREATE REL TABLE IF NOT EXISTS SYMBOL_IN_REPO (
|
|
237
|
-
FROM Symbol TO Repo
|
|
236
|
+
`CREATE REL TABLE IF NOT EXISTS SYMBOL_IN_REPO (
|
|
237
|
+
FROM Symbol TO Repo
|
|
238
238
|
)`,
|
|
239
|
-
`CREATE REL TABLE IF NOT EXISTS DEPENDS_ON (
|
|
240
|
-
FROM Symbol TO Symbol,
|
|
241
|
-
edgeType STRING DEFAULT 'call',
|
|
242
|
-
weight DOUBLE DEFAULT 1.0,
|
|
243
|
-
confidence DOUBLE DEFAULT 1.0,
|
|
244
|
-
resolution STRING DEFAULT 'exact',
|
|
245
|
-
resolverId STRING DEFAULT 'pass1-generic',
|
|
246
|
-
resolutionPhase STRING DEFAULT 'pass1',
|
|
247
|
-
provenance STRING,
|
|
248
|
-
createdAt STRING
|
|
239
|
+
`CREATE REL TABLE IF NOT EXISTS DEPENDS_ON (
|
|
240
|
+
FROM Symbol TO Symbol,
|
|
241
|
+
edgeType STRING DEFAULT 'call',
|
|
242
|
+
weight DOUBLE DEFAULT 1.0,
|
|
243
|
+
confidence DOUBLE DEFAULT 1.0,
|
|
244
|
+
resolution STRING DEFAULT 'exact',
|
|
245
|
+
resolverId STRING DEFAULT 'pass1-generic',
|
|
246
|
+
resolutionPhase STRING DEFAULT 'pass1',
|
|
247
|
+
provenance STRING,
|
|
248
|
+
createdAt STRING
|
|
249
249
|
)`,
|
|
250
|
-
`CREATE REL TABLE IF NOT EXISTS VERSION_OF_REPO (
|
|
251
|
-
FROM Version TO Repo
|
|
250
|
+
`CREATE REL TABLE IF NOT EXISTS VERSION_OF_REPO (
|
|
251
|
+
FROM Version TO Repo
|
|
252
252
|
)`,
|
|
253
|
-
`CREATE REL TABLE IF NOT EXISTS BELONGS_TO_CLUSTER (
|
|
254
|
-
FROM Symbol TO Cluster,
|
|
255
|
-
membershipScore DOUBLE DEFAULT 0.0
|
|
253
|
+
`CREATE REL TABLE IF NOT EXISTS BELONGS_TO_CLUSTER (
|
|
254
|
+
FROM Symbol TO Cluster,
|
|
255
|
+
membershipScore DOUBLE DEFAULT 0.0
|
|
256
256
|
)`,
|
|
257
|
-
`CREATE REL TABLE IF NOT EXISTS PARTICIPATES_IN (
|
|
258
|
-
FROM Symbol TO Process,
|
|
259
|
-
stepOrder INT32 DEFAULT 0,
|
|
260
|
-
role STRING
|
|
257
|
+
`CREATE REL TABLE IF NOT EXISTS PARTICIPATES_IN (
|
|
258
|
+
FROM Symbol TO Process,
|
|
259
|
+
stepOrder INT32 DEFAULT 0,
|
|
260
|
+
role STRING
|
|
261
261
|
)`,
|
|
262
|
-
`CREATE REL TABLE IF NOT EXISTS CLUSTER_IN_REPO (
|
|
263
|
-
FROM Cluster TO Repo
|
|
262
|
+
`CREATE REL TABLE IF NOT EXISTS CLUSTER_IN_REPO (
|
|
263
|
+
FROM Cluster TO Repo
|
|
264
264
|
)`,
|
|
265
|
-
`CREATE REL TABLE IF NOT EXISTS PROCESS_IN_REPO (
|
|
266
|
-
FROM Process TO Repo
|
|
265
|
+
`CREATE REL TABLE IF NOT EXISTS PROCESS_IN_REPO (
|
|
266
|
+
FROM Process TO Repo
|
|
267
267
|
)`,
|
|
268
|
-
`CREATE REL TABLE IF NOT EXISTS HAS_MEMORY (
|
|
269
|
-
FROM Repo TO Memory
|
|
268
|
+
`CREATE REL TABLE IF NOT EXISTS HAS_MEMORY (
|
|
269
|
+
FROM Repo TO Memory
|
|
270
270
|
)`,
|
|
271
|
-
`CREATE REL TABLE IF NOT EXISTS MEMORY_OF (
|
|
272
|
-
FROM Memory TO Symbol
|
|
271
|
+
`CREATE REL TABLE IF NOT EXISTS MEMORY_OF (
|
|
272
|
+
FROM Memory TO Symbol
|
|
273
273
|
)`,
|
|
274
|
-
`CREATE REL TABLE IF NOT EXISTS MEMORY_OF_FILE (
|
|
275
|
-
FROM Memory TO File
|
|
274
|
+
`CREATE REL TABLE IF NOT EXISTS MEMORY_OF_FILE (
|
|
275
|
+
FROM Memory TO File
|
|
276
276
|
)`,
|
|
277
277
|
];
|
|
278
278
|
async function execDdl(conn, ddl) {
|
|
@@ -313,12 +313,12 @@ export async function createSchema(conn) {
|
|
|
313
313
|
}
|
|
314
314
|
// Insert or verify schema version
|
|
315
315
|
const now = new Date().toISOString();
|
|
316
|
-
await exec(conn, `MERGE (sv:SchemaVersion {id: 'current'})
|
|
317
|
-
ON CREATE SET sv.schemaVersion = $schemaVersion, sv.createdAt = $createdAt, sv.updatedAt = $updatedAt
|
|
316
|
+
await exec(conn, `MERGE (sv:SchemaVersion {id: 'current'})
|
|
317
|
+
ON CREATE SET sv.schemaVersion = $schemaVersion, sv.createdAt = $createdAt, sv.updatedAt = $updatedAt
|
|
318
318
|
ON MATCH SET sv.schemaVersion = $schemaVersion, sv.updatedAt = $updatedAt`, { schemaVersion: LADYBUG_SCHEMA_VERSION, createdAt: now, updatedAt: now });
|
|
319
319
|
}
|
|
320
320
|
export async function getSchemaVersion(conn) {
|
|
321
|
-
const result = await conn.query(`MATCH (sv:SchemaVersion {id: 'current'})
|
|
321
|
+
const result = await conn.query(`MATCH (sv:SchemaVersion {id: 'current'})
|
|
322
322
|
RETURN sv.schemaVersion AS schemaVersion`);
|
|
323
323
|
try {
|
|
324
324
|
const rows = (await result.getAll());
|