@roarpeng/graphflow 1.15.1 → 1.15.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.
@@ -0,0 +1,512 @@
1
+ "use strict";
2
+ /**
3
+ * Shared context-packaging core.
4
+ *
5
+ * `buildLayeredContextPackage` and `buildEnhancedContextPackage` used to
6
+ * duplicate retrieval + L1/L2/L3 quota packing (~60% overlap). Both public
7
+ * functions keep their signatures and extras; this module owns the common
8
+ * recall/pack steps so behavior stays identical.
9
+ */
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ exports.isPinnedL3Node = isPinnedL3Node;
12
+ exports.createPackState = createPackState;
13
+ exports.toLayeredPackage = toLayeredPackage;
14
+ exports.expandSubgraph = expandSubgraph;
15
+ exports.vectorRecall = vectorRecall;
16
+ exports.collectKeywordHits = collectKeywordHits;
17
+ exports.fuseVectorRecallIfEnabled = fuseVectorRecallIfEnabled;
18
+ exports.preparePackageHits = preparePackageHits;
19
+ exports.tryAppendL3Node = tryAppendL3Node;
20
+ exports.packPrimaryHits = packPrimaryHits;
21
+ exports.injectL2Modules = injectL2Modules;
22
+ exports.injectL3SkillsAndPins = injectL3SkillsAndPins;
23
+ exports.injectDialogueTurns = injectDialogueTurns;
24
+ exports.injectSameFileAndImportExpansion = injectSameFileAndImportExpansion;
25
+ exports.injectNeighborExpansion = injectNeighborExpansion;
26
+ const logger_js_1 = require("../utils/logger.js");
27
+ const embeddings_js_1 = require("../learning/embeddings.js");
28
+ const graph_utils_js_1 = require("./graph-utils.js");
29
+ const query_expand_js_1 = require("./query-expand.js");
30
+ const hit_diversify_js_1 = require("./hit-diversify.js");
31
+ const symbol_extract_js_1 = require("./symbol-extract.js");
32
+ const context_slicer_utils_js_1 = require("./context-slicer-utils.js");
33
+ const context_slicer_types_js_1 = require("./context-slicer-types.js");
34
+ const L3_PIN_HINT = /alignment|deviation|goal/i;
35
+ /** Max matched dialogue turns packed per preview (after effective-turns filter). */
36
+ const DIALOGUE_PACK_MAX_TURNS = 3;
37
+ /**
38
+ * Governance pins for L3: Decision/goal nodes that packing must prefer so
39
+ * budget truncation cannot drop alignment / deviation / goal constraints.
40
+ */
41
+ function isPinnedL3Node(node) {
42
+ if (node.id.startsWith("goal:")) {
43
+ return true;
44
+ }
45
+ if (node.type !== "Decision") {
46
+ return false;
47
+ }
48
+ if (L3_PIN_HINT.test(node.content)) {
49
+ return true;
50
+ }
51
+ if (node.metadata && L3_PIN_HINT.test(JSON.stringify(node.metadata))) {
52
+ return true;
53
+ }
54
+ return false;
55
+ }
56
+ function createPackState(maxTokens, options, maxAnchors) {
57
+ const state = {
58
+ summaryChannel: [],
59
+ anchorChannel: [],
60
+ added: new Set(),
61
+ quota: {
62
+ l1: options?.layerQuota?.l1 ?? Number.POSITIVE_INFINITY,
63
+ l2: options?.layerQuota?.l2 ?? Number.POSITIVE_INFINITY,
64
+ l3: options?.layerQuota?.l3 ?? Number.POSITIVE_INFINITY,
65
+ },
66
+ used: { l1: 0, l2: 0, l3: 0 },
67
+ maxTokens,
68
+ };
69
+ if (maxAnchors !== undefined) {
70
+ state.maxAnchors = maxAnchors;
71
+ }
72
+ return state;
73
+ }
74
+ function toLayeredPackage(state, budget) {
75
+ return {
76
+ summaryChannel: state.summaryChannel,
77
+ anchorChannel: state.anchorChannel,
78
+ tokenEstimate: budget.tokens,
79
+ truncated: budget.truncated,
80
+ };
81
+ }
82
+ async function expandSubgraph(client, seedIds, options) {
83
+ if (typeof client.getNeighbors !== "function")
84
+ return [];
85
+ const hops = options?.hops ?? 1;
86
+ const maxNodes = options?.maxNodes ?? 20;
87
+ const relations = options?.relations ?? context_slicer_types_js_1.DEFAULT_EXPANSION_RELATIONS;
88
+ const excluded = new Set(seedIds);
89
+ const collected = new Map();
90
+ let frontier = [...seedIds];
91
+ for (let depth = 0; depth < hops; depth += 1) {
92
+ if (frontier.length === 0)
93
+ break;
94
+ const neighbors = await client.getNeighbors(frontier, relations, "both");
95
+ const nextFrontier = [];
96
+ for (const { node } of neighbors) {
97
+ if (excluded.has(node.id) || collected.has(node.id))
98
+ continue;
99
+ collected.set(node.id, node);
100
+ nextFrontier.push(node.id);
101
+ if (collected.size >= maxNodes)
102
+ break;
103
+ }
104
+ if (collected.size >= maxNodes)
105
+ break;
106
+ frontier = nextFrontier;
107
+ }
108
+ return Array.from(collected.values());
109
+ }
110
+ function vectorRecall(nodes, queryEmbedding, topK, minSimilarity) {
111
+ if (!queryEmbedding || queryEmbedding.length === 0)
112
+ return [];
113
+ const scored = [];
114
+ for (const node of nodes) {
115
+ const emb = (0, embeddings_js_1.extractEmbedding)(node);
116
+ if (!emb)
117
+ continue;
118
+ const sim = (0, embeddings_js_1.cosineSimilarity)(queryEmbedding, emb);
119
+ if (sim >= minSimilarity)
120
+ scored.push({ node, sim });
121
+ }
122
+ scored.sort((a, b) => b.sim - a.sim);
123
+ return scored.slice(0, topK).map((s) => s.node);
124
+ }
125
+ function collectVectorRecallCandidates(client, keywordHits, enableFullGraphVectorRecall) {
126
+ if (!enableFullGraphVectorRecall) {
127
+ return keywordHits;
128
+ }
129
+ const byId = new Map();
130
+ for (const hit of keywordHits) {
131
+ if ((0, embeddings_js_1.extractEmbedding)(hit)) {
132
+ byId.set(hit.id, hit);
133
+ }
134
+ }
135
+ const snapshot = client.readSnapshot?.();
136
+ if (!snapshot) {
137
+ return keywordHits;
138
+ }
139
+ for (const node of snapshot.nodes) {
140
+ if ((0, embeddings_js_1.extractEmbedding)(node)) {
141
+ byId.set(node.id, node);
142
+ }
143
+ }
144
+ return byId.size > 0 ? Array.from(byId.values()) : keywordHits;
145
+ }
146
+ async function hnswVectorRecall(nodes, queryEmbedding, topK, minSimilarity, hnswIndexPath) {
147
+ const { getSharedVectorIndex } = await import("../learning/hnsw-index.js");
148
+ const { index } = getSharedVectorIndex(nodes, hnswIndexPath);
149
+ const results = await index.search(queryEmbedding, topK, minSimilarity);
150
+ return results.map((result) => result.node);
151
+ }
152
+ async function collectKeywordHits(client, query, options) {
153
+ return (0, query_expand_js_1.collectExpandedKeywordHits)(client, query, options?.workspaceRoot, options?.englishQuery);
154
+ }
155
+ /**
156
+ * Fuse keyword hits with vector recall when enabled.
157
+ * Returns `null` when vector recall is off so callers keep their current hit list
158
+ * (enhanced may have already applied symbol boosting).
159
+ * On failure, returns the original keyword hits (same reset both builders used).
160
+ */
161
+ async function fuseVectorRecallIfEnabled(client, query, keywordHits, options, logLabel) {
162
+ if (options?.enableVectorRecall !== true || !options.embeddingProvider) {
163
+ return null;
164
+ }
165
+ try {
166
+ const queryEmbedding = await options.embeddingProvider.embed(query);
167
+ const topK = options.vectorTopK ?? 8;
168
+ const minSim = options.vectorMinSimilarity ?? 0.05;
169
+ const vectorCandidates = collectVectorRecallCandidates(client, keywordHits, options.enableFullGraphVectorRecall === true);
170
+ const vectorHits = await hnswVectorRecall(vectorCandidates, queryEmbedding, topK, minSim, options.hnswIndexPath);
171
+ return (0, embeddings_js_1.reciprocalRankFusion)([keywordHits, vectorHits]);
172
+ }
173
+ catch (error) {
174
+ logger_js_1.logger.warn({ error }, `Vector recall failed in ${logLabel}`);
175
+ return keywordHits;
176
+ }
177
+ }
178
+ function preparePackageHits(hits, query, options, snapshotNodes) {
179
+ return (0, hit_diversify_js_1.prepareHitsForPackaging)(hits, {
180
+ query,
181
+ ...(options?.englishQuery !== undefined ? { englishQuery: options.englishQuery } : {}),
182
+ ...(snapshotNodes !== undefined ? { allNodes: snapshotNodes } : {}),
183
+ });
184
+ }
185
+ function atAnchorCap(state) {
186
+ return state.maxAnchors !== undefined && state.anchorChannel.length >= state.maxAnchors;
187
+ }
188
+ function tryAppendL3Node(node, state, budget) {
189
+ if (atAnchorCap(state)) {
190
+ return "skip";
191
+ }
192
+ if (state.added.has(node.id)) {
193
+ return "skip";
194
+ }
195
+ if (!(0, context_slicer_utils_js_1.canUseLayer)("L3", state.quota, state.used)) {
196
+ return "skip";
197
+ }
198
+ const summary = `${node.type}: ${node.content}`;
199
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
200
+ if (budget.tokens + estimate > state.maxTokens) {
201
+ budget.truncated = true;
202
+ return "budget";
203
+ }
204
+ state.summaryChannel.push(summary);
205
+ state.anchorChannel.push({ id: node.id, type: node.type, layer: "L3" });
206
+ state.added.add(node.id);
207
+ budget.tokens += estimate;
208
+ (0, context_slicer_utils_js_1.markLayerUsed)("L3", state.used);
209
+ return "packed";
210
+ }
211
+ function collectPinnedL3Nodes(ranked, snapshotNodes, added) {
212
+ const pins = [];
213
+ const seen = new Set();
214
+ const consider = (node) => {
215
+ if (added.has(node.id) || seen.has(node.id) || !isPinnedL3Node(node)) {
216
+ return;
217
+ }
218
+ seen.add(node.id);
219
+ pins.push(node);
220
+ };
221
+ for (const node of ranked)
222
+ consider(node);
223
+ if (snapshotNodes) {
224
+ for (const node of snapshotNodes)
225
+ consider(node);
226
+ }
227
+ return pins;
228
+ }
229
+ function packPrimaryHits(hits, state, budget) {
230
+ for (const hit of hits) {
231
+ if (atAnchorCap(state)) {
232
+ budget.truncated = true;
233
+ break;
234
+ }
235
+ const layer = (0, context_slicer_utils_js_1.classifyLayer)(hit);
236
+ if (!(0, context_slicer_utils_js_1.canUseLayer)(layer, state.quota, state.used)) {
237
+ continue;
238
+ }
239
+ const summary = `${hit.type}: ${hit.content}`;
240
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
241
+ if (budget.tokens + estimate > state.maxTokens) {
242
+ budget.truncated = true;
243
+ break;
244
+ }
245
+ state.summaryChannel.push(summary);
246
+ state.anchorChannel.push({ id: hit.id, type: hit.type, layer });
247
+ state.added.add(hit.id);
248
+ budget.tokens += estimate;
249
+ (0, context_slicer_utils_js_1.markLayerUsed)(layer, state.used);
250
+ }
251
+ }
252
+ async function injectL2Modules(client, hits, state, budget, duplicatePolicy) {
253
+ if (budget.truncated || atAnchorCap(state)) {
254
+ return;
255
+ }
256
+ const hitById = new Map();
257
+ for (const hit of hits) {
258
+ hitById.set(hit.id, hit);
259
+ }
260
+ const moduleIds = new Set();
261
+ for (const anchor of state.anchorChannel) {
262
+ if (anchor.layer !== "L1" || (anchor.type !== "File" && anchor.type !== "Symbol")) {
263
+ continue;
264
+ }
265
+ const moduleId = (0, context_slicer_utils_js_1.deriveModuleId)(anchor, hitById.get(anchor.id));
266
+ if (moduleId) {
267
+ moduleIds.add(moduleId);
268
+ }
269
+ }
270
+ let moduleNodes = [];
271
+ if (moduleIds.size > 0 && typeof client.getNodesByIds === "function") {
272
+ moduleNodes = await client.getNodesByIds(Array.from(moduleIds));
273
+ }
274
+ for (const moduleId of moduleIds) {
275
+ if (state.added.has(moduleId)) {
276
+ if (duplicatePolicy === "break") {
277
+ break;
278
+ }
279
+ continue;
280
+ }
281
+ if (atAnchorCap(state)) {
282
+ break;
283
+ }
284
+ if (!(0, context_slicer_utils_js_1.canUseLayer)("L2", state.quota, state.used)) {
285
+ break;
286
+ }
287
+ const node = moduleNodes.find((n) => n.id === moduleId) ??
288
+ ({ id: moduleId, type: "Module", content: moduleId.slice("module:".length) });
289
+ const summary = `${node.type}: ${node.content}`;
290
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
291
+ if (budget.tokens + estimate > state.maxTokens) {
292
+ budget.truncated = true;
293
+ break;
294
+ }
295
+ state.summaryChannel.push(summary);
296
+ state.anchorChannel.push({ id: node.id, type: node.type, layer: "L2" });
297
+ state.added.add(node.id);
298
+ budget.tokens += estimate;
299
+ (0, context_slicer_utils_js_1.markLayerUsed)("L2", state.used);
300
+ }
301
+ }
302
+ async function injectL3SkillsAndPins(client, query, options, snapshotNodes, state, budget) {
303
+ if (atAnchorCap(state)) {
304
+ return;
305
+ }
306
+ const archIntent = context_slicer_types_js_1.ARCHITECTURE_QUERY.test((0, graph_utils_js_1.composeContextQuery)(query, options?.englishQuery));
307
+ if (!(options?.enableAlwaysOnLayers || archIntent)) {
308
+ return;
309
+ }
310
+ const l3Candidates = (0, graph_utils_js_1.rankNodesForContextQuery)((await client.queryByKeyword(query)).filter((n) => n.type === "Skill" || n.type === "Decision"), query, {
311
+ scoreTokens: (0, graph_utils_js_1.buildSearchScoreTokens)(query, options?.englishQuery),
312
+ matchQueries: options?.englishQuery?.trim() ? [query, options.englishQuery.trim()] : [query],
313
+ ...(options?.englishQuery !== undefined ? { englishQuery: options.englishQuery } : {}),
314
+ });
315
+ const pins = collectPinnedL3Nodes(l3Candidates, snapshotNodes, state.added);
316
+ for (const node of pins) {
317
+ if (tryAppendL3Node(node, state, budget) === "budget")
318
+ break;
319
+ }
320
+ if (budget.truncated) {
321
+ return;
322
+ }
323
+ let l3Added = pins.filter((n) => state.added.has(n.id)).length;
324
+ for (const node of l3Candidates) {
325
+ if (l3Added >= 2 || atAnchorCap(state))
326
+ break;
327
+ if (isPinnedL3Node(node))
328
+ continue;
329
+ const result = tryAppendL3Node(node, state, budget);
330
+ if (result === "budget")
331
+ break;
332
+ if (result === "packed")
333
+ l3Added += 1;
334
+ }
335
+ }
336
+ async function collectDialogueContextLines(client, query, options) {
337
+ try {
338
+ const { listDialogueTurns, effectiveTurns, formatSupersessionLine } = await import("../learning/dialogue-thread.js");
339
+ const allTurns = await listDialogueTurns(client, { limit: 60 });
340
+ const turns = effectiveTurns(allTurns);
341
+ if (turns.length === 0)
342
+ return [];
343
+ const scoreTokens = (0, graph_utils_js_1.buildSearchScoreTokens)(query, options?.englishQuery);
344
+ if (scoreTokens.length === 0)
345
+ return [];
346
+ const tokenSet = new Set(scoreTokens.map((t) => t.toLowerCase()));
347
+ const scored = turns
348
+ .map((turn) => {
349
+ const haystack = `${turn.userQuery} ${turn.title ?? ""} ${turn.summary ?? ""}`.toLowerCase();
350
+ let hits = 0;
351
+ for (const token of tokenSet) {
352
+ if (haystack.includes(token))
353
+ hits += 1;
354
+ }
355
+ return { turn, hits };
356
+ })
357
+ .filter((s) => s.hits > 0)
358
+ .sort((a, b) => b.hits - a.hits || b.turn.updatedAt - a.turn.updatedAt)
359
+ .slice(0, DIALOGUE_PACK_MAX_TURNS);
360
+ if (scored.length === 0)
361
+ return [];
362
+ const byId = new Map(allTurns.map((t) => [t.id, t]));
363
+ const lines = [];
364
+ for (const { turn } of scored) {
365
+ const correctionTargets = (turn.supersedesTurnIds ?? [])
366
+ .map((id) => byId.get(id))
367
+ .filter((t) => Boolean(t));
368
+ const correctionLine = correctionTargets.length > 0
369
+ ? formatSupersessionLine(correctionTargets[correctionTargets.length - 1], turn)
370
+ : undefined;
371
+ lines.push({
372
+ kind: "turn",
373
+ text: turn.title ?? turn.userQuery,
374
+ node: {
375
+ id: turn.id,
376
+ type: "Decision",
377
+ content: `dialogue-turn #${turn.seq} Q: ${turn.userQuery}`,
378
+ metadata: { kind: "dialogue-turn", record: JSON.stringify(turn) },
379
+ },
380
+ ...(correctionLine ? { correctionLine } : {}),
381
+ });
382
+ }
383
+ return lines;
384
+ }
385
+ catch {
386
+ return [];
387
+ }
388
+ }
389
+ async function injectDialogueTurns(client, query, options, state, budget) {
390
+ if (budget.truncated) {
391
+ return;
392
+ }
393
+ const dialogueLines = await collectDialogueContextLines(client, query, options);
394
+ for (const line of dialogueLines) {
395
+ if (line.kind === "summary") {
396
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(line.text);
397
+ if (budget.tokens + estimate > state.maxTokens) {
398
+ budget.truncated = true;
399
+ break;
400
+ }
401
+ budget.tokens += estimate;
402
+ }
403
+ else if (line.kind === "turn" && line.node) {
404
+ if (tryAppendL3Node(line.node, state, budget) === "budget") {
405
+ break;
406
+ }
407
+ if (line.correctionLine) {
408
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(line.correctionLine);
409
+ if (budget.tokens + estimate > state.maxTokens) {
410
+ budget.truncated = true;
411
+ break;
412
+ }
413
+ state.summaryChannel.push(line.correctionLine);
414
+ budget.tokens += estimate;
415
+ }
416
+ }
417
+ }
418
+ }
419
+ async function injectSameFileAndImportExpansion(client, snapshotNodes, state, budget) {
420
+ if (budget.truncated || atAnchorCap(state)) {
421
+ return;
422
+ }
423
+ const seedFilePaths = [];
424
+ for (const anchor of state.anchorChannel) {
425
+ if (anchor.type === "File" && anchor.id.startsWith("file:")) {
426
+ seedFilePaths.push(anchor.id.slice("file:".length));
427
+ }
428
+ else if (anchor.type === "Symbol") {
429
+ const fp = (0, context_slicer_utils_js_1.extractFileFromSymbolId)(anchor.id);
430
+ if (fp)
431
+ seedFilePaths.push(fp);
432
+ }
433
+ }
434
+ if (seedFilePaths.length > 0 && snapshotNodes) {
435
+ for (const node of snapshotNodes) {
436
+ if (state.added.has(node.id) || atAnchorCap(state))
437
+ continue;
438
+ if (node.type !== "Symbol")
439
+ continue;
440
+ const nodeFile = (0, context_slicer_utils_js_1.extractFileFromSymbolId)(node.id);
441
+ if (!nodeFile)
442
+ continue;
443
+ const inSeedFile = seedFilePaths.some((sp) => nodeFile.includes(sp.replace(/\.(ts|tsx|js|jsx|py|go|rs)$/, "")) ||
444
+ sp
445
+ .replace(/\.(ts|tsx|js|jsx|py|go|rs)$/, "")
446
+ .includes(nodeFile.replace(/\.(ts|tsx|js|jsx|py|go|rs)$/, "")));
447
+ if (!inSeedFile)
448
+ continue;
449
+ const layer = (0, context_slicer_utils_js_1.classifyLayer)(node);
450
+ const summary = `${node.type}: ${node.content}`;
451
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
452
+ if (budget.tokens + estimate > state.maxTokens) {
453
+ budget.truncated = true;
454
+ break;
455
+ }
456
+ state.summaryChannel.push(summary);
457
+ state.anchorChannel.push({ id: node.id, type: node.type, layer });
458
+ state.added.add(node.id);
459
+ budget.tokens += estimate;
460
+ (0, context_slicer_utils_js_1.markLayerUsed)(layer, state.used);
461
+ }
462
+ }
463
+ if (seedFilePaths.length > 0 && !atAnchorCap(state)) {
464
+ const importHits = await (0, symbol_extract_js_1.collectImportRelatedFiles)(client, seedFilePaths, 5);
465
+ for (const node of importHits) {
466
+ if (state.added.has(node.id) || atAnchorCap(state))
467
+ continue;
468
+ const layer = (0, context_slicer_utils_js_1.classifyLayer)(node);
469
+ const summary = `${node.type}: ${node.content}`;
470
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
471
+ if (budget.tokens + estimate > state.maxTokens) {
472
+ budget.truncated = true;
473
+ break;
474
+ }
475
+ state.summaryChannel.push(summary);
476
+ state.anchorChannel.push({ id: node.id, type: node.type, layer });
477
+ state.added.add(node.id);
478
+ budget.tokens += estimate;
479
+ (0, context_slicer_utils_js_1.markLayerUsed)(layer, state.used);
480
+ }
481
+ }
482
+ }
483
+ async function injectNeighborExpansion(client, options, state, budget) {
484
+ const enableExpansion = options?.enableEdgeExpansion !== false;
485
+ if (!enableExpansion || budget.truncated || atAnchorCap(state) || typeof client.getNeighbors !== "function") {
486
+ return;
487
+ }
488
+ const seedIds = state.anchorChannel.slice(0, 5).map((a) => a.id);
489
+ if (seedIds.length === 0) {
490
+ return;
491
+ }
492
+ const expanded = await expandSubgraph(client, seedIds, { hops: 1 });
493
+ for (const node of expanded) {
494
+ if (state.added.has(node.id) || atAnchorCap(state))
495
+ continue;
496
+ const layer = (0, context_slicer_utils_js_1.classifyLayer)(node);
497
+ if (!(0, context_slicer_utils_js_1.canUseLayer)(layer, state.quota, state.used))
498
+ continue;
499
+ const summary = `${node.type}: ${node.content}`;
500
+ const estimate = (0, context_slicer_utils_js_1.estimateTokens)(summary);
501
+ if (budget.tokens + estimate > state.maxTokens) {
502
+ budget.truncated = true;
503
+ break;
504
+ }
505
+ state.summaryChannel.push(summary);
506
+ state.anchorChannel.push({ id: node.id, type: node.type, layer });
507
+ state.added.add(node.id);
508
+ budget.tokens += estimate;
509
+ (0, context_slicer_utils_js_1.markLayerUsed)(layer, state.used);
510
+ }
511
+ }
512
+ //# sourceMappingURL=context-package-core.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context-package-core.js","sourceRoot":"","sources":["../../src/graph/context-package-core.ts"],"names":[],"mappings":"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"}
@@ -1,20 +1,14 @@
1
- import type { GraphNode } from "../core/types.js";
2
1
  import type { GraphClient } from "./client-factory.js";
