@roarpeng/graphflow 1.9.13 → 1.9.15

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 (151) hide show
  1. package/AGENTS.md +2 -0
  2. package/CHANGELOG.md +43 -0
  3. package/CLAUDE.md +2 -0
  4. package/README.md +63 -9
  5. package/README.zh.md +137 -0
  6. package/cordis.patch.yml +42 -0
  7. package/dist/config/defaults.d.ts.map +1 -1
  8. package/dist/config/defaults.js +1 -0
  9. package/dist/config/defaults.js.map +1 -1
  10. package/dist/config/loader.d.ts.map +1 -1
  11. package/dist/config/loader.js +1 -0
  12. package/dist/config/loader.js.map +1 -1
  13. package/dist/config/schema.d.ts +6 -0
  14. package/dist/config/schema.d.ts.map +1 -1
  15. package/dist/graph/context-slicer-types.d.ts +7 -1
  16. package/dist/graph/context-slicer-types.d.ts.map +1 -1
  17. package/dist/graph/context-slicer-types.js.map +1 -1
  18. package/dist/graph/context-slicer.d.ts +6 -1
  19. package/dist/graph/context-slicer.d.ts.map +1 -1
  20. package/dist/graph/context-slicer.js +120 -39
  21. package/dist/graph/context-slicer.js.map +1 -1
  22. package/dist/graph/snapshot-view.d.ts +4 -0
  23. package/dist/graph/snapshot-view.d.ts.map +1 -1
  24. package/dist/graph/snapshot-view.js +36 -2
  25. package/dist/graph/snapshot-view.js.map +1 -1
  26. package/dist/graph/token-savings.d.ts +13 -0
  27. package/dist/graph/token-savings.d.ts.map +1 -1
  28. package/dist/graph/token-savings.js +36 -6
  29. package/dist/graph/token-savings.js.map +1 -1
  30. package/dist/hooks/auto-capture.d.ts +3 -2
  31. package/dist/hooks/auto-capture.d.ts.map +1 -1
  32. package/dist/hooks/auto-capture.js +3 -2
  33. package/dist/hooks/auto-capture.js.map +1 -1
  34. package/dist/index.d.ts +6 -2
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +13 -2
  37. package/dist/index.js.map +1 -1
  38. package/dist/integrations/agent-mcp-installer.d.ts.map +1 -1
  39. package/dist/integrations/agent-mcp-installer.js +8 -0
  40. package/dist/integrations/agent-mcp-installer.js.map +1 -1
  41. package/dist/integrations/agent-profiles/index.d.ts +2 -0
  42. package/dist/integrations/agent-profiles/index.d.ts.map +1 -1
  43. package/dist/integrations/agent-profiles/index.js +2 -0
  44. package/dist/integrations/agent-profiles/index.js.map +1 -1
  45. package/dist/integrations/agent-profiles/profiles/dsh.d.ts +2 -0
  46. package/dist/integrations/agent-profiles/profiles/dsh.d.ts.map +1 -0
  47. package/dist/integrations/agent-profiles/profiles/dsh.js +16 -0
  48. package/dist/integrations/agent-profiles/profiles/dsh.js.map +1 -0
  49. package/dist/integrations/agent-profiles/skills/dsh.d.ts +2 -0
  50. package/dist/integrations/agent-profiles/skills/dsh.d.ts.map +1 -0
  51. package/dist/integrations/agent-profiles/skills/dsh.js +13 -0
  52. package/dist/integrations/agent-profiles/skills/dsh.js.map +1 -0
  53. package/dist/integrations/claude-code-hooks.d.ts +6 -3
  54. package/dist/integrations/claude-code-hooks.d.ts.map +1 -1
  55. package/dist/integrations/claude-code-hooks.js +20 -8
  56. package/dist/integrations/claude-code-hooks.js.map +1 -1
  57. package/dist/integrations/dsh-harness-installer.d.ts +53 -0
  58. package/dist/integrations/dsh-harness-installer.d.ts.map +1 -0
  59. package/dist/integrations/dsh-harness-installer.js +211 -0
  60. package/dist/integrations/dsh-harness-installer.js.map +1 -0
  61. package/dist/integrations/skill-installer.d.ts.map +1 -1
  62. package/dist/integrations/skill-installer.js +6 -0
  63. package/dist/integrations/skill-installer.js.map +1 -1
  64. package/dist/learning/canary-gate.d.ts +5 -2
  65. package/dist/learning/canary-gate.d.ts.map +1 -1
  66. package/dist/learning/canary-gate.js +11 -3
  67. package/dist/learning/canary-gate.js.map +1 -1
  68. package/dist/learning/dialogue-thread.d.ts +88 -0
  69. package/dist/learning/dialogue-thread.d.ts.map +1 -0
  70. package/dist/learning/dialogue-thread.js +419 -0
  71. package/dist/learning/dialogue-thread.js.map +1 -0
  72. package/dist/learning/episodic-memory.d.ts +16 -0
  73. package/dist/learning/episodic-memory.d.ts.map +1 -1
  74. package/dist/learning/episodic-memory.js +61 -1
  75. package/dist/learning/episodic-memory.js.map +1 -1
  76. package/dist/learning/skill-admission.d.ts +38 -0
  77. package/dist/learning/skill-admission.d.ts.map +1 -0
  78. package/dist/learning/skill-admission.js +195 -0
  79. package/dist/learning/skill-admission.js.map +1 -0
  80. package/dist/learning/skill-consolidate.d.ts +4 -1
  81. package/dist/learning/skill-consolidate.d.ts.map +1 -1
  82. package/dist/learning/skill-consolidate.js +56 -6
  83. package/dist/learning/skill-consolidate.js.map +1 -1
  84. package/dist/learning/skill-flywheel.d.ts +8 -2
  85. package/dist/learning/skill-flywheel.d.ts.map +1 -1
  86. package/dist/learning/skill-flywheel.js +65 -38
  87. package/dist/learning/skill-flywheel.js.map +1 -1
  88. package/dist/learning/skill-opt-lite.d.ts +17 -0
  89. package/dist/learning/skill-opt-lite.d.ts.map +1 -1
  90. package/dist/learning/skill-opt-lite.js +108 -0
  91. package/dist/learning/skill-opt-lite.js.map +1 -1
  92. package/dist/learning/skill-store.d.ts.map +1 -1
  93. package/dist/learning/skill-store.js +44 -4
  94. package/dist/learning/skill-store.js.map +1 -1
  95. package/dist/learning/skill-types.d.ts +15 -0
  96. package/dist/learning/skill-types.d.ts.map +1 -1
  97. package/dist/learning/skill-types.js +11 -0
  98. package/dist/learning/skill-types.js.map +1 -1
  99. package/dist/learning/workbench-topic.d.ts +116 -0
  100. package/dist/learning/workbench-topic.d.ts.map +1 -0
  101. package/dist/learning/workbench-topic.js +642 -0
  102. package/dist/learning/workbench-topic.js.map +1 -0
  103. package/dist/learning/workflow-skill.d.ts +25 -0
  104. package/dist/learning/workflow-skill.d.ts.map +1 -0
  105. package/dist/learning/workflow-skill.js +91 -0
  106. package/dist/learning/workflow-skill.js.map +1 -0
  107. package/dist/surfaces/cli/index.js +124 -6
  108. package/dist/surfaces/cli/index.js.map +1 -1
  109. package/dist/surfaces/cli/init.d.ts +3 -0
  110. package/dist/surfaces/cli/init.d.ts.map +1 -1
  111. package/dist/surfaces/cli/init.js +44 -3
  112. package/dist/surfaces/cli/init.js.map +1 -1
  113. package/dist/surfaces/cli/output.d.ts.map +1 -1
  114. package/dist/surfaces/cli/output.js +4 -1
  115. package/dist/surfaces/cli/output.js.map +1 -1
  116. package/dist/surfaces/cli/runtime/dialogue.d.ts +23 -0
  117. package/dist/surfaces/cli/runtime/dialogue.d.ts.map +1 -0
  118. package/dist/surfaces/cli/runtime/dialogue.js +50 -0
  119. package/dist/surfaces/cli/runtime/dialogue.js.map +1 -0
  120. package/dist/surfaces/cli/runtime/graph.d.ts +24 -22
  121. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  122. package/dist/surfaces/cli/runtime/graph.js +284 -26
  123. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  124. package/dist/surfaces/cli/runtime/memory.d.ts +7 -6
  125. package/dist/surfaces/cli/runtime/memory.d.ts.map +1 -1
  126. package/dist/surfaces/cli/runtime/memory.js +12 -21
  127. package/dist/surfaces/cli/runtime/memory.js.map +1 -1
  128. package/dist/surfaces/cli/runtime/routing.d.ts +4 -1
  129. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  130. package/dist/surfaces/cli/runtime/routing.js +54 -7
  131. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  132. package/dist/surfaces/cli/runtime/types.d.ts +63 -0
  133. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  134. package/dist/surfaces/cli/runtime.d.ts +2 -1
  135. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  136. package/dist/surfaces/cli/runtime.js +7 -2
  137. package/dist/surfaces/cli/runtime.js.map +1 -1
  138. package/dist/surfaces/cursor-rules/graphflow.mdc +10 -3
  139. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
  140. package/dist/surfaces/mcp/tool-definitions.js +24 -4
  141. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  142. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
  143. package/dist/surfaces/mcp/tool-handlers.js +27 -3
  144. package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
  145. package/dist/surfaces/trae-skill/graphflow/SKILL.md +51 -5
  146. package/dsh/plugin.mjs +255 -0
  147. package/package.json +20 -2
  148. package/plugin.json +27 -4
  149. package/skills/graphflow/SKILL.md +51 -5
  150. package/src/surfaces/cursor-rules/graphflow.mdc +10 -3
  151. package/src/surfaces/trae-skill/graphflow/SKILL.md +51 -5
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.previewContext = previewContext;
4
+ exports.captureAssistantReply = captureAssistantReply;
4
5
  exports.indexGraph = indexGraph;
