@roarpeng/graphflow 1.1.0 → 1.3.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.
Files changed (153) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +49 -3
  3. package/dist/agents/insight.js +5 -3
  4. package/dist/agents/insight.js.map +1 -1
  5. package/dist/agents/planner.d.ts.map +1 -1
  6. package/dist/agents/planner.js +7 -2
  7. package/dist/agents/planner.js.map +1 -1
  8. package/dist/config/defaults.d.ts.map +1 -1
  9. package/dist/config/defaults.js +1 -0
  10. package/dist/config/defaults.js.map +1 -1
  11. package/dist/config/embedding-factory.d.ts.map +1 -1
  12. package/dist/config/embedding-factory.js +23 -12
  13. package/dist/config/embedding-factory.js.map +1 -1
  14. package/dist/config/loader.d.ts +11 -0
  15. package/dist/config/loader.d.ts.map +1 -1
  16. package/dist/config/loader.js +103 -0
  17. package/dist/config/loader.js.map +1 -1
  18. package/dist/core/agent-assignment.d.ts +39 -0
  19. package/dist/core/agent-assignment.d.ts.map +1 -0
  20. package/dist/core/agent-assignment.js +73 -0
  21. package/dist/core/agent-assignment.js.map +1 -0
  22. package/dist/core/agent-delegation.d.ts +1 -0
  23. package/dist/core/agent-delegation.d.ts.map +1 -1
  24. package/dist/core/agent-delegation.js +30 -1
  25. package/dist/core/agent-delegation.js.map +1 -1
  26. package/dist/core/dag-checkpoint.d.ts +83 -0
  27. package/dist/core/dag-checkpoint.d.ts.map +1 -0
  28. package/dist/core/dag-checkpoint.js +164 -0
  29. package/dist/core/dag-checkpoint.js.map +1 -0
  30. package/dist/core/dag-engine.d.ts +9 -0
  31. package/dist/core/dag-engine.d.ts.map +1 -1
  32. package/dist/core/dag-engine.js +42 -0
  33. package/dist/core/dag-engine.js.map +1 -1
  34. package/dist/core/merge-agent-insight.d.ts.map +1 -1
  35. package/dist/core/merge-agent-insight.js +39 -8
  36. package/dist/core/merge-agent-insight.js.map +1 -1
  37. package/dist/core/orchestrator-context.d.ts +10 -0
  38. package/dist/core/orchestrator-context.d.ts.map +1 -0
  39. package/dist/core/orchestrator-context.js +112 -0
  40. package/dist/core/orchestrator-context.js.map +1 -0
  41. package/dist/core/orchestrator-episode.d.ts +13 -0
  42. package/dist/core/orchestrator-episode.d.ts.map +1 -0
  43. package/dist/core/orchestrator-episode.js +128 -0
  44. package/dist/core/orchestrator-episode.js.map +1 -0
  45. package/dist/core/orchestrator-route.d.ts +20 -0
  46. package/dist/core/orchestrator-route.d.ts.map +1 -0
  47. package/dist/core/orchestrator-route.js +51 -0
  48. package/dist/core/orchestrator-route.js.map +1 -0
  49. package/dist/core/orchestrator.d.ts +2 -38
  50. package/dist/core/orchestrator.d.ts.map +1 -1
  51. package/dist/core/orchestrator.js +97 -286
  52. package/dist/core/orchestrator.js.map +1 -1
  53. package/dist/core/triage.d.ts +21 -0
  54. package/dist/core/triage.d.ts.map +1 -1
  55. package/dist/core/triage.js +25 -6
  56. package/dist/core/triage.js.map +1 -1
  57. package/dist/core/types.d.ts +53 -0
  58. package/dist/core/types.d.ts.map +1 -1
  59. package/dist/graph/context-slicer-types.d.ts +62 -0
  60. package/dist/graph/context-slicer-types.d.ts.map +1 -0
  61. package/dist/graph/context-slicer-types.js +13 -0
  62. package/dist/graph/context-slicer-types.js.map +1 -0
  63. package/dist/graph/context-slicer-utils.d.ts +24 -0
  64. package/dist/graph/context-slicer-utils.d.ts.map +1 -0
  65. package/dist/graph/context-slicer-utils.js +118 -0
  66. package/dist/graph/context-slicer-utils.js.map +1 -0
  67. package/dist/graph/context-slicer.d.ts +6 -61
  68. package/dist/graph/context-slicer.d.ts.map +1 -1
  69. package/dist/graph/context-slicer.js +73 -170
  70. package/dist/graph/context-slicer.js.map +1 -1
  71. package/dist/graph/file-indexer-cache.d.ts +34 -0
  72. package/dist/graph/file-indexer-cache.d.ts.map +1 -0
  73. package/dist/graph/file-indexer-cache.js +105 -0
  74. package/dist/graph/file-indexer-cache.js.map +1 -0
  75. package/dist/graph/file-indexer-edges.d.ts +55 -0
  76. package/dist/graph/file-indexer-edges.d.ts.map +1 -0
  77. package/dist/graph/file-indexer-edges.js +258 -0
  78. package/dist/graph/file-indexer-edges.js.map +1 -0
  79. package/dist/graph/file-indexer-nodes.d.ts +43 -0
  80. package/dist/graph/file-indexer-nodes.d.ts.map +1 -0
  81. package/dist/graph/file-indexer-nodes.js +137 -0
  82. package/dist/graph/file-indexer-nodes.js.map +1 -0
  83. package/dist/graph/file-indexer-walker.d.ts +35 -0
  84. package/dist/graph/file-indexer-walker.d.ts.map +1 -0
  85. package/dist/graph/file-indexer-walker.js +80 -0
  86. package/dist/graph/file-indexer-walker.js.map +1 -0
  87. package/dist/graph/file-indexer.d.ts +13 -39
  88. package/dist/graph/file-indexer.d.ts.map +1 -1
  89. package/dist/graph/file-indexer.js +167 -600
  90. package/dist/graph/file-indexer.js.map +1 -1
  91. package/dist/index.d.ts +1 -1
  92. package/dist/index.d.ts.map +1 -1
  93. package/dist/index.js +2 -1
  94. package/dist/index.js.map +1 -1
  95. package/dist/integrations/agent-mcp-installer.d.ts +25 -1
  96. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  97. package/dist/integrations/agent-mcp-installer.js +174 -13
  98. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  99. package/dist/integrations/skill-installer.d.ts +80 -0
  100. package/dist/integrations/skill-installer.d.ts.map +1 -0
  101. package/dist/integrations/skill-installer.js +612 -0
  102. package/dist/integrations/skill-installer.js.map +1 -0
  103. package/dist/learning/embeddings.d.ts +11 -0
  104. package/dist/learning/embeddings.d.ts.map +1 -1
  105. package/dist/learning/embeddings.js +24 -0
  106. package/dist/learning/embeddings.js.map +1 -1
  107. package/dist/learning/episodic-memory.d.ts +3 -2
  108. package/dist/learning/episodic-memory.d.ts.map +1 -1
  109. package/dist/learning/episodic-memory.js +105 -10
  110. package/dist/learning/episodic-memory.js.map +1 -1
  111. package/dist/learning/local-embedding.d.ts.map +1 -1
  112. package/dist/learning/local-embedding.js +16 -0
  113. package/dist/learning/local-embedding.js.map +1 -1
  114. package/dist/learning/seed-skills.d.ts +21 -0
  115. package/dist/learning/seed-skills.d.ts.map +1 -0
  116. package/dist/learning/seed-skills.js +113 -0
  117. package/dist/learning/seed-skills.js.map +1 -0
  118. package/dist/learning/skill-evolution.d.ts +1 -1
  119. package/dist/learning/skill-evolution.d.ts.map +1 -1
  120. package/dist/learning/skill-evolution.js +1 -1
  121. package/dist/learning/skill-evolution.js.map +1 -1
  122. package/dist/learning/skill-package.d.ts +55 -0
  123. package/dist/learning/skill-package.d.ts.map +1 -0
  124. package/dist/learning/skill-package.js +115 -0
  125. package/dist/learning/skill-package.js.map +1 -0
  126. package/dist/learning/triage-telemetry.d.ts +43 -0
  127. package/dist/learning/triage-telemetry.d.ts.map +1 -0
  128. package/dist/learning/triage-telemetry.js +114 -0
  129. package/dist/learning/triage-telemetry.js.map +1 -0
  130. package/dist/surfaces/cli/index.js +74 -0
  131. package/dist/surfaces/cli/index.js.map +1 -1
  132. package/dist/surfaces/cli/init.d.ts +28 -2
  133. package/dist/surfaces/cli/init.d.ts.map +1 -1
  134. package/dist/surfaces/cli/init.js +163 -30
  135. package/dist/surfaces/cli/init.js.map +1 -1
  136. package/dist/surfaces/cli/output.d.ts.map +1 -1
  137. package/dist/surfaces/cli/output.js +6 -0
  138. package/dist/surfaces/cli/output.js.map +1 -1
  139. package/dist/surfaces/cli/runtime/graph.d.ts +23 -0
  140. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  141. package/dist/surfaces/cli/runtime/graph.js +40 -0
  142. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  143. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  144. package/dist/surfaces/cli/runtime/routing.js +8 -1
  145. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  146. package/dist/surfaces/cli/runtime.d.ts +1 -1
  147. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  148. package/dist/surfaces/cli/runtime.js +4 -1
  149. package/dist/surfaces/cli/runtime.js.map +1 -1
  150. package/dist/surfaces/mcp/tool-definitions.js +20 -20
  151. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  152. package/package.json +4 -3
  153. package/scripts/safe-postinstall.cjs +323 -5
