@roarpeng/graphflow 1.12.1 → 1.14.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 (115) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +7 -4
  3. package/README.zh.md +2 -1
  4. package/dist/config/defaults.d.ts.map +1 -1
  5. package/dist/config/defaults.js +2 -1
  6. package/dist/config/defaults.js.map +1 -1
  7. package/dist/config/embedding-factory.d.ts.map +1 -1
  8. package/dist/config/embedding-factory.js +2 -1
  9. package/dist/config/embedding-factory.js.map +1 -1
  10. package/dist/config/embedding-model.d.ts +7 -0
  11. package/dist/config/embedding-model.d.ts.map +1 -0
  12. package/dist/config/embedding-model.js +10 -0
  13. package/dist/config/embedding-model.js.map +1 -0
  14. package/dist/core/types.d.ts +4 -2
  15. package/dist/core/types.d.ts.map +1 -1
  16. package/dist/graph/context-slicer.d.ts.map +1 -1
  17. package/dist/graph/context-slicer.js +102 -0
  18. package/dist/graph/context-slicer.js.map +1 -1
  19. package/dist/graph/engineering-knowledge.d.ts +76 -0
  20. package/dist/graph/engineering-knowledge.d.ts.map +1 -0
  21. package/dist/graph/engineering-knowledge.js +170 -0
  22. package/dist/graph/engineering-knowledge.js.map +1 -0
  23. package/dist/graph/graph-compression.d.ts.map +1 -1
  24. package/dist/graph/graph-compression.js +3 -0
  25. package/dist/graph/graph-compression.js.map +1 -1
  26. package/dist/graph/graph-search.d.ts +26 -0
  27. package/dist/graph/graph-search.d.ts.map +1 -1
  28. package/dist/graph/graph-search.js +80 -0
  29. package/dist/graph/graph-search.js.map +1 -1
  30. package/dist/graph/memory-pack.d.ts +44 -1
  31. package/dist/graph/memory-pack.d.ts.map +1 -1
  32. package/dist/graph/memory-pack.js +134 -4
  33. package/dist/graph/memory-pack.js.map +1 -1
  34. package/dist/graph/snapshot-view.d.ts.map +1 -1
  35. package/dist/graph/snapshot-view.js +2 -0
  36. package/dist/graph/snapshot-view.js.map +1 -1
  37. package/dist/graph/team-governance.d.ts +48 -0
  38. package/dist/graph/team-governance.d.ts.map +1 -0
  39. package/dist/graph/team-governance.js +174 -0
  40. package/dist/graph/team-governance.js.map +1 -0
  41. package/dist/integrations/host-adapter.d.ts +14 -0
  42. package/dist/integrations/host-adapter.d.ts.map +1 -0
  43. package/dist/integrations/host-adapter.js +32 -0
  44. package/dist/integrations/host-adapter.js.map +1 -0
  45. package/dist/learning/dialogue-thread.d.ts +152 -0
  46. package/dist/learning/dialogue-thread.d.ts.map +1 -1
  47. package/dist/learning/dialogue-thread.js +439 -1
  48. package/dist/learning/dialogue-thread.js.map +1 -1
  49. package/dist/learning/embeddings.d.ts.map +1 -1
  50. package/dist/learning/embeddings.js +2 -1
  51. package/dist/learning/embeddings.js.map +1 -1
  52. package/dist/learning/episodic-memory.d.ts +4 -1
  53. package/dist/learning/episodic-memory.d.ts.map +1 -1
  54. package/dist/learning/episodic-memory.js +7 -1
  55. package/dist/learning/episodic-memory.js.map +1 -1
  56. package/dist/learning/evidence.d.ts +48 -0
  57. package/dist/learning/evidence.d.ts.map +1 -0
  58. package/dist/learning/evidence.js +112 -0
  59. package/dist/learning/evidence.js.map +1 -0
  60. package/dist/learning/turn-distillation.d.ts +24 -0
  61. package/dist/learning/turn-distillation.d.ts.map +1 -1
  62. package/dist/learning/turn-distillation.js +101 -0
  63. package/dist/learning/turn-distillation.js.map +1 -1
  64. package/dist/security/secure-store.d.ts +13 -0
  65. package/dist/security/secure-store.d.ts.map +1 -0
  66. package/dist/security/secure-store.js +42 -0
  67. package/dist/security/secure-store.js.map +1 -0
  68. package/dist/security/token-auth.d.ts +23 -0
  69. package/dist/security/token-auth.d.ts.map +1 -0
  70. package/dist/security/token-auth.js +86 -0
  71. package/dist/security/token-auth.js.map +1 -0
  72. package/dist/surfaces/cli/index.js +333 -3
  73. package/dist/surfaces/cli/index.js.map +1 -1
  74. package/dist/surfaces/cli/output.d.ts.map +1 -1
  75. package/dist/surfaces/cli/output.js +7 -2
  76. package/dist/surfaces/cli/output.js.map +1 -1
  77. package/dist/surfaces/cli/runtime/dialogue.d.ts +61 -0
  78. package/dist/surfaces/cli/runtime/dialogue.d.ts.map +1 -1
  79. package/dist/surfaces/cli/runtime/dialogue.js +121 -6
  80. package/dist/surfaces/cli/runtime/dialogue.js.map +1 -1
  81. package/dist/surfaces/cli/runtime/evidence.d.ts +34 -0
  82. package/dist/surfaces/cli/runtime/evidence.d.ts.map +1 -0
  83. package/dist/surfaces/cli/runtime/evidence.js +82 -0
  84. package/dist/surfaces/cli/runtime/evidence.js.map +1 -0
  85. package/dist/surfaces/cli/runtime/governance.d.ts +88 -0
  86. package/dist/surfaces/cli/runtime/governance.d.ts.map +1 -0
  87. package/dist/surfaces/cli/runtime/governance.js +245 -0
  88. package/dist/surfaces/cli/runtime/governance.js.map +1 -0
  89. package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
  90. package/dist/surfaces/cli/runtime/graph.js +36 -3
  91. package/dist/surfaces/cli/runtime/graph.js.map +1 -1
  92. package/dist/surfaces/cli/runtime/routing.d.ts +4 -1
  93. package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
  94. package/dist/surfaces/cli/runtime/routing.js +6 -2
  95. package/dist/surfaces/cli/runtime/routing.js.map +1 -1
  96. package/dist/surfaces/cli/runtime/types.d.ts +8 -0
  97. package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
  98. package/dist/surfaces/cli/runtime.d.ts +3 -1
  99. package/dist/surfaces/cli/runtime.d.ts.map +1 -1
  100. package/dist/surfaces/cli/runtime.js +23 -1
  101. package/dist/surfaces/cli/runtime.js.map +1 -1
  102. package/dist/surfaces/mcp/server.d.ts +7 -0
  103. package/dist/surfaces/mcp/server.d.ts.map +1 -1
  104. package/dist/surfaces/mcp/server.js +74 -5
  105. package/dist/surfaces/mcp/server.js.map +1 -1
  106. package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
  107. package/dist/surfaces/mcp/tool-definitions.js +8 -1
  108. package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
  109. package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
  110. package/dist/surfaces/mcp/tool-handlers.js +22 -1
  111. package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
  112. package/dsh/plugin.mjs +111 -6
  113. package/package.json +4 -1
  114. package/plugin.json +1 -1
  115. package/web/plugin.mjs +45 -2
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DIALOGUE_TURN_SENTINEL = exports.DIALOGUE_SESSION_KIND = exports.DIALOGUE_TURN_KIND = exports.DIALOGUE_SESSION_PREFIX = exports.DIALOGUE_TURN_PREFIX = void 0;
3
+ exports.AGENT_TRACE_KIND = exports.AGENT_TRACE_PREFIX = exports.DIALOGUE_TURN_SENTINEL = exports.DIALOGUE_SESSION_KIND = exports.DIALOGUE_TURN_KIND = exports.DIALOGUE_SESSION_PREFIX = exports.DIALOGUE_TURN_PREFIX = void 0;
4
4
  exports.dialogueSessionIdFor = dialogueSessionIdFor;