5
6
  exports.indexFile = indexFile;
6
7
  exports.rebuildGraph = rebuildGraph;
7
8
  exports.inspectGraph = inspectGraph;
9
+ exports.listWorkbenchOutline = listWorkbenchOutline;
8
10
  exports.getSkillInsights = getSkillInsights;
9
11
  exports.getFlywheelReport = getFlywheelReport;
10
12
  exports.exportArtifact = exportArtifact;
@@ -34,6 +36,8 @@ const auto_capture_js_1 = require("../../../hooks/auto-capture.js");
34
36
  const skill_consolidate_js_1 = require("../../../learning/skill-consolidate.js");
35
37
  const skill_store_js_1 = require("../../../learning/skill-store.js");
36
38
  const logger_js_1 = require("../../../utils/logger.js");
39
+ const dialogue_thread_js_1 = require("../../../learning/dialogue-thread.js");
40
+ const workbench_topic_js_1 = require("../../../learning/workbench-topic.js");
37
41
  const env_js_1 = require("./env.js");
38
42
  const helpers_js_1 = require("./helpers.js");
39
43
  const query_translate_js_1 = require("../../../graph/query-translate.js");
@@ -86,15 +90,15 @@ function graphStoreNeedsIndexing(config) {
86
90
  return true;
87
91
  }