@@ -1,65 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractFileFromSymbolId = exports.deriveModuleId = exports.modulePathKey = exports.markLayerUsed = exports.canUseLayer = exports.classifyLayer = exports.summarizeNodes = exports.estimateTokens = exports.getEncoder = exports.ARCHITECTURE_QUERY = exports.DEFAULT_EXPANSION_RELATIONS = void 0;
3
4
  exports.expandSubgraph = expandSubgraph;
4
5
  exports.buildContextSlice = buildContextSlice;
5
6
  exports.vectorRecall = vectorRecall;
6
7
  exports.buildLayeredContextPackage = buildLayeredContextPackage;
7
8
  exports.createContextRefillManager = createContextRefillManager;
8
- exports.summarizeNodes = summarizeNodes;
9
9
  exports.buildEnhancedContextPackage = buildEnhancedContextPackage;
10
- const logger_1 = require("../utils/logger");
11
- const embeddings_1 = require("../learning/embeddings");
12
- const graph_utils_1 = require("./graph-utils");
13
- const graph_compression_1 = require("./graph-compression");
14
- const repo_map_1 = require("./repo-map");
15
- const semantic_compression_1 = require("./semantic-compression");
16
- const adaptive_budget_1 = require("./adaptive-budget");
17
- let encoderFn = null;
18
- let encoderLoaded = false;
19
- function getEncoder() {
20
- if (encoderLoaded)
21
- return encoderFn;
22
- encoderLoaded = true;
23
- try {
24
- const mod = require("gpt-tokenizer/encoding/o200k_base");
25
- if (typeof mod.encode === "function") {
26
- encoderFn = mod.encode.bind(mod);
27
- return encoderFn;
28
- }
29
- }
30
- catch (error) {
31
- logger_1.logger.error({ error }, "Caught error");
32
- // fall through
33
- }
34
- try {
35
- const mod = require("gpt-tokenizer");
36
- if (typeof mod.encode === "function") {
37
- encoderFn = mod.encode.bind(mod);
38
- return encoderFn;
39
- }
40
- }
41
- catch (error) {
42
- logger_1.logger.error({ error }, "Caught error");
43
- // fall through
44
- }
45
- encoderFn = null;
46
- return null;
47
- }
48
- const DEFAULT_EXPANSION_RELATIONS = [
49
- "references",
50
- "imports",
51
- "depends_on",
52
- "prerequisite",
53
- "calls",
54
- "defines",
55
- ];
56
- const ARCHITECTURE_QUERY = /architecture|refactor|module|design|架构|模块/i;
10
+ const logger_js_1 = require("../utils/logger.js");
11
+ const embeddings_js_1 = require("../learning/embeddings.js");
12
+ const graph_utils_js_1 = require("./graph-utils.js");
13
+ const graph_compression_js_1 = require("./graph-compression.js");
14
+ const repo_map_js_1 = require("./repo-map.js");
15
+ const semantic_compression_js_1 = require("./semantic-compression.js");
16
+ const adaptive_budget_js_1 = require("./adaptive-budget.js");
17
+ var context_slicer_types_js_1 = require("./context-slicer-types.js");
18
+ Object.defineProperty(exports, "DEFAULT_EXPANSION_RELATIONS", { enumerable: true, get: function () { return context_slicer_types_js_1.DEFAULT_EXPANSION_RELATIONS; } });
19
+ Object.defineProperty(exports, "ARCHITECTURE_QUERY", { enumerable: true, get: function () { return context_slicer_types_js_1.ARCHITECTURE_QUERY; } });
20
+ // Re-export utility functions that were previously exported
21
+ var context_slicer_utils_js_1 = require("./context-slicer-utils.js");
22
+ Object.defineProperty(exports, "getEncoder", { enumerable: true, get: function () { return context_slicer_utils_js_1.getEncoder; } });
23
+ Object.defineProperty(exports, "estimateTokens", { enumerable: true, get: function () { return context_slicer_utils_js_1.estimateTokens; } });
24
+ Object.defineProperty(exports, "summarizeNodes", { enumerable: true, get: function () { return context_slicer_utils_js_1.summarizeNodes; } });
25
+ Object.defineProperty(exports, "classifyLayer", { enumerable: true, get: function () { return context_slicer_utils_js_1.classifyLayer; } });
26
+ Object.defineProperty(exports, "canUseLayer", { enumerable: true, get: function () { return context_slicer_utils_js_1.canUseLayer; } });
27
+ Object.defineProperty(exports, "markLayerUsed", { enumerable: true, get: function () { return context_slicer_utils_js_1.markLayerUsed; } });
28
+ Object.defineProperty(exports, "modulePathKey", { enumerable: true, get: function () { return context_slicer_utils_js_1.modulePathKey; } });
29
+ Object.defineProperty(exports, "deriveModuleId", { enumerable: true, get: function () { return context_slicer_utils_js_1.deriveModuleId; } });
30
+ Object.defineProperty(exports, "extractFileFromSymbolId", { enumerable: true, get: function () { return context_slicer_utils_js_1.extractFileFromSymbolId; } });
31
+ // Import internal helpers (not re-exported)
32
+ const context_slicer_utils_js_2 = require("./context-slicer-utils.js");
33
+ const context_slicer_types_js_2 = require("./context-slicer-types.js");
57
34
  async function expandSubgraph(client, seedIds, options) {
58
35
  if (typeof client.getNeighbors !== "function")
59
36
  return [];
60
37
  const hops = options?.hops ?? 1;
61
38
  const maxNodes = options?.maxNodes ?? 20;
62
- const relations = options?.relations ?? DEFAULT_EXPANSION_RELATIONS;
39
+ const relations = options?.relations ?? context_slicer_types_js_2.DEFAULT_EXPANSION_RELATIONS;
63
40
  const excluded = new Set(seedIds);
64
41
  const collected = new Map();
65
42
  let frontier = [...seedIds];
@@ -91,10 +68,10 @@ function vectorRecall(nodes, queryEmbedding, topK, minSimilarity) {
91
68
  return [];
92
69
  const scored = [];
93
70
  for (const node of nodes) {
94
- const emb = (0, embeddings_1.extractEmbedding)(node);
71
+ const emb = (0, embeddings_js_1.extractEmbedding)(node);
95
72
  if (!emb)
96
73
  continue;
97
- const sim = (0, embeddings_1.cosineSimilarity)(queryEmbedding, emb);
74
+ const sim = (0, embeddings_js_1.cosineSimilarity)(queryEmbedding, emb);
98
75
  if (sim >= minSimilarity)
99
76
  scored.push({ node, sim });
100
77
  }
@@ -102,7 +79,7 @@ function vectorRecall(nodes, queryEmbedding, topK, minSimilarity) {
102
79
  return scored.slice(0, topK).map((s) => s.node);
103
80
  }
104
81
  async function buildLayeredContextPackage(client, query, maxTokens, options) {
105
- const keywordHits = (0, graph_utils_1.rankNodesForContextQuery)(await client.queryByKeyword(query), query);
82
+ const keywordHits = (0, graph_utils_js_1.rankNodesForContextQuery)(await client.queryByKeyword(query), query);
106
83
  let hits = keywordHits;
107
84
  if (options?.enableVectorRecall === true && options.embeddingProvider) {
108
85
  try {
@@ -110,10 +87,10 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
110
87
  const topK = options.vectorTopK ?? 8;
111
88
  const minSim = options.vectorMinSimilarity ?? 0.05;
112
89
  const vectorHits = vectorRecall(keywordHits, queryEmbedding, topK, minSim);
113
- hits = (0, embeddings_1.reciprocalRankFusion)([keywordHits, vectorHits]);
90
+ hits = (0, embeddings_js_1.reciprocalRankFusion)([keywordHits, vectorHits]);
114
91
  }
115
92
  catch (error) {
116
- logger_1.logger.error({ error }, "Caught error");
93
+ logger_js_1.logger.error({ error }, "Caught error");
117
94
  hits = keywordHits;
118
95
  }
119
96
  }
@@ -131,12 +108,12 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
131
108
  const hitById = new Map();
132
109
  for (const hit of hits) {
133
110
  hitById.set(hit.id, hit);
134
- const layer = classifyLayer(hit);
135
- if (!canUseLayer(layer, quota, used)) {
111
+ const layer = (0, context_slicer_utils_js_2.classifyLayer)(hit);
112
+ if (!(0, context_slicer_utils_js_2.canUseLayer)(layer, quota, used)) {
136
113
  continue;
137
114
  }
138
115
  const summary = `${hit.type}: ${hit.content}`;
139
- const estimate = estimateTokens(summary);
116
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
140
117
  if (tokens + estimate > maxTokens) {
141
118
  truncated = true;
142
119
  break;
@@ -145,7 +122,7 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
145
122
  anchorChannel.push({ id: hit.id, type: hit.type, layer });
146
123
  added.add(hit.id);
147
124
  tokens += estimate;
148
- markLayerUsed(layer, used);
125
+ (0, context_slicer_utils_js_2.markLayerUsed)(layer, used);
149
126
  }
150
127
  if (!truncated) {
151
128
  const moduleIds = new Set();
@@ -153,7 +130,7 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
153
130
  if (anchor.layer !== "L1" || (anchor.type !== "File" && anchor.type !== "Symbol")) {
154
131
  continue;
155
132
  }
156
- const moduleId = deriveModuleId(anchor, hitById.get(anchor.id));
133
+ const moduleId = (0, context_slicer_utils_js_2.deriveModuleId)(anchor, hitById.get(anchor.id));
157
134
  if (moduleId) {
158
135
  moduleIds.add(moduleId);
159
136
  }
@@ -165,12 +142,12 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
165
142
  for (const moduleId of moduleIds) {
166
143
  if (added.has(moduleId))
167
144
  continue;
168
- if (!canUseLayer("L2", quota, used))
145
+ if (!(0, context_slicer_utils_js_2.canUseLayer)("L2", quota, used))
169
146
  break;
170
147
  const node = moduleNodes.find((n) => n.id === moduleId) ??
171
148
  ({ id: moduleId, type: "Module", content: moduleId.slice("module:".length) });
172
149
  const summary = `${node.type}: ${node.content}`;
173
- const estimate = estimateTokens(summary);
150
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
174
151
  if (tokens + estimate > maxTokens) {
175
152
  truncated = true;
176
153
  break;
@@ -179,21 +156,21 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
179
156
  anchorChannel.push({ id: node.id, type: node.type, layer: "L2" });
180
157
  added.add(node.id);
181
158
  tokens += estimate;
182
- markLayerUsed("L2", used);
159
+ (0, context_slicer_utils_js_2.markLayerUsed)("L2", used);
183
160
  }
184
161
  }
185
- if (!truncated && ARCHITECTURE_QUERY.test(query)) {
186
- const l3Candidates = (0, graph_utils_1.rankNodesForContextQuery)((await client.queryByKeyword(query)).filter((n) => n.type === "Skill" || n.type === "Decision"), query);
162
+ if (!truncated && context_slicer_types_js_2.ARCHITECTURE_QUERY.test(query)) {
163
+ const l3Candidates = (0, graph_utils_js_1.rankNodesForContextQuery)((await client.queryByKeyword(query)).filter((n) => n.type === "Skill" || n.type === "Decision"), query);
187
164
  let l3Added = 0;
188
165
  for (const node of l3Candidates) {
189
166
  if (l3Added >= 2)
190
167
  break;
191
168
  if (added.has(node.id))
192
169
  continue;
193
- if (!canUseLayer("L3", quota, used))
170
+ if (!(0, context_slicer_utils_js_2.canUseLayer)("L3", quota, used))
194
171
  break;
195
172
  const summary = `${node.type}: ${node.content}`;
196
- const estimate = estimateTokens(summary);
173
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
197
174
  if (tokens + estimate > maxTokens) {
198
175
  truncated = true;
199
176
  break;
@@ -202,7 +179,7 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
202
179
  anchorChannel.push({ id: node.id, type: node.type, layer: "L3" });
203
180
  added.add(node.id);
204
181
  tokens += estimate;
205
- markLayerUsed("L3", used);
182
+ (0, context_slicer_utils_js_2.markLayerUsed)("L3", used);
206
183
  l3Added += 1;
207
184
  }
208
185
  }
@@ -214,11 +191,11 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
214
191
  for (const node of expanded) {
215
192
  if (added.has(node.id))
216
193
  continue;
217
- const layer = classifyLayer(node);
218
- if (!canUseLayer(layer, quota, used))
194
+ const layer = (0, context_slicer_utils_js_2.classifyLayer)(node);
195
+ if (!(0, context_slicer_utils_js_2.canUseLayer)(layer, quota, used))
219
196
  continue;
220
197
  const summary = `${node.type}: ${node.content}`;
221
- const estimate = estimateTokens(summary);
198
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
222
199
  if (tokens + estimate > maxTokens) {
223
200
  truncated = true;
224
201
  break;
@@ -227,7 +204,7 @@ async function buildLayeredContextPackage(client, query, maxTokens, options) {
227
204
  anchorChannel.push({ id: node.id, type: node.type, layer });
228
205
  added.add(node.id);
229
206
  tokens += estimate;
230
- markLayerUsed(layer, used);
207
+ (0, context_slicer_utils_js_2.markLayerUsed)(layer, used);
231
208
  }
232
209
  }
233
210
  }
@@ -253,7 +230,7 @@ function createContextRefillManager(client, maxTokens, options) {
253
230
  continue;
254
231
  }
255
232
  const line = `${hit.id} | ${hit.type}: ${hit.content}`;
256
- const estimate = estimateTokens(line);
233
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(line);
257
234
  if (tokens + estimate > maxTokens) {
258
235
  return items;
259
236
  }
@@ -267,80 +244,6 @@ function createContextRefillManager(client, maxTokens, options) {
267
244
  },
268
245
  };
269
246
  }
270
- function estimateTokens(text) {
271
- const enc = getEncoder();
272
- if (enc) {
273
- try {
274
- const n = enc(text).length;
275
- return Math.max(1, n);
276
- }
277
- catch (error) {
278
- logger_1.logger.error({ error }, "Caught error");
279
- // fall back below
280
- }
281
- }
282
- return Math.max(1, Math.ceil(text.length / 4));
283
- }
284
- function summarizeNodes(nodes) {
285
- return nodes.map((node) => `${node.type}(${node.id})`);
286
- }
287
- function classifyLayer(node) {
288
- if (node.type === "File" || node.type === "Symbol") {
289
- return "L1";
290
- }
291
- if (node.type === "Module") {
292
- return "L2";
293
- }
294
- return "L3";
295
- }
296
- function canUseLayer(layer, quota, used) {
297
- if (layer === "L1") {
298
- return used.l1 < quota.l1;
299
- }
300
- if (layer === "L2") {
301
- return used.l2 < quota.l2;
302
- }
303
- return used.l3 < quota.l3;
304
- }
305
- function markLayerUsed(layer, used) {
306
- if (layer === "L1") {
307
- used.l1 += 1;
308
- return;
309
- }
310
- if (layer === "L2") {
311
- used.l2 += 1;
312
- return;
313
- }
314
- used.l3 += 1;
315
- }
316
- function modulePathKey(relPath) {
317
- return relPath.replace(/\.(ts|tsx|js|jsx|md|json|py|rs|go|hpp|hxx|cpp|cxx|cc|h|c|java|rb|rake|gemspec)$/i, "");
318
- }
319
- function deriveModuleId(anchor, node) {
320
- if (anchor.type === "File" && anchor.id.startsWith("file:")) {
321
- return `module:${modulePathKey(anchor.id.slice("file:".length))}`;
322
- }
323
- if (anchor.type === "Symbol") {
324
- const filePath = typeof node?.metadata?.file === "string"
325
- ? node.metadata.file
326
- : extractFileFromSymbolId(anchor.id);
327
- if (filePath) {
328
- return `module:${modulePathKey(filePath)}`;
329
- }
330
- }
331
- return undefined;
332
- }
333
- function extractFileFromSymbolId(id) {
334
- if (!id.startsWith("symbol:")) {
335
- return undefined;
336
- }
337
- const body = id.slice("symbol:".length);
338
- const hashIndex = body.lastIndexOf(":");
339
- if (hashIndex > 0) {
340
- return body.slice(0, hashIndex);
341
- }
342
- return undefined;
343
- }
344
247
  /**
345
248
  * Enhanced context packaging with graph-structure compression, semantic
346
249
  * compression (minicpm-1b), and adaptive budgeting.
@@ -355,16 +258,16 @@ function extractFileFromSymbolId(id) {
355
258
  async function buildEnhancedContextPackage(client, query, task, maxTokens, options) {
356
259
  // Step 0: Adaptive budget estimation.
357
260
  if (options?.taskMode) {
358
- const estimate = (0, adaptive_budget_1.estimateContextBudget)(task, options.taskMode);
261
+ const estimate = (0, adaptive_budget_js_1.estimateContextBudget)(task, options.taskMode);
359
262
  maxTokens = estimate.tokens;
360
- logger_1.logger.info({ estimate }, "Adaptive budget estimated");
263
+ logger_js_1.logger.info({ estimate }, "Adaptive budget estimated");
361
264
  }
362
265
  // Step 1: RepoMap fallback for tight budgets.
363
266
  if (options?.enableRepoMapFallback && maxTokens < 1000) {
364
267
  try {
365
- const repoMap = await (0, repo_map_1.buildRepoMap)(client);
366
- const mapStr = (0, repo_map_1.formatRepoMapString)(repoMap);
367
- const tokens = estimateTokens(mapStr);
268
+ const repoMap = await (0, repo_map_js_1.buildRepoMap)(client);
269
+ const mapStr = (0, repo_map_js_1.formatRepoMapString)(repoMap);
270
+ const tokens = (0, context_slicer_utils_js_2.estimateTokens)(mapStr);
368
271
  if (tokens < maxTokens) {
369
272
  return {
370
273
  summaryChannel: [mapStr],
@@ -375,11 +278,11 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
375
278
  }
376
279
  }
377
280
  catch (error) {
378
- logger_1.logger.warn({ error }, "RepoMap fallback failed, proceeding with normal retrieval");
281
+ logger_js_1.logger.warn({ error }, "RepoMap fallback failed, proceeding with normal retrieval");
379
282
  }
380
283
  }
381
284
  // Step 2: Keyword + vector retrieval (existing logic).
382
- const keywordHits = (0, graph_utils_1.rankNodesForContextQuery)(await client.queryByKeyword(query), query);
285
+ const keywordHits = (0, graph_utils_js_1.rankNodesForContextQuery)(await client.queryByKeyword(query), query);
383
286
  let hits = keywordHits;
384
287
  if (options?.enableVectorRecall === true && options.embeddingProvider) {
385
288
  try {
@@ -394,38 +297,38 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
394
297
  index.load(keywordHits);
395
298
  const results = await index.search(queryEmbedding, topK, minSim);
396
299
  vectorHits = results.map((r) => r.node);
397
- logger_1.logger.info({ backend: index.backend, candidates: keywordHits.length }, "Vector recall via HNSW");
300
+ logger_js_1.logger.info({ backend: index.backend, candidates: keywordHits.length }, "Vector recall via HNSW");
398
301
  }
399
302
  else {
400
303
  vectorHits = vectorRecall(keywordHits, queryEmbedding, topK, minSim);
401
304
  }
402
- hits = (0, embeddings_1.reciprocalRankFusion)([keywordHits, vectorHits]);
305
+ hits = (0, embeddings_js_1.reciprocalRankFusion)([keywordHits, vectorHits]);
403
306
  }
404
307
  catch (error) {
405
- logger_1.logger.error({ error }, "Vector recall failed");
308
+ logger_js_1.logger.error({ error }, "Vector recall failed");
406
309
  hits = keywordHits;
407
310
  }
408
311
  }
409
312
  if (options?.enableGraphCompression && hits.length > 0) {
410
313
  try {
411
- const ranked = await (0, graph_compression_1.extractConnectedSubgraph)(client, hits, options.graphCompressionOptions);
314
+ const ranked = await (0, graph_compression_js_1.extractConnectedSubgraph)(client, hits, options.graphCompressionOptions);
412
315
  const snapshot = client.readSnapshot?.();
413
316
  if (snapshot) {
414
- const pageRank = (0, graph_compression_1.computePageRank)(ranked.map((r) => r.node), snapshot.edges);
415
- hits = (0, graph_compression_1.blendWithCentrality)(ranked.map((r) => r.node), pageRank, 0.3);
317
+ const pageRank = (0, graph_compression_js_1.computePageRank)(ranked.map((r) => r.node), snapshot.edges);
318
+ hits = (0, graph_compression_js_1.blendWithCentrality)(ranked.map((r) => r.node), pageRank, 0.3);
416
319
  }
417
320
  else {
418
321
  hits = ranked.map((r) => r.node);
419
322
  }
420
323
  }
421
324
  catch (error) {
422
- logger_1.logger.warn({ error }, "Graph compression failed, using uncompressed hits");
325
+ logger_js_1.logger.warn({ error }, "Graph compression failed, using uncompressed hits");
423
326
  }
424
327
  }
425
328
  // Step 4: Semantic compression - cluster + summarize + densify.
426
329
  if (options?.enableSemanticCompression) {
427
330
  try {
428
- hits = await (0, semantic_compression_1.applySemanticCompression)(hits, {
331
+ hits = await (0, semantic_compression_js_1.applySemanticCompression)(hits, {
429
332
  ...(options.clusteringOptions ? { clusteringOptions: options.clusteringOptions } : {}),
430
333
  ...(options.summarizerOptions ? { summarizerOptions: options.summarizerOptions } : {}),
431
334
  ...(options.densifierOptions ? { densifierOptions: options.densifierOptions } : {}),
@@ -433,7 +336,7 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
433
336
  });
434
337
  }
435
338
  catch (error) {
436
- logger_1.logger.warn({ error }, "Semantic compression failed, using uncompressed hits");
339
+ logger_js_1.logger.warn({ error }, "Semantic compression failed, using uncompressed hits");
437
340
  }
438
341
  }
439
342
  // Step 5: Build layered package (existing logic).
@@ -449,12 +352,12 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
449
352
  const used = { l1: 0, l2: 0, l3: 0 };
450
353
  const added = new Set();
451
354
  for (const hit of hits) {
452
- const layer = classifyLayer(hit);
453
- if (!canUseLayer(layer, quota, used)) {
355
+ const layer = (0, context_slicer_utils_js_2.classifyLayer)(hit);
356
+ if (!(0, context_slicer_utils_js_2.canUseLayer)(layer, quota, used)) {
454
357
  continue;
455
358
  }
456
359
  const summary = `${hit.type}: ${hit.content}`;
457
- const estimate = estimateTokens(summary);
360
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
458
361
  if (tokens + estimate > maxTokens) {
459
362
  truncated = true;
460
363
  break;
@@ -463,7 +366,7 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
463
366
  anchorChannel.push({ id: hit.id, type: hit.type, layer });
464
367
  added.add(hit.id);
465
368
  tokens += estimate;
466
- markLayerUsed(layer, used);
369
+ (0, context_slicer_utils_js_2.markLayerUsed)(layer, used);
467
370
  }
468
371
  // Step 6: Edge expansion (existing logic).
469
372
  const enableExpansion = options?.enableEdgeExpansion !== false;
@@ -474,11 +377,11 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
474
377
  for (const node of expanded) {
475
378
  if (added.has(node.id))
476
379
  continue;
477
- const layer = classifyLayer(node);
478
- if (!canUseLayer(layer, quota, used))
380
+ const layer = (0, context_slicer_utils_js_2.classifyLayer)(node);
381
+ if (!(0, context_slicer_utils_js_2.canUseLayer)(layer, quota, used))
479
382
  continue;
480
383
  const summary = `${node.type}: ${node.content}`;
481
- const estimate = estimateTokens(summary);
384
+ const estimate = (0, context_slicer_utils_js_2.estimateTokens)(summary);
482
385
  if (tokens + estimate > maxTokens) {
483
386
  truncated = true;
484
387
  break;
@@ -487,7 +390,7 @@ async function buildEnhancedContextPackage(client, query, task, maxTokens, optio
487
390
  anchorChannel.push({ id: node.id, type: node.type, layer });
488
391
  added.add(node.id);
489
392
  tokens += estimate;
490
- markLayerUsed(layer, used);
393
+ (0, context_slicer_utils_js_2.markLayerUsed)(layer, used);
491
394
  }
492
395
  }
493
396
  }
@@ -1 +1 @@
1
- {"version":3,"file":"context-slicer.js","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-slicer.js","sourceRoot":"","sources":["../../src/graph/context-slicer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * file-indexer-cache.ts — Cache management
3
+ *
4
+ * Handles reading, writing, and querying the index-state cache
5
+ * used for incremental indexing decisions.
6
+ */
7
+ import type { FileIndexerOptions } from "./file-indexer-walker.js";
8
+ export interface CacheState {
9
+ [path: string]: {
10
+ mtimeMs: number;
11
+ hash: string;
12
+ numNodes: number;
13
+ };
14
+ }
15
+ export declare const CACHE_DIR = ".graphflow-cache";
16
+ export declare const CACHE_FILE = "index-state.json";
17
+ /**
18
+ * Load cache state from disk. Returns empty object on missing or invalid cache.
19
+ */
20
+ export declare function loadCacheState(cachePath: string, forceReindex: boolean): CacheState;
21
+ /**
22
+ * Persist cache state to disk.
23
+ */
24
+ export declare function saveCacheState(cachePath: string, cacheState: CacheState): void;
25
+ /** Remove graph store, index cache, and vector DB for a full rebuild. */
26
+ export declare function clearGraphIndexArtifacts(rootDir: string, graphStorePath: string): void;
27
+ /** Returns true when workspace files changed since last index (or cache is empty). */
28
+ export declare function hasPendingGraphIndexWork(rootDir: string, options?: Pick<FileIndexerOptions, "includeExtensions" | "maxFileSizeBytes" | "forceReindex">): boolean;
29
+ /**
30
+ * Quick check whether the index cache exists and is non-empty.
31
+ * Cheaper than hasPendingGraphIndexWork (no full workspace walk).
32
+ */
33
+ export declare function hasIndexCache(rootDir: string): boolean;
34
+ //# sourceMappingURL=file-indexer-cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-indexer-cache.d.ts","sourceRoot":"","sources":["../../src/graph/file-indexer-cache.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,MAAM,WAAW,UAAU;IACzB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAC5C,eAAO,MAAM,UAAU,qBAAqB,CAAC;AAE7C;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,UAAU,CAmBnF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI,CAQ9E;AAED,yEAAyE;AACzE,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI,CAMtF;AAED,sFAAsF;AACtF,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,mBAAmB,GAAG,kBAAkB,GAAG,cAAc,CAAC,GAC5F,OAAO,CA2BT;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAStD"}