2
+ import type { LayeredContextPackage, LayeredPackageOptions } from "./context-slicer-types.js";
3
+ import { expandSubgraph, isPinnedL3Node, vectorRecall } from "./context-package-core.js";
3
4
  export type { ContextSlice, ContextLayer, ContextAnchorItem, LayeredContextPackage, LayeredPackageOptions, SubgraphExpansionOptions, ContextRefillManager, L3PinKind, } from "./context-slicer-types.js";
4
5
  export { DEFAULT_EXPANSION_RELATIONS, ARCHITECTURE_QUERY, } from "./context-slicer-types.js";
5
- /**
6
- * Governance pins for L3: Decision/goal nodes that packing must prefer so
7
- * budget truncation cannot drop alignment / deviation / goal constraints.
8
- */
9
- export declare function isPinnedL3Node(node: GraphNode): boolean;
6
+ export { isPinnedL3Node, expandSubgraph, vectorRecall };
10
7
  export { getEncoder, estimateTokens, summarizeNodes, classifyLayer, canUseLayer, markLayerUsed, modulePathKey, deriveModuleId, extractFileFromSymbolId, } from "./context-slicer-utils.js";
11
8
  export { diversifyHitsBySourceFile, expandSiblingDirectoryHits, hasModuleFamilyIntent, prepareHitsForPackaging, DEFAULT_MAX_SYMBOLS_PER_FILE, DEFAULT_MAX_SIBLING_FILES, } from "./hit-diversify.js";