88
92
  }
89
- async function previewContext(query, configPath, rootDir, englishQuery) {
93
+ async function previewContext(query, configPath, rootDir, englishQuery, dialogue) {
90
94
  const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
91
95
  const workspaceRoot = config.graphPolicy.workspaceRoot ?? process.cwd();
92
96
  const { getCachedContext, cacheContextResult } = await import("../../../graph/context-cache.js");
93
97
  const cached = getCachedContext(query, workspaceRoot);
98
+ const graphClient = (0, client_factory_1.createGraphClient)(config);
94
99
  if (cached) {
95
- return cached;
100
+ return attachWorkbenchThenDialogue(cached, graphClient, config, query, dialogue);
96
101
  }
97
- const graphClient = (0, client_factory_1.createGraphClient)(config);
98
102
  if (config.graphPolicy.autoIndexOnPreview) {
99
103
  const root = config.graphPolicy.workspaceRoot ?? process.cwd();
100
104
  const indexOptions = config.graphPolicy.includeExtensions
@@ -187,7 +191,185 @@ async function previewContext(query, configPath, rootDir, englishQuery) {
187
191
  ...(queryTranslationDelegation ?? {}),
188
192
  };
189
193
  cacheContextResult(query, workspaceRoot, result);
190
- return result;
194
+ return attachWorkbenchThenDialogue(result, graphClient, config, query, dialogue);
195
+ }
196
+ async function attachWorkbenchThenDialogue(result, client, config, query, dialogue) {
197
+ if (dialogue?.recordDialogue === false) {
198
+ return result;
199
+ }
200
+ const withWorkbench = await attachWorkbenchTopic(result, client, config, query, dialogue);
201
+ if (withWorkbench.workbench) {
202
+ return withWorkbench;
203
+ }
204
+ return attachDialogueThread(result, client, config, query, dialogue);
205
+ }
206
+ async function attachWorkbenchTopic(result, client, config, query, dialogue) {
207
+ try {
208
+ const appended = await (0, workbench_topic_js_1.appendTopicMessage)(client, {
209
+ query,
210
+ ...(config.graphPolicy.workspaceRoot ? { workspaceRoot: config.graphPolicy.workspaceRoot } : {}),
211
+ ...(dialogue?.topicId ? { topicId: dialogue.topicId } : {}),
212
+ ...(dialogue?.assistantReply ? { assistantReply: dialogue.assistantReply } : {}),
213
+ allowAutoFork: !dialogue?.topicId,
214
+ });
215
+ if (!appended) {
216
+ return result;
217
+ }
218
+ const view = await (0, workbench_topic_js_1.loadWorkbenchContext)(client, appended.topic.id);
219
+ if (!view) {
220
+ return result;
221
+ }
222
+ const promptLines = [...view.promptLines];
223
+ if (appended.forked) {
224
+ promptLines.splice(1, 0, `Forked: 当前问法偏离主线,已挂到孤立旁支。点回主线 topicId 可恢复主干。`);
225
+ }
226
+ return {
227
+ ...result,
228
+ summary: [...promptLines, ...result.summary],
229
+ summaryCount: result.summaryCount + promptLines.length,
230
+ workbench: { ...view, promptLines },
231
+ dialogueCapture: {
232
+ kind: "workbench",
233
+ id: appended.topic.id,
234
+ pendingReply: (0, workbench_topic_js_1.topicPendingReply)(appended.topic),
235
+ forked: appended.forked,
236
+ filled: appended.filled,
237
+ },
238
+ };
239
+ }
240
+ catch (error) {
241
+ logger_js_1.logger.warn({ error }, "Workbench topic attach failed");
242
+ return result;
243
+ }
244
+ }
245
+ async function attachDialogueThread(result, client, config, query, dialogue) {
246
+ if (config.graphPolicy.enableDialogueThread === false) {
247
+ return result;
248
+ }
249
+ try {
250
+ const workspaceRoot = config.graphPolicy.workspaceRoot;
251
+ const recorded = dialogue?.recordDialogue !== false
252
+ ? await (0, dialogue_thread_js_1.recordDialogueTurn)(client, {
253
+ userQuery: query,
254
+ ...(workspaceRoot ? { workspaceRoot } : {}),
255
+ ...(dialogue?.sessionId ? { sessionName: dialogue.sessionId } : {}),
256
+ ...(dialogue?.resumeFromTurnId ? { resumeFromTurnId: dialogue.resumeFromTurnId } : {}),
257
+ ...(dialogue?.assistantReply ? { assistantReply: dialogue.assistantReply } : {}),
258
+ relatedNodeIds: result.anchors
259
+ .filter((anchor) => anchor.layer === "L1")
260
+ .slice(0, 6)
261
+ .map((anchor) => anchor.id),
262
+ })
263
+ : undefined;
264
+ const thread = await (0, dialogue_thread_js_1.loadDialogueThread)(client, {
265
+ ...(workspaceRoot ? { workspaceRoot } : {}),
266
+ ...(dialogue?.sessionId ? { sessionName: dialogue.sessionId } : {}),
267
+ });
268
+ if (!thread) {
269
+ return result;
270
+ }
271
+ const priorTokens = thread.turns
272
+ .slice(0, -1)
273
+ .flatMap((turn) => turn.userQuery.toLowerCase().split(/[^a-z0-9_\u4e00-\u9fff]+/))
274
+ .filter((token) => token.length >= 2);
275
+ const overlap = (0, dialogue_thread_js_1.scoreTopicOverlap)(priorTokens, query);
276
+ const jumped = thread.jumped || (thread.turns.length > 1 && overlap < 0.2);
277
+ const promptLines = (0, dialogue_thread_js_1.formatDialogueThreadLines)({ ...thread, jumped, overlap });
278
+ if (jumped && thread.turns.length > 1) {
279
+ promptLines.splice(1, 0, `Alignment: overlap=${Math.round(overlap * 100)}% — 已链入图谱,问法偏离主线。传入 resumeFromTurnId 可从某次对话继续深挖。`);
280
+ }
281
+ const injectSpine = thread.turns.length >= 2;
282
+ const tip = thread.turns[thread.turns.length - 1];
283
+ return {
284
+ ...result,
285
+ ...(injectSpine
286
+ ? {
287
+ summary: [...promptLines, ...result.summary],
288
+ summaryCount: result.summaryCount + promptLines.length,
289
+ }
290
+ : {}),
291
+ dialogueThread: { ...thread, jumped, overlap, promptLines },
292
+ ...(tip
293
+ ? {
294
+ dialogueCapture: {
295
+ kind: "turn",
296
+ id: tip.id,
297
+ pendingReply: !tip.assistantReply.trim(),
298
+ filled: recorded?.reused === true && Boolean(dialogue?.assistantReply?.trim()),
299
+ },
300
+ }
301
+ : {}),
302
+ };
303
+ }
304
+ catch (error) {
305
+ logger_js_1.logger.warn({ error }, "Dialogue thread attach failed");
306
+ return result;
307
+ }
308
+ }
309
+ /**
310
+ * Write the original assistant answer onto the pending user turn/topic.
311
+ * Does not run context packaging and does not invent an LLM summary node.
312
+ */
313
+ async function captureAssistantReply(assistantReply, configPath, rootDir, dialogue) {
314
+ const reply = assistantReply.trim();
315
+ if (reply.length < 1) {
316
+ return { ok: false, filled: false, reason: "reply-empty" };
317
+ }
318
+ const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
319
+ const client = (0, client_factory_1.createGraphClient)(config);
320
+ const workspaceRoot = config.graphPolicy.workspaceRoot;
321
+ try {
322
+ const appended = await (0, workbench_topic_js_1.appendTopicMessage)(client, {
323
+ query: "",
324
+ assistantReply: reply,
325
+ ...(workspaceRoot ? { workspaceRoot } : {}),
326
+ ...(dialogue?.topicId ? { topicId: dialogue.topicId } : {}),
327
+ allowAutoFork: false,
328
+ });
329
+ if (appended) {
330
+ return {
331
+ ok: true,
332
+ filled: appended.filled,
333
+ capture: {
334
+ kind: "workbench",
335
+ id: appended.topic.id,
336
+ pendingReply: (0, workbench_topic_js_1.topicPendingReply)(appended.topic),
337
+ filled: appended.filled,
338
+ },
339
+ };
340
+ }
341
+ }
342
+ catch (error) {
343
+ logger_js_1.logger.warn({ error }, "Workbench reply capture failed");
344
+ }
345
+ if (config.graphPolicy.enableDialogueThread === false) {
346
+ return { ok: false, filled: false, reason: "no-pending-turn" };
347
+ }
348
+ try {
349
+ const recorded = await (0, dialogue_thread_js_1.recordDialogueTurn)(client, {
350
+ userQuery: "",
351
+ assistantReply: reply,
352
+ ...(workspaceRoot ? { workspaceRoot } : {}),
353
+ ...(dialogue?.sessionId ? { sessionName: dialogue.sessionId } : {}),
354
+ });
355
+ if (recorded.recorded && recorded.turn) {
356
+ return {
357
+ ok: true,
358
+ filled: recorded.reused,
359
+ capture: {
360
+ kind: "turn",
361
+ id: recorded.turn.id,
362
+ pendingReply: !recorded.turn.assistantReply.trim(),
363
+ filled: recorded.reused,
364
+ },
365
+ };
366
+ }
367
+ return { ok: false, filled: false, reason: recorded.skipped ?? "no-pending-turn" };
368
+ }
369
+ catch (error) {
370
+ logger_js_1.logger.warn({ error }, "Dialogue reply capture failed");
371
+ return { ok: false, filled: false, reason: "capture-failed" };
372
+ }
191
373
  }
192
374
  async function indexGraph(rootDir, configPath, options) {
193
375
  const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
@@ -267,6 +449,7 @@ async function inspectGraph(configPath, options) {
267
449
  topRelations: [],
268
450
  sampleNodes: [],
269
451
  sampleEdges: [],
452
+ workbenchOutline: [],
270
453
  };
271
454
  }
272
455
  let store = (0, helpers_js_1.loadGraphStore)(config);
@@ -299,8 +482,15 @@ async function inspectGraph(configPath, options) {
299
482
  .sort((a, b) => b.count - a.count || a.relation.localeCompare(b.relation))
300
483
  .slice(0, 8),
301
484
  ...(0, snapshot_view_js_1.sampleGraphForSnapshot)(store.nodes, store.edges, nodeLimit, edgeLimit, config.graphPolicy.workspaceRoot ?? process.cwd()),
485
+ workbenchOutline: (0, workbench_topic_js_1.buildWorkbenchOutlines)(store.nodes, store.edges),
302
486
  };
303
487
  }
488
+ async function listWorkbenchOutline(configPath, rootDir) {
489
+ const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
490
+ const client = (0, client_factory_1.createGraphClient)(config);
491
+ const outlines = await (0, workbench_topic_js_1.loadWorkbenchOutlines)(client);
492
+ return { outlines, lines: (0, workbench_topic_js_1.formatWorkbenchOutlineLines)(outlines) };
493
+ }
304
494
  async function getSkillInsights(configPath, limit = 12, rootDir) {
305
495
  const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
306
496
  const boundedLimit = Math.max(1, limit);
@@ -542,6 +732,12 @@ function getFlywheelReport(configPath, rootDir) {
542
732
  actionable: consolidationActionable,
543
733
  },
544
734
  },
735
+ fidelity: {
736
+ estimatedSavingsPercent: (0, token_savings_js_1.getSavingsStats)(config).averageSavingsPercent,
737
+ pendingRatio: pendingShare,
738
+ unknownOutcomeRatio: pendingShare,
739
+ note: token_savings_js_1.SAVINGS_NOT_FIDELITY_NOTE,
740
+ },
545
741
  };