5
5
  exports.dialogueTurnIdFor = dialogueTurnIdFor;
6
6
  exports.isDialogueTurnNode = isDialogueTurnNode;
@@ -13,6 +13,15 @@ exports.applyTurnDistillation = applyTurnDistillation;
13
13
  exports.loadDialogueThread = loadDialogueThread;
14
14
  exports.formatDialogueThreadLines = formatDialogueThreadLines;
15
15
  exports.scoreTopicOverlap = scoreTopicOverlap;
16
+ exports.detectSupersession = detectSupersession;
17
+ exports.detectSameTopicLinks = detectSameTopicLinks;
18
+ exports.effectiveTurns = effectiveTurns;
19
+ exports.formatSupersessionLine = formatSupersessionLine;
20
+ exports.walkDialoguePath = walkDialoguePath;
21
+ exports.forkDialogueSession = forkDialogueSession;
22
+ exports.isAgentTraceNode = isAgentTraceNode;
23
+ exports.recordAgentTrace = recordAgentTrace;
24
+ exports.listAgentTraces = listAgentTraces;
16
25
  const hash_1 = require("../utils/hash");
17
26
  const turn_distillation_1 = require("./turn-distillation");
18
27
  /**
@@ -27,6 +36,20 @@ const turn_distillation_1 = require("./turn-distillation");
27
36
  * parent -next_section-> turn (resumeFrom or previous tip)
28
37
  * prevTip -co_occurs-> turn (when the click is a jump)
29
38
  * turn -references-> code (optional L1 anchors)
39
+ * turn -supersedes-> priorTurn (correction: this turn's
40
+ * answer replaces an earlier
41
+ * conclusion on the same topic;
42
+ * Graphiti-style temporal edge)
43
+ * turn -same_topic-> turn' (cross-session semantic link:
44
+ * both turns discuss the same
45
+ * code/topic tokens)
46
+ *
47
+ * Temporal semantics (Conversation Graph 2.0):
48
+ * - validAt: ms epoch when the turn's conclusion became effective
49
+ * (defaults to createdAt; a later correction gets its own
50
+ * validAt so "current truth" = newest validAt on the chain)
51
+ * - invalidAt: ms epoch when the turn's conclusion stopped being current
52
+ * (set on the superseded turn when a supersedes edge lands)
30
53
  */