12
- import type { ContextSlice, LayeredContextPackage, LayeredPackageOptions, SubgraphExpansionOptions, ContextRefillManager } from "./context-slicer-types.js";
13
- export declare function expandSubgraph(client: GraphClient, seedIds: string[], options?: SubgraphExpansionOptions): Promise<GraphNode[]>;
14
- export declare function buildContextSlice(client: GraphClient, query: string, maxTokens: number): Promise<ContextSlice>;
15
- export declare function vectorRecall(nodes: GraphNode[], queryEmbedding: number[], topK: number, minSimilarity: number): GraphNode[];
9
+ export declare function buildContextSlice(client: GraphClient, query: string, maxTokens: number): Promise<import("./context-slicer-types.js").ContextSlice>;
16
10
  export declare function buildLayeredContextPackage(client: GraphClient, query: string, maxTokens: number, options?: LayeredPackageOptions): Promise<LayeredContextPackage>;
17
- export declare function createContextRefillManager(client: GraphClient, maxTokens: number, options?: LayeredPackageOptions): ContextRefillManager;
11
+ export declare function createContextRefillManager(client: GraphClient, maxTokens: number, options?: LayeredPackageOptions): import("./context-slicer-types.js").ContextRefillManager;
18
12
  /**
19
13
  * Enhanced context packaging with graph-structure compression and adaptive budgeting.
20
14
  *
@@ -24,6 +18,8 @@ export declare function createContextRefillManager(client: GraphClient, maxToken
24
18
  * 3. Graph compression: connected subgraph + PageRank re-ranking
25
19
  * 4. Layer quotas + token budgeting
26
20
  * 5. Edge expansion
21
+ *
22
+ * Shared recall/pack steps live in `context-package-core` (same as layered).
27
23
  */