546
742
  }
547
743
  async function exportArtifact(configPath, outputPath, client, options) {
@@ -673,20 +869,51 @@ async function syncSkillPackageRuntime(configPath, direction, customPath, opts)
673
869
  return { direction: "import", ...result };
674
870
  }
675
871
  function getTokenSavingsStats(configPath, rootDir) {
676
- const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)((0, resolve_1.resolveConfig)(configPath), rootDir ? { rootDir } : undefined);
677
- return (0, token_savings_js_1.getSavingsStats)(config);
872
+ const resolved = (0, resolve_1.resolveConfig)(configPath);
873
+ const config = (0, workspace_root_1.bindRuntimeWorkspaceRoot)(resolved, rootDir
874
+ ? { rootDir }
875
+ : resolved.graphPolicy.workspaceRoot
876
+ ? { projectWorkspaceRoot: resolved.graphPolicy.workspaceRoot }
877
+ : undefined);
878
+ return { ...(0, token_savings_js_1.getSavingsStats)(config), explanation: (0, token_savings_js_1.explainSavings)() };
678
879
  }
679
880
  function resetTokenSavingsStats(configPath) {
680
881
  const config = (0, resolve_1.resolveConfig)(configPath);
681
882
  return (0, token_savings_js_1.resetSavingsStats)(config);
682
883
  }