31
54
  exports.DIALOGUE_TURN_PREFIX = "dialogue:";
32
55
  exports.DIALOGUE_SESSION_PREFIX = "dialogue-session:";
@@ -40,6 +63,12 @@ const MAX_REPLY_CHARS = 4_000;
40
63
  const MAX_RELATED_CODE = 6;
41
64
  const MAX_THREAD_PROMPT_TURNS = 6;
42
65
  const MIN_QUERY_CHARS = 4;
66
+ /** Cross-session same_topic links: minimum token-set overlap ratio. */
67
+ const SAME_TOPIC_MIN_OVERLAP = 0.34;
68
+ /** Max turns scanned per other session when linking same_topic edges. */
69
+ const SAME_TOPIC_SCAN_LIMIT = 60;
70
+ /** Supersession: how many earlier turns to link (nearest N on the chain). */
71
+ const SUPERSEDE_LINK_LIMIT = 2;
43
72
  function dialogueSessionIdFor(sessionName, workspaceRoot) {
44
73
  const key = `${normalizeSessionName(sessionName)}|${(workspaceRoot ?? "").trim().toLowerCase()}`;
45
74
  return `${exports.DIALOGUE_SESSION_PREFIX}${(0, hash_1.hashText)(key)}`;
@@ -130,6 +159,15 @@ async function recordDialogueTurn(client, input) {
130
159
  const seq = session.turnCount + 1;
131
160
  const title = (0, turn_distillation_1.deriveTurnTitle)(userQuery);
132
161
  const summary = assistantReply.trim() ? (0, turn_distillation_1.deriveTurnSummary)(assistantReply) : undefined;
162
+ // Conversation Graph 2.0 temporal edges:
163
+ // - supersedes: this answer corrects an earlier conclusion on the same topic
164
+ // - same_topic: cross-session turns discussing the same code/topic tokens
165
+ const supersedesTurnIds = assistantReply.trim()
166
+ ? detectSupersession(existingTurns, userQuery, assistantReply, seq, SUPERSEDE_LINK_LIMIT)
167
+ : [];
168
+ const otherSessionTurns = (await listDialogueTurns(client, { limit: SAME_TOPIC_SCAN_LIMIT }))
169
+ .filter((turn) => turn.sessionId !== sessionId);
170
+ const sameTopicPairs = detectSameTopicLinks(otherSessionTurns, { id: dialogueTurnIdFor(sessionId, seq), userQuery }, session.topicTokens);
133
171
  const turn = {
134
172
  id: dialogueTurnIdFor(sessionId, seq),
135
173
  sessionId,
@@ -143,6 +181,8 @@ async function recordDialogueTurn(client, input) {
143
181
  updatedAt: now,
144
182
  ...(title ? { title } : {}),
145
183
  ...(summary ? { summary } : {}),
184
+ ...(supersedesTurnIds.length > 0 ? { supersedesTurnIds } : {}),
185
+ ...(supersedesTurnIds.length > 0 ? { validAt: now } : {}),
146
186
  };
147
187
  const nextSession = {
148
188
  ...session,
@@ -159,6 +199,7 @@ async function recordDialogueTurn(client, input) {
159
199
  ...(previousTipId ? { previousTipId } : {}),
160
200
  relatedNodeIds: turn.relatedNodeIds,
161
201
  });
202
+ await linkTemporalEdges(client, { turn, supersedesTurnIds, sameTopicPairs, now });
162
203
  return { recorded: true, reused: false, jumped, turn, session: nextSession };
163
204
  }
164
205
  async function listDialogueTurns(client, options) {
@@ -398,6 +439,13 @@ function deserializeTurn(node) {
398
439
  updatedAt: typeof parsed.updatedAt === "number" ? parsed.updatedAt : 0,
399
440
  ...(typeof parsed.title === "string" ? { title: parsed.title } : {}),
400
441
  ...(typeof parsed.summary === "string" ? { summary: parsed.summary } : {}),
442
+ ...(Array.isArray(parsed.supersedesTurnIds)
443
+ ? {
444
+ supersedesTurnIds: parsed.supersedesTurnIds.filter((id) => typeof id === "string"),
445
+ }
446
+ : {}),
447
+ ...(typeof parsed.validAt === "number" ? { validAt: parsed.validAt } : {}),
448
+ ...(typeof parsed.invalidAt === "number" ? { invalidAt: parsed.invalidAt } : {}),
401
449
  };
402
450
  }
403
451
  catch {
@@ -473,4 +521,394 @@ function uniqueIds(ids) {
473
521
  function mergeRelated(current, incoming) {
474
522
  return uniqueIds([...current, ...(incoming ?? [])]).slice(0, MAX_RELATED_CODE);
475
523
  }
524
+ // ─────────────────── Conversation Graph 2.0: temporal edges ───────────────────
525
+ /**
526
+ * Correction markers that make an assistant reply a "supersession answer":
527
+ * the turn explicitly replaces/updates an earlier conclusion rather than
528
+ * answering an unrelated question. EN + CJK, used on the reply text.
529
+ */
530
+ const SUPERSESSION_REPLY_MARKERS = [
531
+ "更正",
532
+ "更准确地说",
533
+ "修正一下",
534
+ "修正",
535
+ "纠正一下",
536
+ "纠正",
537
+ "重新回答",
538
+ "重新梳理",
539
+ "不是",
540
+ "之前说错",
541
+ "上面说错",
542
+ "其实",
543
+ "实际上",
544
+ "重新确认后",
545
+ "correction",
546
+ "corrected",
547
+ "actually",
548
+ "to be precise",
549
+ "in fact",
550
+ "rather than",
551
+ "instead of",
552
+ "updated answer",
553
+ "supersedes the earlier",
554
+ "revised",
555
+ ];
556
+ /** Topic-overlap floor for a reply to qualify as correcting "the same topic". */
557
+ const SUPERSEDE_TOPIC_OVERLAP = 0.25;
558
+ /**
559
+ * Offline heuristic: which earlier turns does this answer supersede?
560
+ *
561
+ * A turn T' supersedes T when:
562
+ * 1. T' carries a correction marker in its reply (or its query re-asks the
563
+ * same topic as T), AND
564
+ * 2. T's question/topic tokens overlap T' enough that they discuss the same
565
+ * subject, AND
566
+ * 3. T already has an answer (a pending turn cannot be superseded — nothing
567
+ * to replace), AND
568
+ * 4. T is not already superseded by another kept turn (nearest N win).
569
+ *
570
+ * Deterministic and conservative: no LLM, no I/O. Returns turn ids ordered
571
+ * oldest-first, capped at `limit`.
572
+ */
573
+ function detectSupersession(turns, userQuery, assistantReply, currentSeq, limit = SUPERSEDE_LINK_LIMIT) {
574
+ const replyMarked = SUPERSESSION_REPLY_MARKERS.some((marker) => assistantReply.toLowerCase().includes(marker.toLowerCase()));
575
+ if (!replyMarked)
576
+ return [];
577
+ const currentTokens = new Set(extractTokens(userQuery));
578
+ if (currentTokens.size === 0)
579
+ return [];
580
+ const candidates = [];
581
+ for (const turn of turns) {
582
+ if (turn.seq >= currentSeq)
583
+ continue;
584
+ if (!turn.assistantReply.trim())
585
+ continue; // pending: nothing to supersede
586
+ if (turn.invalidAt !== undefined)
587
+ continue; // already off the current chain
588
+ const overlap = tokenOverlapRatio(currentTokens, turn.userQuery);
589
+ if (overlap < SUPERSEDE_TOPIC_OVERLAP)
590
+ continue;
591
+ candidates.push({ turn, overlap });
592
+ }
593
+ if (candidates.length === 0)
594
+ return [];
595
+ // Nearest turns first (highest overlap, then latest), capped at `limit`.
596
+ candidates.sort((a, b) => b.overlap - a.overlap || b.turn.seq - a.turn.seq);
597
+ return candidates
598
+ .slice(0, Math.max(1, limit))
599
+ .map((c) => c.turn.id)
600
+ .sort();
601
+ }
602
+ function tokenOverlapRatio(next, earlierQuery) {
603
+ const earlier = extractTokens(earlierQuery);
604
+ if (earlier.length === 0)
605
+ return 0;
606
+ let hit = 0;
607
+ for (const token of earlier) {
608
+ if (next.has(token))
609
+ hit += 1;
610
+ }
611
+ return hit / earlier.length;
612
+ }
613
+ /**
614
+ * Candidate cross-session same_topic links for a newly recorded turn:
615
+ * other-session turns whose query tokens overlap the new query beyond
616
+ * `SAME_TOPIC_MIN_OVERLAP` (falling back to session topicTokens when the
617
+ * query itself is sparse). Pure — callers persist the chosen edges.
618
+ */
619
+ function detectSameTopicLinks(allTurns, next, sessionTopicTokens, options) {
620
+ const currentTokens = new Set([
621
+ ...extractTokens(next.userQuery),
622
+ ...sessionTopicTokens,
623
+ ]);
624
+ if (currentTokens.size === 0)
625
+ return [];
626
+ const scored = [];
627
+ for (const turn of allTurns) {
628
+ if (turn.id === next.id)
629
+ continue;
630
+ const overlap = tokenOverlapRatio(currentTokens, turn.userQuery);
631
+ if (overlap < SAME_TOPIC_MIN_OVERLAP)
632
+ continue;
633
+ scored.push({ turn, overlap });
634
+ }
635
+ scored.sort((a, b) => b.overlap - a.overlap || b.turn.updatedAt - a.turn.updatedAt);
636
+ const limit = options?.limit ?? 3;
637
+ return scored
638
+ .slice(0, Math.max(1, limit))
639
+ .map((s) => ({ from: next.id, to: s.turn.id }));
640
+ }
641
+ /**
642
+ * Persist the temporal edge set of one turn:
643
+ * - `supersedes` edges turn -> supersededTurn for each correction link, and
644
+ * the superseded turns get `invalidAt = now` (their conclusion stopped
645
+ * being current) while this turn's `validAt = now`.
646
+ * - `same_topic` edges turn -> otherTurn for cross-session semantic links
647
+ * (bidirectional information: one edge, both reads traverse "both").
648
+ * Best-effort: failures degrade to a graph without temporal edges, never
649
+ * throw into the record path.
650
+ */
651
+ async function linkTemporalEdges(client, input) {
652
+ const { turn, supersedesTurnIds, sameTopicPairs, now } = input;
653
+ try {
654
+ const edges = [];
655
+ for (const targetId of supersedesTurnIds) {
656
+ edges.push({ from: turn.id, to: targetId, relation: "supersedes" });
657
+ }
658
+ for (const pair of sameTopicPairs) {
659
+ edges.push({ from: pair.from, to: pair.to, relation: "same_topic" });
660
+ }
661
+ if (edges.length > 0) {
662
+ await upsertUniqueEdges(client, edges);
663
+ }
664
+ // Mark the superseded turns as no longer current (invalidAt) so
665
+ // retrieval can distinguish "was true then" from "current truth".
666
+ if (supersedesTurnIds.length > 0) {
667
+ const nodes = await collectDialogueNodes(client);
668
+ for (const node of nodes) {
669
+ const record = parseDialogueTurn(node);
670
+ if (!record)
671
+ continue;
672
+ if (!supersedesTurnIds.includes(record.id))
673
+ continue;
674
+ if (record.invalidAt !== undefined)
675
+ continue;
676
+ const updated = { ...record, invalidAt: now };
677
+ const session = await loadSession(client, updated.sessionId);
678
+ if (!session)
679
+ continue;
680
+ await persistTurn(client, updated, session, {
681
+ linkParent: false,
682
+ jumped: updated.jumped,
683
+ relatedNodeIds: updated.relatedNodeIds,
684
+ });
685
+ }
686
+ }
687
+ }
688
+ catch {
689
+ // temporal edges are additive — never break the record path
690
+ }
691
+ }
692
+ /**
693
+ * Effective (current) turns of a set: drop turns carrying an `invalidAt`
694
+ * unless the caller asks for the full history. Used by L3 packing and
695
+ * retrieval so agents see "current truth" by default and the correction
696
+ * chain only on request.
697
+ */
698
+ function effectiveTurns(turns, options) {
699
+ if (options?.includeSuperseded === true)
700
+ return turns;
701
+ return turns.filter((turn) => turn.invalidAt === undefined);
702
+ }
703
+ /**
704
+ * Render a correction chain line for a superseded turn: "结论 X 已被修正为
705
+ * Y (turn#seq)" — used by retrieval annotations and L3 packing.
706
+ */
707
+ function formatSupersessionLine(turn, supersededBy) {
708
+ const oldConclusion = clip(turn.summary?.trim() ? turn.summary : turn.assistantReply, 60);
709
+ const newConclusion = clip(supersededBy.summary?.trim() ? supersededBy.summary : supersededBy.assistantReply, 60);
710
+ return `Turn #${turn.seq} "${oldConclusion}" 已被修正 (Turn #${supersededBy.seq}): "${newConclusion}"`;
711
+ }
712
+ /**
713
+ * Replay path walk (pure graph): the turn spine ending at `endTurnId`,
714
+ * following parentTurnId links (jump targets + fork boundaries included)
715
+ * back to the first turn. Returns steps oldest-first.
716
+ */
717
+ function walkDialoguePath(allTurns, endTurnId, limit = 30) {
718
+ const byId = new Map(allTurns.map((t) => [t.id, t]));
719
+ const chain = [];
720
+ const seen = new Set();
721
+ let cursor = byId.get(endTurnId);
722
+ while (cursor && !seen.has(cursor.id) && chain.length < limit) {
723
+ seen.add(cursor.id);
724
+ chain.push(cursor);
725
+ cursor = cursor.parentTurnId ? byId.get(cursor.parentTurnId) : undefined;
726
+ }
727
+ chain.reverse();
728
+ return chain.map((turn, index) => ({
729
+ id: turn.id,
730
+ seq: turn.seq,
731
+ sessionId: turn.sessionId,
732
+ ...(turn.title ? { title: turn.title } : {}),
733
+ userQuery: turn.userQuery,
734
+ assistantReply: turn.assistantReply,
735
+ jumped: turn.jumped,
736
+ forkBoundary: index > 0 && chain[index - 1].sessionId !== turn.sessionId,
737
+ ...(turn.supersedesTurnIds && turn.supersedesTurnIds.length > 0
738
+ ? { supersedesTurnIds: turn.supersedesTurnIds }
739
+ : {}),
740
+ ...(turn.invalidAt !== undefined ? { invalidAt: turn.invalidAt } : {}),
741
+ }));
742
+ }
743
+ /**
744
+ * Explicit dialogue fork (Conversation Graph W3a): create a NEW dialogue
745
+ * session rooted at `fromTurnId`. The new session's first turn links
746
+ * `parentTurnId = fromTurnId` (next_section edge), so `dialogue list
747
+ * --path` can walk the spine across the fork boundary, and a `co_occurs`
748
+ * edge is NOT added (a fork is deliberate, not a jump).
749
+ *
750
+ * The fork records the source session's spine compactly: a single seed
751
+ * turn carrying the source question, plus fork metadata on the session hub
752
+ * (`forkedFrom`, `forkedFromTurnId`) for panel rendering. Pure graph
753
+ * operations; no snapshot copying.
754
+ */
755
+ async function forkDialogueSession(client, input) {
756
+ const now = input.now ?? Date.now();
757
+ const nodes = await collectDialogueNodes(client);
758
+ const sourceTurn = nodes
759
+ .map((node) => parseDialogueTurn(node))
760
+ .find((turn) => turn?.id === input.fromTurnId);
761
+ if (!sourceTurn)
762
+ return undefined;
763
+ const forkedSessionName = input.forkName?.trim() || `${sourceTurn.sessionId.slice("dialogue-session:".length)}-fork-${now.toString(36)}`;
764
+ // Seed the fork: the source question re-asked in the new session. The seed
765
+ // records WITHOUT resumeFrom (that flag only accepts same-session turns);
766
+ // the cross-session spine edge is added explicitly below.
767
+ const result = await recordDialogueTurn(client, {
768
+ userQuery: sourceTurn.userQuery,
769
+ ...(sourceTurn.assistantReply.trim() ? { assistantReply: sourceTurn.assistantReply } : {}),
770
+ sessionName: forkedSessionName,
771
+ ...(input.workspaceRoot ? { workspaceRoot: input.workspaceRoot } : {}),
772
+ now,
773
+ });
774
+ if (!result.recorded || !result.turn || !result.session)
775
+ return undefined;
776
+ // Fork spine: seed -next_section-> fork origin (cross-session) and
777
+ // parentTurnId on the record so dialogue list --path walks the boundary.
778
+ try {
779
+ await upsertUniqueEdges(client, [
780
+ { from: input.fromTurnId, to: result.turn.id, relation: "next_section" },
781
+ ]);
782
+ const seedWithParent = { ...result.turn, parentTurnId: input.fromTurnId };
783
+ const seedSession = await loadSession(client, result.session.id);
784
+ if (seedSession) {
785
+ await persistTurn(client, seedWithParent, seedSession, {
786
+ linkParent: false,
787
+ jumped: false,
788
+ relatedNodeIds: seedWithParent.relatedNodeIds,
789
+ });
790
+ }
791
+ }
792
+ catch {
793
+ // spine edges are additive
794
+ }
795
+ // Fork provenance on the session hub: read-modify-write the hub record.
796
+ try {
797
+ const hub = await loadSession(client, result.session.id);
798
+ if (hub) {
799
+ const patched = {
800
+ ...hub,
801
+ topicTokens: mergeTopicTokens(hub.topicTokens, sourceTurn.userQuery),
802
+ };
803
+ await persistSession(client, patched);
804
+ await upsertUniqueEdges(client, [
805
+ { from: result.session.id, to: sourceTurn.sessionId, relation: "same_topic" },
806
+ ]);
807
+ }
808
+ }
809
+ catch {
810
+ // provenance edges are additive
811
+ }
812
+ return {
813
+ forkedSessionId: result.session.id,
814
+ forkedSessionName,
815
+ sourceTurnId: input.fromTurnId,
816
+ copiedTurns: 1,
817
+ };
818
+ }
819
+ exports.AGENT_TRACE_PREFIX = "agent-trace:";
820
+ exports.AGENT_TRACE_KIND = "agent-trace";
821
+ const AGENT_TRACE_MAX_PER_TURN = 24;
822
+ function isAgentTraceNode(node) {
823
+ return node.metadata?.kind === exports.AGENT_TRACE_KIND || node.id.startsWith(exports.AGENT_TRACE_PREFIX);
824
+ }
825
+ /**
826
+ * Record one multi-agent trajectory event as a Decision node linked to the
827
+ * session hub (part_of) and its turn spine anchor (co_occurs): dsh glue
828
+ * listens to subagent/tool events and writes these so the conversation
829
+ * graph carries WHO did WHAT within a turn, not just Q/A.
830
+ * Pure single write; never throws into the caller.
831
+ */
832
+ async function recordAgentTrace(client, input) {
833
+ try {
834
+ const now = input.now ?? Date.now();
835
+ const sessionHash = input.sessionId.startsWith(exports.DIALOGUE_SESSION_PREFIX)
836
+ ? input.sessionId.slice(exports.DIALOGUE_SESSION_PREFIX.length)
837
+ : (0, hash_1.hashText)(input.sessionId);
838
+ // Dedupe key: kind+label+status+turn; seq suffix keeps distinct repeats.
839
+ const dedupe = (0, hash_1.hashText)(`${input.agentKind}|${input.label}|${input.status}|${input.turnSeq}`);
840
+ const id = `${exports.AGENT_TRACE_PREFIX}${sessionHash}:${String(input.turnSeq).padStart(4, "0")}:${dedupe.slice(0, 12)}`;
841
+ const record = {
842
+ id,
843
+ sessionId: input.sessionId,
844
+ turnSeq: input.turnSeq,
845
+ agentKind: input.agentKind,
846
+ label: clip(input.label, 120),
847
+ status: input.status,
848
+ createdAt: now,
849
+ };
850
+ const node = {
851
+ id,
852
+ type: "Decision",
853
+ content: `agent-trace turn#${input.turnSeq} ${input.agentKind}:${input.status} ${record.label}`,
854
+ metadata: {
855
+ kind: exports.AGENT_TRACE_KIND,
856
+ record: JSON.stringify(record),
857
+ agentKind: input.agentKind,
858
+ status: input.status,
859
+ },
860
+ };
861
+ await client.upsertNodes([node]);
862
+ await upsertUniqueEdges(client, [
863
+ { from: id, to: input.sessionId, relation: "part_of" },
864
+ ]);
865
+ return record;
866
+ }
867
+ catch {
868
+ return undefined;
869
+ }
870
+ }
871
+ /** List agent-trace records (optionally per session / turn), newest first. */
872
+ async function listAgentTraces(client, options) {
873
+ const snapshot = client.readSnapshot?.();
874
+ let nodes;
875
+ if (snapshot) {
876
+ nodes = snapshot.nodes.filter((node) => isAgentTraceNode(node));
877
+ }
878
+ else {
879
+ const byId = new Map();
880
+ for (const node of await client.queryByKeyword(exports.AGENT_TRACE_PREFIX)) {
881
+ if (isAgentTraceNode(node))
882
+ byId.set(node.id, node);
883
+ }
884
+ nodes = Array.from(byId.values());
885
+ }
886
+ const records = [];
887
+ for (const node of nodes) {
888
+ try {
889
+ const parsed = JSON.parse(typeof node.metadata?.record === "string" ? node.metadata.record : "{}");
890
+ if (typeof parsed.id !== "string" || typeof parsed.label !== "string")
891
+ continue;
892
+ records.push({
893
+ id: parsed.id,
894
+ sessionId: typeof parsed.sessionId === "string" ? parsed.sessionId : "",
895
+ turnSeq: typeof parsed.turnSeq === "number" ? parsed.turnSeq : 0,
896
+ agentKind: typeof parsed.agentKind === "string" ? parsed.agentKind : "",
897
+ label: parsed.label,
898
+ status: typeof parsed.status === "string" ? parsed.status : "",
899
+ createdAt: typeof parsed.createdAt === "number" ? parsed.createdAt : 0,
900
+ });
901
+ }
902
+ catch {
903
+ // skip malformed trace payloads
904
+ }
905
+ }
906
+ records.sort((a, b) => b.createdAt - a.createdAt || a.id.localeCompare(b.id));
907
+ let filtered = records;
908
+ if (options?.sessionId)
909
+ filtered = filtered.filter((r) => r.sessionId === options.sessionId);
910
+ if (options?.turnSeq !== undefined)
911
+ filtered = filtered.filter((r) => r.turnSeq === options.turnSeq);
912
+ return filtered.slice(0, Math.min(options?.limit ?? AGENT_TRACE_MAX_PER_TURN * 4, 200));
913
+ }
476
914
  //# sourceMappingURL=dialogue-thread.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dialogue-thread.js","sourceRoot":"","sources":["../../src/learning/dialogue-thread.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dialogue-thread.js","sourceRoot":"","sources":["../../src/learning/dialogue-thread.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/learning/embeddings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddings.d.ts","sourceRoot":"","sources":["../../src/learning/embeddings.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ const node_fs_1 = require("node:fs");
20
20
  const node_module_1 = require("node:module");
21
21
  const node_path_1 = require("node:path");
22
22
  const node_url_1 = require("node:url");
23
+ const embedding_model_1 = require("../config/embedding-model");
23
24
  const logger_1 = require("../utils/logger");
24
25
  exports.EMBEDDING_DIM = 384;
25
26
  exports.HASH_EMBEDDING_MODEL = "fnv1a-384";
@@ -209,7 +210,7 @@ function createTransformersEmbeddingProvider(options) {
209
210
  }
210
211
  const { pipeline } = transformers;
211
212
  const timeoutMs = parseInt(process.env[exports.GRAPHFLOW_EMBEDDING_TIMEOUT_MS_ENV] ?? "", 10) || 60000;
212
- extractor = await withTimeout(pipeline("feature-extraction", "Xenova/all-MiniLM-L6-v2"), timeoutMs, "pipeline('feature-extraction', 'Xenova/all-MiniLM-L6-v2')");
213
+ extractor = await withTimeout(pipeline("feature-extraction", embedding_model_1.CANONICAL_EMBEDDING_MODEL), timeoutMs, `pipeline('feature-extraction', '${embedding_model_1.CANONICAL_EMBEDDING_MODEL}')`);
213
214
  return extractor;
214
215
  }
215
216
  catch (error) {