28
24
  export declare function buildEnhancedContextPackage(client: GraphClient, query: string, task: string, maxTokens: number, options?: LayeredPackageOptions): Promise<LayeredContextPackage>;
29
25
  //# sourceMappingURL=context-slicer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAMlD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAcvD,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAInC;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO,CAcvD;AA+ID,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAa5B,OAAO,KAAK,EACV,YAAY,EAEZ,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACrB,MAAM,2BAA2B,CAAC;AAGnC,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,CAAC,EAAE,wBAAwB,GACjC,OAAO,CAAC,SAAS,EAAE,CAAC,CAyBtB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC,CAGvB;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,cAAc,EAAE,MAAM,EAAE,EACxB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,MAAM,GACpB,SAAS,EAAE,CAWb;AA+CD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAgNhC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,oBAAoB,CAsCtB;AAED;;;;;;;;;GASG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAyRhC"}
1
+ {"version":3,"file":"context-slicer.d.ts","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,EAGL,cAAc,EAOd,cAAc,EAId,YAAY,EACb,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,EACpB,SAAS,GACV,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;AAGxD,OAAO,EACL,UAAU,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,WAAW,EACX,aAAa,EACb,aAAa,EACb,cAAc,EACd,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,uBAAuB,EACvB,4BAA4B,EAC5B,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,OAAO,2BAA2B,EAAE,YAAY,CAAC,CAG3D;AAED,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAyBhC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,2BAA2B,EAAE,oBAAoB,CAsC1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,qBAAqB,CAAC,CAsFhC"}