884
+ const MAX_EXPAND_FILE_CHARS = 200_000;
885
+ function isFileAnchor(node) {
886
+ return node.type === "File" || node.id.startsWith("file:");
887
+ }
888
+ function readExpandWindowEnv(name, fallback) {
889
+ const raw = process.env[name]?.trim();
890
+ if (!raw)
891
+ return fallback;
892
+ const parsed = Number.parseInt(raw, 10);
893
+ if (!Number.isFinite(parsed) || parsed < 0)
894
+ return fallback;
895
+ return parsed;
896
+ }
897
+ function readWorkspaceSource(workspaceRoot, sourcePath) {
898
+ const absPath = (0, node_path_1.join)(workspaceRoot, sourcePath);
899
+ if (!(0, node_fs_1.existsSync)(absPath)) {
900
+ return undefined;
901
+ }
902
+ try {
903
+ return (0, node_fs_1.readFileSync)(absPath, "utf8");
904
+ }
905
+ catch {
906
+ return undefined;
907
+ }
908
+ }
683
909
  /**
684
910
  * Expand a context anchor to its full content.
685
911
  *
686
- * Context anchors returned by `previewContext` are lightweight pointers
687
- * (id/type/layer). This function resolves an anchor id back to its full
688
- * GraphNode content and, for Symbol nodes, optionally reads the surrounding
689
- * source code lines from the original file.
912
+ * Preview anchors are lightweight pointers. File anchors return the entire
913
+ * source file (capped). Symbol anchors return a configurable line window
914
+ * (`GRAPHFLOW_EXPAND_SYMBOL_BEFORE` default 3, `GRAPHFLOW_EXPAND_SYMBOL_AFTER`
915
+ * default 20 — about 24 lines). Exact edits still require this expand or a
916
+ * full-file Read — preview summaries are not the source body.
690
917
  *
691
918
  * @param anchorId The anchor id (e.g. "symbol:src/foo.ts:abc123")
692
919
  * @param configPath Optional config path
@@ -709,27 +936,28 @@ async function expandAnchor(anchorId, configPath, rootDir) {
709
936
  }
710
937
  const sourcePath = (0, graph_utils_1.extractNodeSourcePath)(node);
711
938
  const sourceLine = typeof node.metadata?.line === "number" ? node.metadata.line : undefined;
712
- // For Symbol nodes, try to read the surrounding source code
939
+ const workspaceRoot = config.graphPolicy.workspaceRoot ?? process.cwd();
713
940
  let sourceSnippet;
714
- if (sourcePath && sourceLine !== undefined) {
715
- const workspaceRoot = config.graphPolicy.workspaceRoot ?? process.cwd();
716
- const absPath = (0, node_path_1.join)(workspaceRoot, sourcePath);
717
- if ((0, node_fs_1.existsSync)(absPath)) {
718
- try {
719
- const fileContent = (0, node_fs_1.readFileSync)(absPath, "utf8");
720
- const lines = fileContent.split(/\r?\n/);
721
- // Read a window of lines around the symbol: 3 lines before to 20 lines after
722
- const startLine = Math.max(0, sourceLine - 4);
723
- const endLine = Math.min(lines.length, sourceLine + 20);
724
- const snippet = lines.slice(startLine, endLine).join("\n");
725
- sourceSnippet = snippet;
941
+ if (sourcePath) {
942
+ const fileContent = readWorkspaceSource(workspaceRoot, sourcePath);
943
+ if (fileContent !== undefined) {
944
+ if (isFileAnchor(node)) {
945
+ sourceSnippet =
946
+ fileContent.length > MAX_EXPAND_FILE_CHARS
947
+ ? fileContent.slice(0, MAX_EXPAND_FILE_CHARS)
948
+ : fileContent;
726
949
  }
727
- catch {
728
- // Ignore read errors — source file may not be accessible
950
+ else if (sourceLine !== undefined) {
951
+ const before = readExpandWindowEnv("GRAPHFLOW_EXPAND_SYMBOL_BEFORE", 3);
952
+ const after = readExpandWindowEnv("GRAPHFLOW_EXPAND_SYMBOL_AFTER", 20);
953
+ const lines = fileContent.split(/\r?\n/);
954
+ const startLine = Math.max(0, sourceLine - 1 - before);
955
+ const endLine = Math.min(lines.length, sourceLine + after);
956
+ sourceSnippet = lines.slice(startLine, endLine).join("\n");
729
957
  }
730
958
  }
731
959
  }
732
- return {
960
+ const expanded = {
733
961
  anchorId: node.id,
734
962
  type: node.type,
735
963
  content: node.content,
@@ -738,6 +966,36 @@ async function expandAnchor(anchorId, configPath, rootDir) {
738
966
  ...(sourceSnippet ? { sourceSnippet } : {}),
739
967
  ...(node.metadata ? { metadata: node.metadata } : {}),
740
968
  };
969
+ if ((0, workbench_topic_js_1.isWorkbenchTopicNode)(node)) {
970
+ const topic = (0, workbench_topic_js_1.parseWorkbenchTopic)(node);
971
+ const view = topic ? await (0, workbench_topic_js_1.loadWorkbenchContext)(graphClient, topic.id) : undefined;
972
+ if (view) {
973
+ expanded.content = view.promptLines.join("\n");
974
+ expanded.metadata = {
975
+ ...(expanded.metadata ?? {}),
976
+ workbench: view,
977
+ topicId: view.active.id,
978
+ };
979
+ }
980
+ }
981
+ else if ((0, dialogue_thread_js_1.isDialogueTurnNode)(node)) {
982
+ const turn = (0, dialogue_thread_js_1.parseDialogueTurn)(node);
983
+ const thread = await (0, dialogue_thread_js_1.loadDialogueThread)(graphClient, {
984
+ ...(turn?.sessionId ? { sessionId: turn.sessionId } : {}),
985
+ ...(config.graphPolicy.workspaceRoot ? { workspaceRoot: config.graphPolicy.workspaceRoot } : {}),
986
+ });
987
+ if (thread) {
988
+ expanded.dialogueThread = thread;
989
+ expanded.content = [
990
+ `Dialogue turn #${turn?.seq ?? "?"} (${turn?.jumped ? "jump" : "mainline"})`,
991
+ `Q: ${turn?.userQuery ?? node.content}`,
992
+ `A: ${turn?.assistantReply?.trim() ? turn.assistantReply : "(pending)"}`,
993
+ `resumeFromTurnId: ${node.id}`,
994
+ ...thread.promptLines,
995
+ ].join("\n");
996
+ }
997
+ }
998
+ return expanded;
741
999
  }
742
1000
  /**
743
1001
  * Start a file watcher for auto-indexing on save when `autoIndexOnSave` is enabled.
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/graph.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@
2
2
  * Memory audit runtime (v1.9+): cross-session episodic memory must be
3
3
  * "evidence, not judge" — auditable and attributable. These functions expose
4
4
  * the raw evidence records (list), a semantic similarity view (search), and a
5
- * single-record deletion path (forget) so the graph store stays transparent
6
- * and controllable from the CLI or any other runtime surface.
5
+ * single-record forget path (quarantine descendant skills, then prune the
6
+ * episode) so the graph store stays transparent and controllable.
7
7
  */
