ultracode 5.4.0 → 5.6.0
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/chunks/analysis-tool-handlers-GH5FDEWW.js +817 -0
- package/dist/chunks/analysis-tool-handlers-IXP4MWZX.js +817 -0
- package/dist/chunks/analysis-tool-handlers-LC2BTQYK.js +13 -0
- package/dist/chunks/analysis-tool-handlers-QYFKQPFL.js +817 -0
- package/dist/chunks/autodoc-tool-handlers-2HF6ERYN.js +1112 -0
- package/dist/chunks/autodoc-tool-handlers-4OGQJ7C3.js +1112 -0
- package/dist/chunks/autodoc-tool-handlers-N736CB56.js +138 -0
- package/dist/chunks/autodoc-tool-handlers-NQYBY6U4.js +1112 -0
- package/dist/chunks/branch-tool-handlers-KW3H4FJK.js +276 -0
- package/dist/chunks/branch-tool-handlers-QOUDZKJ2.js +276 -0
- package/dist/chunks/branch-tool-handlers-RB2U36KI.js +2 -0
- package/dist/chunks/branch-tool-handlers-ZHJM6PDK.js +276 -0
- package/dist/chunks/chunk-2Z6OQPYC.js +656 -0
- package/dist/chunks/chunk-3MQ7LRPN.js +322 -0
- package/dist/chunks/chunk-4W6QYGXZ.js +10 -0
- package/dist/chunks/chunk-533NFGUG.js +1 -0
- package/dist/chunks/chunk-5NUPOPWM.js +1 -0
- package/dist/chunks/chunk-AK4HIPA2.js +322 -0
- package/dist/chunks/chunk-B3H5NS3I.js +656 -0
- package/dist/chunks/chunk-DPTZHDST.js +4 -0
- package/dist/chunks/chunk-E5HQWLU5.js +322 -0
- package/dist/chunks/chunk-EOH25B5P.js +572 -0
- package/dist/chunks/chunk-ESV6F6E3.js +3179 -0
- package/dist/chunks/chunk-FPELPFER.js +924 -0
- package/dist/chunks/chunk-G6J42I55.js +161 -0
- package/dist/chunks/chunk-GCQE7ZYW.js +1 -0
- package/dist/chunks/chunk-GTIF6MOX.js +1 -0
- package/dist/chunks/chunk-I6STSSAK.js +2 -0
- package/dist/chunks/chunk-J2WBGTK2.js +4697 -0
- package/dist/chunks/chunk-KAYOX5EB.js +4697 -0
- package/dist/chunks/chunk-KPMTACOT.js +656 -0
- package/dist/chunks/chunk-L376GZ44.js +3179 -0
- package/dist/chunks/chunk-LCTOTHDA.js +15 -0
- package/dist/chunks/chunk-LEDJ7GVQ.js +316 -0
- package/dist/chunks/chunk-LH4OUKNZ.js +277 -0
- package/dist/chunks/chunk-O6IE2MEZ.js +161 -0
- package/dist/chunks/chunk-OEXPCY3F.js +316 -0
- package/dist/chunks/chunk-OMXOLFDN.js +924 -0
- package/dist/chunks/chunk-PLPBXWOU.js +3179 -0
- package/dist/chunks/chunk-PWLE5DN2.js +572 -0
- package/dist/chunks/chunk-PY43JPWL.js +447 -0
- package/dist/chunks/chunk-Q3B4EB7A.js +15 -0
- package/dist/chunks/chunk-Q5LPVLXA.js +337 -0
- package/dist/chunks/chunk-QIRZHZK2.js +5 -0
- package/dist/chunks/chunk-ROQ27LSL.js +924 -0
- package/dist/chunks/chunk-S5Q7BD6J.js +572 -0
- package/dist/chunks/chunk-SAMX3HJQ.js +337 -0
- package/dist/chunks/chunk-SV3WKUNV.js +1 -0
- package/dist/chunks/chunk-TCHCDCDO.js +167 -0
- package/dist/chunks/chunk-TR3HS7U6.js +316 -0
- package/dist/chunks/chunk-TUWE6FCW.js +167 -0
- package/dist/chunks/chunk-TVOTA7EE.js +277 -0
- package/dist/chunks/chunk-VS44D772.js +337 -0
- package/dist/chunks/chunk-WIE3G5ES.js +167 -0
- package/dist/chunks/chunk-XG3ACLWR.js +5 -0
- package/dist/chunks/chunk-XJ2Z5QQO.js +1 -0
- package/dist/chunks/chunk-XK2NY7RB.js +277 -0
- package/dist/chunks/chunk-Y4F7NZFZ.js +4700 -0
- package/dist/chunks/chunk-YS75L3ZS.js +161 -0
- package/dist/chunks/chunk-ZVG5HHI3.js +15 -0
- package/dist/chunks/dev-agent-DDDIVWOF.js +1 -0
- package/dist/chunks/dev-agent-E2VCFKXN.js +1624 -0
- package/dist/chunks/dev-agent-KJNSU5KQ.js +1624 -0
- package/dist/chunks/dev-agent-NDERYIPV.js +1624 -0
- package/dist/chunks/faiss-provider-7R4BQDIV.js +12 -0
- package/dist/chunks/faiss-provider-7ZFRSDN5.js +12 -0
- package/dist/chunks/faiss-provider-SXB7FTLB.js +1 -0
- package/dist/chunks/faiss-provider-TKLBEUSH.js +12 -0
- package/dist/chunks/file-tool-handlers-5DODQXGF.js +1027 -0
- package/dist/chunks/file-tool-handlers-KGHLE4KR.js +1027 -0
- package/dist/chunks/file-tool-handlers-KTOQ4NFS.js +12 -0
- package/dist/chunks/file-tool-handlers-V4SFUDQB.js +1027 -0
- package/dist/chunks/graph-metrics-tool-handlers-3AV4X4ZY.js +65 -0
- package/dist/chunks/graph-metrics-tool-handlers-3VMDQHJ6.js +65 -0
- package/dist/chunks/graph-metrics-tool-handlers-BZ6E6YHF.js +1 -0
- package/dist/chunks/graph-metrics-tool-handlers-IYBGSXL7.js +65 -0
- package/dist/chunks/graph-storage-factory-2CQ2RPDV.js +13 -0
- package/dist/chunks/graph-storage-factory-C5SMMYL6.js +13 -0
- package/dist/chunks/graph-storage-factory-EEO2V3GJ.js +1 -0
- package/dist/chunks/graph-storage-factory-WBCTXP34.js +13 -0
- package/dist/chunks/history-tool-handlers-AS7OQFZI.js +1 -0
- package/dist/chunks/history-tool-handlers-FSNJYXV2.js +208 -0
- package/dist/chunks/history-tool-handlers-JZAH4EIQ.js +208 -0
- package/dist/chunks/history-tool-handlers-KCSCXZ7T.js +208 -0
- package/dist/chunks/incremental-updater-A2EL4QXU.js +14 -0
- package/dist/chunks/incremental-updater-EQIKBVY2.js +14 -0
- package/dist/chunks/incremental-updater-JFGRPH3B.js +14 -0
- package/dist/chunks/incremental-updater-S5BAAGHP.js +1 -0
- package/dist/chunks/indexer-agent-ASKY7JPG.js +1 -0
- package/dist/chunks/indexer-agent-NKAOF323.js +21 -0
- package/dist/chunks/indexer-agent-PJN5IOKQ.js +21 -0
- package/dist/chunks/indexer-agent-WRJFWKZX.js +21 -0
- package/dist/chunks/indexing-pipeline-D4P2O72Z.js +249 -0
- package/dist/chunks/indexing-pipeline-L7C543N4.js +1 -0
- package/dist/chunks/indexing-pipeline-NHPRN3AB.js +249 -0
- package/dist/chunks/indexing-pipeline-ZAXCZU22.js +249 -0
- package/dist/chunks/layered-faiss-provider-62CNW54X.js +1 -0
- package/dist/chunks/layered-faiss-provider-O7L77GFX.js +12 -0
- package/dist/chunks/layered-faiss-provider-RVHLHLPK.js +12 -0
- package/dist/chunks/layered-faiss-provider-YT7EDIJI.js +12 -0
- package/dist/chunks/merge-agent-3RF7VFF5.js +2481 -0
- package/dist/chunks/merge-agent-JCKTCBCE.js +2481 -0
- package/dist/chunks/merge-agent-VCL7OXPN.js +2481 -0
- package/dist/chunks/merge-agent-ZGK24WVF.js +11 -0
- package/dist/chunks/merge-tool-handlers-GV2LOIKU.js +277 -0
- package/dist/chunks/merge-tool-handlers-TYDWU5X2.js +277 -0
- package/dist/chunks/merge-tool-handlers-U7X2ZO2M.js +1 -0
- package/dist/chunks/merge-tool-handlers-YH62ZLPJ.js +277 -0
- package/dist/chunks/pattern-tool-handlers-76NF5JDS.js +13 -0
- package/dist/chunks/pattern-tool-handlers-IJAGEIVD.js +1549 -0
- package/dist/chunks/pattern-tool-handlers-VA5WYA62.js +1549 -0
- package/dist/chunks/pattern-tool-handlers-WQ6UBMJS.js +1549 -0
- package/dist/chunks/query-agent-36ADGCFZ.js +1 -0
- package/dist/chunks/query-agent-H22CR5N5.js +191 -0
- package/dist/chunks/query-agent-K2UGZS4M.js +191 -0
- package/dist/chunks/query-agent-YJCEHOXD.js +191 -0
- package/dist/chunks/semantic-agent-AC7CBEDE.js +6381 -0
- package/dist/chunks/semantic-agent-HK5X6CKU.js +6381 -0
- package/dist/chunks/semantic-agent-KONIKEGW.js +6381 -0
- package/dist/chunks/semantic-agent-LH6IZ2L7.js +137 -0
- package/dist/chunks/semantic-tool-handlers-5LMSH2U7.js +3 -0
- package/dist/chunks/semantic-tool-handlers-735UMO7Y.js +817 -0
- package/dist/chunks/semantic-tool-handlers-BNUYPP7X.js +817 -0
- package/dist/chunks/semantic-tool-handlers-MYZPEUD2.js +817 -0
- package/dist/chunks/snapshot-tool-handlers-6SIHZT2F.js +201 -0
- package/dist/chunks/snapshot-tool-handlers-DS4P3KOT.js +201 -0
- package/dist/chunks/snapshot-tool-handlers-JYHRFPC7.js +201 -0
- package/dist/chunks/snapshot-tool-handlers-YEHMAT3L.js +1 -0
- package/dist/chunks/storage-paths-A3C7WHHG.js +8 -0
- package/dist/chunks/storage-paths-HDYH7WPM.js +1 -0
- package/dist/chunks/storage-paths-IMFRHBWF.js +8 -0
- package/dist/chunks/storage-paths-P3PUSMUD.js +8 -0
- package/dist/chunks/taint-tool-handlers-CWESOOMQ.js +68 -0
- package/dist/chunks/taint-tool-handlers-OG3NVVP3.js +1 -0
- package/dist/chunks/taint-tool-handlers-ON3G3FA7.js +68 -0
- package/dist/chunks/taint-tool-handlers-P4P5J6DB.js +68 -0
- package/dist/chunks/tracing-tool-handlers-4BDCXTZZ.js +3935 -0
- package/dist/chunks/tracing-tool-handlers-6FPNM7HX.js +3935 -0
- package/dist/chunks/tracing-tool-handlers-LQTQ5SKK.js +89 -0
- package/dist/chunks/tracing-tool-handlers-XRQX2DTS.js +3935 -0
- package/dist/chunks/validation-tool-handlers-DZUG7KYY.js +2 -0
- package/dist/chunks/validation-tool-handlers-O6TGFSH5.js +555 -0
- package/dist/chunks/validation-tool-handlers-RREUYKIR.js +555 -0
- package/dist/chunks/validation-tool-handlers-XPWSMS37.js +555 -0
- package/dist/index.js +13 -13
- package/dist/roslyn-addon/.build-hash +1 -1
- package/dist/roslyn-addon/ILGPU.Algorithms.dll +0 -0
- package/dist/roslyn-addon/ILGPU.dll +0 -0
- package/dist/roslyn-addon/UltraCode.CSharp.deps.json +35 -0
- package/dist/roslyn-addon/UltraCode.CSharp.dll +0 -0
- package/package.json +1 -1
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
import { GetEntityHistorySchema, DiffCommitsSchema, CheckoutCommitSchema, ListCommitsSchema } from './chunk-LVCP3H3F.js';
|
|
2
|
+
import './chunk-NJUB245U.js';
|
|
3
|
+
import { BaseToolHandler } from './chunk-SAMX3HJQ.js';
|
|
4
|
+
import './chunk-WIE3G5ES.js';
|
|
5
|
+
import './chunk-HNDYLCWI.js';
|
|
6
|
+
import { TimeTravelManager, deserializeEntity } from './chunk-AIZUHUK6.js';
|
|
7
|
+
import './chunk-XK2NY7RB.js';
|
|
8
|
+
import './chunk-HEMJHRHZ.js';
|
|
9
|
+
import { init_logging, log } from './chunk-VCCBEJQ5.js';
|
|
10
|
+
import './chunk-NAQKA54E.js';
|
|
11
|
+
|
|
12
|
+
// src/tools/handlers/history-tool-handlers.ts
|
|
13
|
+
init_logging();
|
|
14
|
+
function errorResult(message) {
|
|
15
|
+
return { content: [{ type: "text", text: JSON.stringify({ error: message }) }] };
|
|
16
|
+
}
|
|
17
|
+
var GetEntityHistoryToolHandler = class extends BaseToolHandler {
|
|
18
|
+
parseArgs(args) {
|
|
19
|
+
return GetEntityHistorySchema.parse(args);
|
|
20
|
+
}
|
|
21
|
+
async execute(args) {
|
|
22
|
+
const storage = await this.ensureGraphStorageForProject(args.projectPath);
|
|
23
|
+
const adapter = storage.getLibSQLAdapter?.();
|
|
24
|
+
if (!adapter?.getProllyNodeStore || !adapter?.getCommitManager) {
|
|
25
|
+
return errorResult("Prolly Tree not available - ensure project is indexed");
|
|
26
|
+
}
|
|
27
|
+
const nodeStore = adapter.getProllyNodeStore();
|
|
28
|
+
const commitManager = adapter.getCommitManager();
|
|
29
|
+
if (!nodeStore || !commitManager) {
|
|
30
|
+
return errorResult("Prolly Tree components not initialized");
|
|
31
|
+
}
|
|
32
|
+
const timeTravel = new TimeTravelManager(nodeStore, commitManager);
|
|
33
|
+
try {
|
|
34
|
+
const history = await timeTravel.getEntityHistory(args.entityId, args.limit);
|
|
35
|
+
return {
|
|
36
|
+
content: [
|
|
37
|
+
{
|
|
38
|
+
type: "text",
|
|
39
|
+
text: JSON.stringify(
|
|
40
|
+
{
|
|
41
|
+
entityId: args.entityId,
|
|
42
|
+
changes: history.map((h) => ({
|
|
43
|
+
commitHash: h.commitHash,
|
|
44
|
+
changeType: h.changeType,
|
|
45
|
+
timestamp: new Date(h.timestamp).toISOString(),
|
|
46
|
+
entitySnapshot: h.newValue ? deserializeEntity(h.newValue) : null
|
|
47
|
+
})),
|
|
48
|
+
totalChanges: history.length
|
|
49
|
+
},
|
|
50
|
+
null,
|
|
51
|
+
2
|
|
52
|
+
)
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
} catch (error) {
|
|
57
|
+
log.e("HISTORY", "get_entity_history_failed", { error: error.message });
|
|
58
|
+
return errorResult(`Failed to get entity history: ${error.message}`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
var DiffCommitsToolHandler = class extends BaseToolHandler {
|
|
63
|
+
parseArgs(args) {
|
|
64
|
+
return DiffCommitsSchema.parse(args);
|
|
65
|
+
}
|
|
66
|
+
async execute(args) {
|
|
67
|
+
const storage = await this.ensureGraphStorageForProject(args.projectPath);
|
|
68
|
+
const adapter = storage.getLibSQLAdapter?.();
|
|
69
|
+
if (!adapter?.getProllyNodeStore || !adapter?.getCommitManager) {
|
|
70
|
+
return errorResult("Prolly Tree not available - ensure project is indexed");
|
|
71
|
+
}
|
|
72
|
+
const nodeStore = adapter.getProllyNodeStore();
|
|
73
|
+
const commitManager = adapter.getCommitManager();
|
|
74
|
+
if (!nodeStore || !commitManager) {
|
|
75
|
+
return errorResult("Prolly Tree components not initialized");
|
|
76
|
+
}
|
|
77
|
+
const timeTravel = new TimeTravelManager(nodeStore, commitManager);
|
|
78
|
+
try {
|
|
79
|
+
let commitB = args.commitB;
|
|
80
|
+
if (!commitB) {
|
|
81
|
+
const head = await commitManager.getBranchHead();
|
|
82
|
+
if (!head) return errorResult("No commits found - index the project first");
|
|
83
|
+
commitB = head.commitHash;
|
|
84
|
+
}
|
|
85
|
+
const diff = await timeTravel.diffCommits(args.commitA, commitB);
|
|
86
|
+
if (!diff) {
|
|
87
|
+
return errorResult(`Failed to diff commits: one or both commits not found`);
|
|
88
|
+
}
|
|
89
|
+
const result = {
|
|
90
|
+
commitA: args.commitA,
|
|
91
|
+
commitB,
|
|
92
|
+
summary: {
|
|
93
|
+
added: diff.treeDiff.added.length,
|
|
94
|
+
modified: diff.treeDiff.modified.length,
|
|
95
|
+
deleted: diff.treeDiff.deleted.length
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
if (args.includeEntities) {
|
|
99
|
+
result["added"] = diff.treeDiff.added.map((e) => ({ key: e.key }));
|
|
100
|
+
result["modified"] = diff.treeDiff.modified.map((e) => ({ key: e.key }));
|
|
101
|
+
result["deleted"] = diff.treeDiff.deleted.map((e) => ({ key: e.key }));
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
105
|
+
};
|
|
106
|
+
} catch (error) {
|
|
107
|
+
log.e("HISTORY", "diff_commits_failed", { error: error.message });
|
|
108
|
+
return errorResult(`Failed to diff commits: ${error.message}`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
var CheckoutCommitToolHandler = class extends BaseToolHandler {
|
|
113
|
+
parseArgs(args) {
|
|
114
|
+
return CheckoutCommitSchema.parse(args);
|
|
115
|
+
}
|
|
116
|
+
async execute(args) {
|
|
117
|
+
const storage = await this.ensureGraphStorageForProject(args.projectPath);
|
|
118
|
+
const adapter = storage.getLibSQLAdapter?.();
|
|
119
|
+
if (!adapter?.getProllyNodeStore || !adapter?.getCommitManager) {
|
|
120
|
+
return errorResult("Prolly Tree not available - ensure project is indexed");
|
|
121
|
+
}
|
|
122
|
+
const nodeStore = adapter.getProllyNodeStore();
|
|
123
|
+
const commitManager = adapter.getCommitManager();
|
|
124
|
+
if (!nodeStore || !commitManager) {
|
|
125
|
+
return errorResult("Prolly Tree components not initialized");
|
|
126
|
+
}
|
|
127
|
+
const timeTravel = new TimeTravelManager(nodeStore, commitManager);
|
|
128
|
+
try {
|
|
129
|
+
const commit = await commitManager.getCommit(args.commitHash);
|
|
130
|
+
if (!commit) {
|
|
131
|
+
return errorResult(`Commit not found: ${args.commitHash}`);
|
|
132
|
+
}
|
|
133
|
+
const result = {
|
|
134
|
+
commit: {
|
|
135
|
+
hash: commit.commitHash,
|
|
136
|
+
message: commit.message,
|
|
137
|
+
entityCount: commit.entityCount,
|
|
138
|
+
relationshipCount: commit.relationshipCount,
|
|
139
|
+
createdAt: new Date(commit.createdAt).toISOString(),
|
|
140
|
+
parentHash: commit.parentHash
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
if (args.entityId) {
|
|
144
|
+
const entity = await timeTravel.getEntityAt(args.entityId, args.commitHash);
|
|
145
|
+
result["entity"] = entity;
|
|
146
|
+
}
|
|
147
|
+
if (args.query) {
|
|
148
|
+
const entities = await timeTravel.searchEntitiesAt(args.commitHash, args.query, args.limit);
|
|
149
|
+
result["entities"] = entities.slice(args.offset, args.offset + args.limit);
|
|
150
|
+
result["totalMatches"] = entities.length;
|
|
151
|
+
}
|
|
152
|
+
return {
|
|
153
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }]
|
|
154
|
+
};
|
|
155
|
+
} catch (error) {
|
|
156
|
+
log.e("HISTORY", "checkout_commit_failed", { error: error.message });
|
|
157
|
+
return errorResult(`Failed to checkout commit: ${error.message}`);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
};
|
|
161
|
+
var ListCommitsToolHandler = class extends BaseToolHandler {
|
|
162
|
+
parseArgs(args) {
|
|
163
|
+
return ListCommitsSchema.parse(args);
|
|
164
|
+
}
|
|
165
|
+
async execute(args) {
|
|
166
|
+
const storage = await this.ensureGraphStorageForProject(args.projectPath);
|
|
167
|
+
const adapter = storage.getLibSQLAdapter?.();
|
|
168
|
+
if (!adapter?.getCommitManager) {
|
|
169
|
+
return errorResult("Prolly Tree not available - ensure project is indexed");
|
|
170
|
+
}
|
|
171
|
+
const commitManager = adapter.getCommitManager();
|
|
172
|
+
if (!commitManager) {
|
|
173
|
+
return errorResult("Prolly Tree components not initialized");
|
|
174
|
+
}
|
|
175
|
+
try {
|
|
176
|
+
const history = await commitManager.getHistory(args.limit);
|
|
177
|
+
return {
|
|
178
|
+
content: [
|
|
179
|
+
{
|
|
180
|
+
type: "text",
|
|
181
|
+
text: JSON.stringify(
|
|
182
|
+
{
|
|
183
|
+
commits: history.map((c) => ({
|
|
184
|
+
hash: c.commitHash,
|
|
185
|
+
message: c.message,
|
|
186
|
+
entityCount: c.entityCount,
|
|
187
|
+
relationshipCount: c.relationshipCount,
|
|
188
|
+
createdAt: new Date(c.createdAt).toISOString(),
|
|
189
|
+
parentHash: c.parentHash?.slice(0, 8) || null
|
|
190
|
+
})),
|
|
191
|
+
total: history.length
|
|
192
|
+
},
|
|
193
|
+
null,
|
|
194
|
+
2
|
|
195
|
+
)
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
};
|
|
199
|
+
} catch (error) {
|
|
200
|
+
log.e("HISTORY", "list_commits_failed", { error: error.message });
|
|
201
|
+
return errorResult(`Failed to list commits: ${error.message}`);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
};
|
|
205
|
+
|
|
206
|
+
export { CheckoutCommitToolHandler, DiffCommitsToolHandler, GetEntityHistoryToolHandler, ListCommitsToolHandler };
|
|
207
|
+
//# sourceMappingURL=history-tool-handlers-KCSCXZ7T.js.map
|
|
208
|
+
//# sourceMappingURL=history-tool-handlers-KCSCXZ7T.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { detectChanges, extractReferences, extractSections, markDeleted, mergeWithExisting, updateAllModuleDocs, updateModuleDoc, updateReferences } from './chunk-OEXPCY3F.js';
|
|
2
|
+
import './chunk-KAYOX5EB.js';
|
|
3
|
+
import './chunk-HNDYLCWI.js';
|
|
4
|
+
import './chunk-CTXFPNDA.js';
|
|
5
|
+
import './chunk-TJSOOFXA.js';
|
|
6
|
+
import './chunk-AIZUHUK6.js';
|
|
7
|
+
import './chunk-G6J42I55.js';
|
|
8
|
+
import './chunk-TVOTA7EE.js';
|
|
9
|
+
import './chunk-HEMJHRHZ.js';
|
|
10
|
+
import './chunk-VCCBEJQ5.js';
|
|
11
|
+
import './chunk-UN27MREV.js';
|
|
12
|
+
import './chunk-NAQKA54E.js';
|
|
13
|
+
//# sourceMappingURL=incremental-updater-A2EL4QXU.js.map
|
|
14
|
+
//# sourceMappingURL=incremental-updater-A2EL4QXU.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { detectChanges, extractReferences, extractSections, markDeleted, mergeWithExisting, updateAllModuleDocs, updateModuleDoc, updateReferences } from './chunk-TR3HS7U6.js';
|
|
2
|
+
import './chunk-Y4F7NZFZ.js';
|
|
3
|
+
import './chunk-HNDYLCWI.js';
|
|
4
|
+
import './chunk-CTXFPNDA.js';
|
|
5
|
+
import './chunk-TJSOOFXA.js';
|
|
6
|
+
import './chunk-AIZUHUK6.js';
|
|
7
|
+
import './chunk-O6IE2MEZ.js';
|
|
8
|
+
import './chunk-LH4OUKNZ.js';
|
|
9
|
+
import './chunk-HEMJHRHZ.js';
|
|
10
|
+
import './chunk-VCCBEJQ5.js';
|
|
11
|
+
import './chunk-UN27MREV.js';
|
|
12
|
+
import './chunk-NAQKA54E.js';
|
|
13
|
+
//# sourceMappingURL=incremental-updater-EQIKBVY2.js.map
|
|
14
|
+
//# sourceMappingURL=incremental-updater-EQIKBVY2.js.map
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export { detectChanges, extractReferences, extractSections, markDeleted, mergeWithExisting, updateAllModuleDocs, updateModuleDoc, updateReferences } from './chunk-LEDJ7GVQ.js';
|
|
2
|
+
import './chunk-J2WBGTK2.js';
|
|
3
|
+
import './chunk-HNDYLCWI.js';
|
|
4
|
+
import './chunk-CTXFPNDA.js';
|
|
5
|
+
import './chunk-TJSOOFXA.js';
|
|
6
|
+
import './chunk-AIZUHUK6.js';
|
|
7
|
+
import './chunk-YS75L3ZS.js';
|
|
8
|
+
import './chunk-XK2NY7RB.js';
|
|
9
|
+
import './chunk-HEMJHRHZ.js';
|
|
10
|
+
import './chunk-VCCBEJQ5.js';
|
|
11
|
+
import './chunk-UN27MREV.js';
|
|
12
|
+
import './chunk-NAQKA54E.js';
|
|
13
|
+
//# sourceMappingURL=incremental-updater-JFGRPH3B.js.map
|
|
14
|
+
//# sourceMappingURL=incremental-updater-JFGRPH3B.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{c as detectChanges,a as extractReferences,b as extractSections,f as markDeleted,e as mergeWithExisting,h as updateAllModuleDocs,g as updateModuleDoc,d as updateReferences}from'./chunk-4W6QYGXZ.js';import'./chunk-PY43JPWL.js';import'./chunk-RK5TLU72.js';import'./chunk-LESND2CW.js';import'./chunk-QUO46LUP.js';import'./chunk-3IFLFBQ4.js';import'./chunk-I6STSSAK.js';import'./chunk-SV3WKUNV.js';import'./chunk-PZF7YC35.js';import'./chunk-4BI7EBPQ.js';import'./chunk-F45ISXCP.js';import'./chunk-DXB73IDG.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{a as IndexerAgent}from'./chunk-QIRZHZK2.js';import'./chunk-7YC4KTAW.js';import'./chunk-V5VLOVE7.js';import'./chunk-PY43JPWL.js';import'./chunk-RK5TLU72.js';import'./chunk-LESND2CW.js';import'./chunk-QUO46LUP.js';import'./chunk-3IFLFBQ4.js';import'./chunk-I6STSSAK.js';import'./chunk-SV3WKUNV.js';import'./chunk-PZF7YC35.js';import'./chunk-AIZJT6AG.js';import'./chunk-NWQZW3Y6.js';import'./chunk-KXUWGHHN.js';import'./chunk-2KIPXYOB.js';import'./chunk-OG62YNVF.js';import'./chunk-4BI7EBPQ.js';import'./chunk-F45ISXCP.js';import'./chunk-DXB73IDG.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { IndexerAgent } from './chunk-PLPBXWOU.js';
|
|
2
|
+
import './chunk-JPI46FLQ.js';
|
|
3
|
+
import './chunk-IGUCJL3R.js';
|
|
4
|
+
import './chunk-Y4F7NZFZ.js';
|
|
5
|
+
import './chunk-HNDYLCWI.js';
|
|
6
|
+
import './chunk-CTXFPNDA.js';
|
|
7
|
+
import './chunk-TJSOOFXA.js';
|
|
8
|
+
import './chunk-AIZUHUK6.js';
|
|
9
|
+
import './chunk-O6IE2MEZ.js';
|
|
10
|
+
import './chunk-LH4OUKNZ.js';
|
|
11
|
+
import './chunk-HEMJHRHZ.js';
|
|
12
|
+
import './chunk-IMQ6WSJV.js';
|
|
13
|
+
import './chunk-GMVGCSNU.js';
|
|
14
|
+
import './chunk-XV6GNSLC.js';
|
|
15
|
+
import './chunk-F7CKCMXI.js';
|
|
16
|
+
import './chunk-BMHPPH2B.js';
|
|
17
|
+
import './chunk-VCCBEJQ5.js';
|
|
18
|
+
import './chunk-UN27MREV.js';
|
|
19
|
+
import './chunk-NAQKA54E.js';
|
|
20
|
+
//# sourceMappingURL=indexer-agent-NKAOF323.js.map
|
|
21
|
+
//# sourceMappingURL=indexer-agent-NKAOF323.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { IndexerAgent } from './chunk-L376GZ44.js';
|
|
2
|
+
import './chunk-JPI46FLQ.js';
|
|
3
|
+
import './chunk-IGUCJL3R.js';
|
|
4
|
+
import './chunk-KAYOX5EB.js';
|
|
5
|
+
import './chunk-HNDYLCWI.js';
|
|
6
|
+
import './chunk-CTXFPNDA.js';
|
|
7
|
+
import './chunk-TJSOOFXA.js';
|
|
8
|
+
import './chunk-AIZUHUK6.js';
|
|
9
|
+
import './chunk-G6J42I55.js';
|
|
10
|
+
import './chunk-TVOTA7EE.js';
|
|
11
|
+
import './chunk-HEMJHRHZ.js';
|
|
12
|
+
import './chunk-IMQ6WSJV.js';
|
|
13
|
+
import './chunk-GMVGCSNU.js';
|
|
14
|
+
import './chunk-XV6GNSLC.js';
|
|
15
|
+
import './chunk-F7CKCMXI.js';
|
|
16
|
+
import './chunk-BMHPPH2B.js';
|
|
17
|
+
import './chunk-VCCBEJQ5.js';
|
|
18
|
+
import './chunk-UN27MREV.js';
|
|
19
|
+
import './chunk-NAQKA54E.js';
|
|
20
|
+
//# sourceMappingURL=indexer-agent-PJN5IOKQ.js.map
|
|
21
|
+
//# sourceMappingURL=indexer-agent-PJN5IOKQ.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { IndexerAgent } from './chunk-ESV6F6E3.js';
|
|
2
|
+
import './chunk-JPI46FLQ.js';
|
|
3
|
+
import './chunk-IGUCJL3R.js';
|
|
4
|
+
import './chunk-J2WBGTK2.js';
|
|
5
|
+
import './chunk-HNDYLCWI.js';
|
|
6
|
+
import './chunk-CTXFPNDA.js';
|
|
7
|
+
import './chunk-TJSOOFXA.js';
|
|
8
|
+
import './chunk-AIZUHUK6.js';
|
|
9
|
+
import './chunk-YS75L3ZS.js';
|
|
10
|
+
import './chunk-XK2NY7RB.js';
|
|
11
|
+
import './chunk-HEMJHRHZ.js';
|
|
12
|
+
import './chunk-IMQ6WSJV.js';
|
|
13
|
+
import './chunk-GMVGCSNU.js';
|
|
14
|
+
import './chunk-XV6GNSLC.js';
|
|
15
|
+
import './chunk-F7CKCMXI.js';
|
|
16
|
+
import './chunk-BMHPPH2B.js';
|
|
17
|
+
import './chunk-VCCBEJQ5.js';
|
|
18
|
+
import './chunk-UN27MREV.js';
|
|
19
|
+
import './chunk-NAQKA54E.js';
|
|
20
|
+
//# sourceMappingURL=indexer-agent-WRJFWKZX.js.map
|
|
21
|
+
//# sourceMappingURL=indexer-agent-WRJFWKZX.js.map
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { collectFilesAsync, init_file_extensions, file_extensions_exports } from './chunk-4GYRHAKO.js';
|
|
2
|
+
import { getGraphStorage } from './chunk-J2WBGTK2.js';
|
|
3
|
+
import './chunk-HNDYLCWI.js';
|
|
4
|
+
import './chunk-CTXFPNDA.js';
|
|
5
|
+
import './chunk-TJSOOFXA.js';
|
|
6
|
+
import './chunk-AIZUHUK6.js';
|
|
7
|
+
import './chunk-YS75L3ZS.js';
|
|
8
|
+
import './chunk-XK2NY7RB.js';
|
|
9
|
+
import './chunk-HEMJHRHZ.js';
|
|
10
|
+
import { toError } from './chunk-5WKPA33T.js';
|
|
11
|
+
import './chunk-BMHPPH2B.js';
|
|
12
|
+
import { init_logging, log } from './chunk-VCCBEJQ5.js';
|
|
13
|
+
import './chunk-UN27MREV.js';
|
|
14
|
+
import { __require, __toCommonJS } from './chunk-NAQKA54E.js';
|
|
15
|
+
import { statSync } from 'fs';
|
|
16
|
+
|
|
17
|
+
// src/agents/dev/indexing-pipeline.ts
|
|
18
|
+
init_logging();
|
|
19
|
+
async function initializeIndexing(options) {
|
|
20
|
+
const { directory, excludePatterns = [], incremental = false, agentId } = options;
|
|
21
|
+
log.i("DEVAGENT", "Starting indexing", {
|
|
22
|
+
directory,
|
|
23
|
+
excludePatternsCount: excludePatterns.length,
|
|
24
|
+
samplePatterns: excludePatterns.slice(0, 5)
|
|
25
|
+
});
|
|
26
|
+
const collectResult = await collectFilesAsync(directory, { excludePatterns, agentId });
|
|
27
|
+
const allFiles = collectResult.files;
|
|
28
|
+
log.i("DEVAGENT", "Files collected", { count: allFiles.length });
|
|
29
|
+
return {
|
|
30
|
+
directory,
|
|
31
|
+
excludePatterns,
|
|
32
|
+
isIncremental: incremental,
|
|
33
|
+
agentId,
|
|
34
|
+
allFiles,
|
|
35
|
+
deletedEntityIds: []
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
async function detectChangedFiles(context) {
|
|
39
|
+
if (!context.isIncremental || context.allFiles.length === 0) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const storage = await getGraphStorage();
|
|
43
|
+
const indexedFiles = await storage.getAllIndexedFiles();
|
|
44
|
+
if (indexedFiles.size === 0) {
|
|
45
|
+
return {
|
|
46
|
+
changedFiles: [],
|
|
47
|
+
newFiles: context.allFiles,
|
|
48
|
+
deletedFiles: [],
|
|
49
|
+
unchangedFiles: []
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
const changedFiles = [];
|
|
53
|
+
const newFiles = [];
|
|
54
|
+
const unchangedFiles = [];
|
|
55
|
+
for (const file of context.allFiles) {
|
|
56
|
+
const normalizedPath = file.replace(/\\/g, "/");
|
|
57
|
+
const lastIndexed = indexedFiles.get(normalizedPath);
|
|
58
|
+
if (lastIndexed === void 0) {
|
|
59
|
+
newFiles.push(file);
|
|
60
|
+
} else {
|
|
61
|
+
try {
|
|
62
|
+
const stats = statSync(file);
|
|
63
|
+
const mtime = stats.mtimeMs;
|
|
64
|
+
if (mtime > lastIndexed) {
|
|
65
|
+
changedFiles.push(file);
|
|
66
|
+
} else {
|
|
67
|
+
unchangedFiles.push(file);
|
|
68
|
+
}
|
|
69
|
+
} catch {
|
|
70
|
+
unchangedFiles.push(file);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
const currentFilesSet = new Set(context.allFiles.map((file) => file.replace(/\\/g, "/")));
|
|
75
|
+
const deletedFiles = [];
|
|
76
|
+
for (const [indexedPath] of indexedFiles) {
|
|
77
|
+
if (!currentFilesSet.has(indexedPath)) {
|
|
78
|
+
deletedFiles.push(indexedPath);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
log.i("DEVAGENT", "Smart incremental analysis", {
|
|
82
|
+
total: context.allFiles.length,
|
|
83
|
+
changed: changedFiles.length,
|
|
84
|
+
new: newFiles.length,
|
|
85
|
+
deleted: deletedFiles.length,
|
|
86
|
+
unchanged: unchangedFiles.length
|
|
87
|
+
});
|
|
88
|
+
return {
|
|
89
|
+
changedFiles,
|
|
90
|
+
newFiles,
|
|
91
|
+
deletedFiles,
|
|
92
|
+
unchangedFiles
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
async function cleanStaleEntities(filesToClean) {
|
|
96
|
+
if (filesToClean.length === 0) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
log.i("DEVAGENT", "Invalidating deleted files", {
|
|
100
|
+
fileCount: filesToClean.length
|
|
101
|
+
});
|
|
102
|
+
const storage = await getGraphStorage();
|
|
103
|
+
const deletedEntityIds = [];
|
|
104
|
+
for (const file of filesToClean) {
|
|
105
|
+
try {
|
|
106
|
+
const ids = await storage.deleteEntitiesByFilePath(file);
|
|
107
|
+
deletedEntityIds.push(...ids);
|
|
108
|
+
await storage.deleteFileInfo(file);
|
|
109
|
+
} catch (error) {
|
|
110
|
+
const err = toError(error);
|
|
111
|
+
log.w("DEVAGENT", "Failed to invalidate file", {
|
|
112
|
+
file,
|
|
113
|
+
error: err.message,
|
|
114
|
+
stack: err.stack
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
log.i("DEVAGENT", "Files invalidated", {
|
|
119
|
+
entityCount: deletedEntityIds.length
|
|
120
|
+
});
|
|
121
|
+
return deletedEntityIds;
|
|
122
|
+
}
|
|
123
|
+
async function applyChangeAnalysis(context, analysis) {
|
|
124
|
+
const filesToClean = [...analysis.changedFiles, ...analysis.deletedFiles];
|
|
125
|
+
const deletedEntityIds = await cleanStaleEntities(filesToClean);
|
|
126
|
+
const filesToProcess = [...analysis.changedFiles, ...analysis.newFiles];
|
|
127
|
+
log.i("DEVAGENT", "Files to process after analysis", {
|
|
128
|
+
toProcess: filesToProcess.length,
|
|
129
|
+
entitiesDeleted: deletedEntityIds.length
|
|
130
|
+
});
|
|
131
|
+
if (filesToProcess.length === 0) {
|
|
132
|
+
log.i("DEVAGENT", "No files changed, skipping indexing");
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
...context,
|
|
136
|
+
allFiles: filesToProcess,
|
|
137
|
+
deletedEntityIds
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
function separateCodeAndDataFiles(files) {
|
|
141
|
+
const codeFiles = [];
|
|
142
|
+
const dataFiles = [];
|
|
143
|
+
const { extname } = __require("path");
|
|
144
|
+
const { isCodeExtension } = (init_file_extensions(), __toCommonJS(file_extensions_exports));
|
|
145
|
+
for (const file of files) {
|
|
146
|
+
const ext = extname(file).toLowerCase();
|
|
147
|
+
if (isCodeExtension(ext)) {
|
|
148
|
+
codeFiles.push(file);
|
|
149
|
+
} else {
|
|
150
|
+
dataFiles.push(file);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
log.i("DEVAGENT", "Files separated", {
|
|
154
|
+
codeFiles: codeFiles.length,
|
|
155
|
+
dataFiles: dataFiles.length
|
|
156
|
+
});
|
|
157
|
+
return {
|
|
158
|
+
codeFiles,
|
|
159
|
+
dataFiles
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
async function resolveSwaggerLinks() {
|
|
163
|
+
const storage = await getGraphStorage();
|
|
164
|
+
const allEntities = await storage.getAllEntities();
|
|
165
|
+
const hasSwagger = allEntities.some((e) => e.metadata?.["swaggerType"]);
|
|
166
|
+
if (!hasSwagger) {
|
|
167
|
+
return 0;
|
|
168
|
+
}
|
|
169
|
+
log.i("DEVAGENT", "swagger_link_start", { totalEntities: allEntities.length });
|
|
170
|
+
try {
|
|
171
|
+
const { analyzeSwaggerCodeLinks, buildSwaggerRelationships } = await import('./swagger-code-linker-WXUPZZEE.js');
|
|
172
|
+
const analysis = analyzeSwaggerCodeLinks(allEntities);
|
|
173
|
+
const totalLinks = analysis.producers.length + analysis.consumers.length + analysis.generatedTypes.length;
|
|
174
|
+
if (totalLinks === 0) {
|
|
175
|
+
log.i("DEVAGENT", "swagger_link_none");
|
|
176
|
+
return 0;
|
|
177
|
+
}
|
|
178
|
+
const swaggerRelationships = buildSwaggerRelationships(analysis);
|
|
179
|
+
const { nanoid } = await import('nanoid');
|
|
180
|
+
const relationships = swaggerRelationships.map((rel) => ({
|
|
181
|
+
id: nanoid(12),
|
|
182
|
+
fromId: `swagger:${rel.fromName}`,
|
|
183
|
+
toId: `swagger:${rel.toName}`,
|
|
184
|
+
type: rel.type,
|
|
185
|
+
metadata: {
|
|
186
|
+
...rel.metadata,
|
|
187
|
+
fromFile: rel.fromFile,
|
|
188
|
+
toFile: rel.toFile
|
|
189
|
+
}
|
|
190
|
+
}));
|
|
191
|
+
const entityByName = /* @__PURE__ */ new Map();
|
|
192
|
+
for (const e of allEntities) {
|
|
193
|
+
entityByName.set(e.name, e.id);
|
|
194
|
+
entityByName.set(`${e.filePath}:${e.name}`, e.id);
|
|
195
|
+
}
|
|
196
|
+
for (const rel of relationships) {
|
|
197
|
+
const fromName = rel.fromId.replace("swagger:", "");
|
|
198
|
+
const toName = rel.toId.replace("swagger:", "");
|
|
199
|
+
const fromFile = rel.metadata?.fromFile;
|
|
200
|
+
const toFile = rel.metadata?.toFile;
|
|
201
|
+
if (fromFile) {
|
|
202
|
+
const fileKey = `${fromFile}:${fromName}`;
|
|
203
|
+
if (entityByName.has(fileKey)) {
|
|
204
|
+
rel.fromId = entityByName.get(fileKey);
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
if (!rel.fromId.startsWith("swagger:") === false && entityByName.has(fromName)) {
|
|
208
|
+
rel.fromId = entityByName.get(fromName);
|
|
209
|
+
}
|
|
210
|
+
if (toFile) {
|
|
211
|
+
const fileKey = `${toFile}:${toName}`;
|
|
212
|
+
if (entityByName.has(fileKey)) {
|
|
213
|
+
rel.toId = entityByName.get(fileKey);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
if (!rel.toId.startsWith("swagger:") === false && entityByName.has(toName)) {
|
|
217
|
+
rel.toId = entityByName.get(toName);
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
const result = await storage.insertRelationships(relationships);
|
|
221
|
+
log.i("DEVAGENT", "swagger_link_done", {
|
|
222
|
+
producers: analysis.producers.length,
|
|
223
|
+
consumers: analysis.consumers.length,
|
|
224
|
+
generatedTypes: analysis.generatedTypes.length,
|
|
225
|
+
relationshipsCreated: result.processed,
|
|
226
|
+
configs: analysis.codegenConfigs
|
|
227
|
+
});
|
|
228
|
+
return result.processed;
|
|
229
|
+
} catch (error) {
|
|
230
|
+
log.w("DEVAGENT", "swagger_link_error", { error: error.message });
|
|
231
|
+
return 0;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
function shouldUseIncrementalMode(context) {
|
|
235
|
+
return context.isIncremental && context.allFiles.length > 0;
|
|
236
|
+
}
|
|
237
|
+
function buildIndexingResult(context, filesProcessed, totalEntities, totalRelationships) {
|
|
238
|
+
return {
|
|
239
|
+
filesProcessed,
|
|
240
|
+
entitiesExtracted: totalEntities,
|
|
241
|
+
relationshipsCreated: totalRelationships,
|
|
242
|
+
totalFiles: context.allFiles.length,
|
|
243
|
+
deletedEntities: context.deletedEntityIds.length
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
export { applyChangeAnalysis, buildIndexingResult, cleanStaleEntities, detectChangedFiles, initializeIndexing, resolveSwaggerLinks, separateCodeAndDataFiles, shouldUseIncrementalMode };
|
|
248
|
+
//# sourceMappingURL=indexing-pipeline-D4P2O72Z.js.map
|
|
249
|
+
//# sourceMappingURL=indexing-pipeline-D4P2O72Z.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {f,e,d as d$1}from'./chunk-WZJJIJJU.js';import {d}from'./chunk-PY43JPWL.js';import'./chunk-RK5TLU72.js';import'./chunk-LESND2CW.js';import'./chunk-QUO46LUP.js';import'./chunk-3IFLFBQ4.js';import'./chunk-I6STSSAK.js';import'./chunk-SV3WKUNV.js';import'./chunk-PZF7YC35.js';import {a}from'./chunk-F3VMUQ7O.js';import'./chunk-OG62YNVF.js';import {R as R$1,I}from'./chunk-4BI7EBPQ.js';import'./chunk-F45ISXCP.js';import {a as a$1,f as f$1}from'./chunk-DXB73IDG.js';import {statSync}from'fs';R$1();async function R(e){let{directory:n,excludePatterns:i=[],incremental:s=false,agentId:a}=e;I.i("DEVAGENT","Starting indexing",{directory:n,excludePatternsCount:i.length,samplePatterns:i.slice(0,5)});let d=(await f(n,{excludePatterns:i,agentId:a})).files;return I.i("DEVAGENT","Files collected",{count:d.length}),{directory:n,excludePatterns:i,isIncremental:s,agentId:a,allFiles:d,deletedEntityIds:[]}}async function _(e){if(!e.isIncremental||e.allFiles.length===0)return null;let i=await(await d()).getAllIndexedFiles();if(i.size===0)return {changedFiles:[],newFiles:e.allFiles,deletedFiles:[],unchangedFiles:[]};let s=[],a=[],r=[];for(let o of e.allFiles){let f=o.replace(/\\/g,"/"),g=i.get(f);if(g===void 0)a.push(o);else try{statSync(o).mtimeMs>g?s.push(o):r.push(o);}catch{r.push(o);}}let d$1=new Set(e.allFiles.map(o=>o.replace(/\\/g,"/"))),c=[];for(let[o]of i)d$1.has(o)||c.push(o);return I.i("DEVAGENT","Smart incremental analysis",{total:e.allFiles.length,changed:s.length,new:a.length,deleted:c.length,unchanged:r.length}),{changedFiles:s,newFiles:a,deletedFiles:c,unchangedFiles:r}}async function T(e){if(e.length===0)return [];I.i("DEVAGENT","Invalidating deleted files",{fileCount:e.length});let n=await d(),i=[];for(let s of e)try{let a=await n.deleteEntitiesByFilePath(s);i.push(...a),await n.deleteFileInfo(s);}catch(a$1){let r=a(a$1);I.w("DEVAGENT","Failed to invalidate file",{file:s,error:r.message,stack:r.stack});}return I.i("DEVAGENT","Files invalidated",{entityCount:i.length}),i}async function $(e,n){let i=[...n.changedFiles,...n.deletedFiles],s=await T(i),a=[...n.changedFiles,...n.newFiles];return I.i("DEVAGENT","Files to process after analysis",{toProcess:a.length,entitiesDeleted:s.length}),a.length===0&&I.i("DEVAGENT","No files changed, skipping indexing"),{...e,allFiles:a,deletedEntityIds:s}}function v(e$1){let n=[],i=[],{extname:s}=a$1("path"),{isCodeExtension:a}=(e(),f$1(d$1));for(let r of e$1){let d=s(r).toLowerCase();a(d)?n.push(r):i.push(r);}return I.i("DEVAGENT","Files separated",{codeFiles:n.length,dataFiles:i.length}),{codeFiles:n,dataFiles:i}}async function L(){let e=await d(),n=await e.getAllEntities();if(!n.some(s=>s.metadata?.swaggerType))return 0;I.i("DEVAGENT","swagger_link_start",{totalEntities:n.length});try{let{analyzeSwaggerCodeLinks:s,buildSwaggerRelationships:a}=await import('./swagger-code-linker-2ZCSRI2C.js'),r=s(n);if(r.producers.length+r.consumers.length+r.generatedTypes.length===0)return I.i("DEVAGENT","swagger_link_none"),0;let c=a(r),{nanoid:o}=await import('nanoid'),f=c.map(t=>({id:o(12),fromId:`swagger:${t.fromName}`,toId:`swagger:${t.toName}`,type:t.type,metadata:{...t.metadata,fromFile:t.fromFile,toFile:t.toFile}})),g=new Map;for(let t of n)g.set(t.name,t.id),g.set(`${t.filePath}:${t.name}`,t.id);for(let t of f){let p=t.fromId.replace("swagger:",""),F=t.toId.replace("swagger:",""),E=t.metadata?.fromFile,x=t.metadata?.toFile;if(E){let u=`${E}:${p}`;g.has(u)&&(t.fromId=g.get(u));}if(t.fromId.startsWith("swagger:")&&g.has(p)&&(t.fromId=g.get(p)),x){let u=`${x}:${F}`;g.has(u)&&(t.toId=g.get(u));}t.toId.startsWith("swagger:")&&g.has(F)&&(t.toId=g.get(F));}let h=await e.insertRelationships(f);return I.i("DEVAGENT","swagger_link_done",{producers:r.producers.length,consumers:r.consumers.length,generatedTypes:r.generatedTypes.length,relationshipsCreated:h.processed,configs:r.codegenConfigs}),h.processed}catch(s){return I.w("DEVAGENT","swagger_link_error",{error:s.message}),0}}function z(e){return e.isIncremental&&e.allFiles.length>0}function M(e,n,i,s){return {filesProcessed:n,entitiesExtracted:i,relationshipsCreated:s,totalFiles:e.allFiles.length,deletedEntities:e.deletedEntityIds.length}}export{$ as applyChangeAnalysis,M as buildIndexingResult,T as cleanStaleEntities,_ as detectChangedFiles,R as initializeIndexing,L as resolveSwaggerLinks,v as separateCodeAndDataFiles,z as shouldUseIncrementalMode};
|