8
8
  /** Outcomes surfaced by the audit CLI. "human_review" is shown as pending, matching the flywheel report. */
9
9
  export type MemoryOutcome = "pass" | "fail" | "pending";
@@ -28,6 +28,9 @@ export interface MemorySearchHit {
28
28
  export interface MemoryForgetResult {
29
29
  found: boolean;
30
30
  removed: boolean;
31
+ /** Skills soft-hidden via provenance.episodeId (SkillJack descendant revoke). */
32
+ skillsHidden: number;
33
+ skillIds: string[];
31
34
  reason?: string;
32
35
  }
33
36
  export interface ListEpisodesOptions {
@@ -47,10 +50,8 @@ export declare function listEpisodes(configPath?: string, options?: ListEpisodes
47
50
  */
48
51
  export declare function searchEpisodes(query: string, configPath?: string, limit?: number): Promise<MemorySearchHit[]>;
49
52
  /**
50
- * Delete a single episode record from the store (physical deleteNode when the
51
- * client supports it, soft-delete via pruned marker otherwise same paths as
52
- * pruneExpiredEpisodes / cleanupNoiseSkills). Unknown ids are a clean no-op:
53
- * the result reports found=false instead of throwing.
53
+ * Forget one episode: quarantine skills derived from it, then prune the
54
+ * episode node (auditable, not hard-delete). Unknown ids are a clean no-op.
54
55
  */
55
56
  export declare function forgetEpisode(episodeId: string, configPath?: string): Promise<MemoryForgetResult>;
56
57
  //# sourceMappingURL=memory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/memory.ts"],"names":[],"mappings":"AAUA;;;;;;GAMG;AAEH,4GAA4G;AAC5G,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0C9B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC,CAa5B;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAwB7B"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../../src/surfaces/cli/runtime/memory.ts"],"names":[],"mappings":"AAWA;;;;;;GAMG;AAEH,4GAA4G;AAC5G,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAExD,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,aAAa,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,yCAAyC;AACzC,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,sGAAsG;IACtG,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,iFAAiF;IACjF,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,mBAAmB,GAC5B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0C9B;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,EACnB,KAAK,SAAK,GACT,OAAO,CAAC,eAAe,EAAE,CAAC,CAa5B;AAED;;;GAGG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAgB7B"}