@roarpeng/graphflow 1.12.2 → 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.
- package/CHANGELOG.md +43 -0
- package/README.md +7 -4
- package/README.zh.md +2 -1
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +2 -1
- package/dist/config/defaults.js.map +1 -1
- package/dist/config/embedding-factory.d.ts.map +1 -1
- package/dist/config/embedding-factory.js +2 -1
- package/dist/config/embedding-factory.js.map +1 -1
- package/dist/config/embedding-model.d.ts +7 -0
- package/dist/config/embedding-model.d.ts.map +1 -0
- package/dist/config/embedding-model.js +10 -0
- package/dist/config/embedding-model.js.map +1 -0
- package/dist/core/types.d.ts +4 -2
- package/dist/core/types.d.ts.map +1 -1
- package/dist/graph/context-slicer.d.ts.map +1 -1
- package/dist/graph/context-slicer.js +102 -0
- package/dist/graph/context-slicer.js.map +1 -1
- package/dist/graph/engineering-knowledge.d.ts +76 -0
- package/dist/graph/engineering-knowledge.d.ts.map +1 -0
- package/dist/graph/engineering-knowledge.js +170 -0
- package/dist/graph/engineering-knowledge.js.map +1 -0
- package/dist/graph/graph-compression.d.ts.map +1 -1
- package/dist/graph/graph-compression.js +3 -0
- package/dist/graph/graph-compression.js.map +1 -1
- package/dist/graph/graph-search.d.ts +26 -0
- package/dist/graph/graph-search.d.ts.map +1 -1
- package/dist/graph/graph-search.js +80 -0
- package/dist/graph/graph-search.js.map +1 -1
- package/dist/graph/memory-pack.d.ts +44 -1
- package/dist/graph/memory-pack.d.ts.map +1 -1
- package/dist/graph/memory-pack.js +134 -4
- package/dist/graph/memory-pack.js.map +1 -1
- package/dist/graph/snapshot-view.d.ts.map +1 -1
- package/dist/graph/snapshot-view.js +2 -0
- package/dist/graph/snapshot-view.js.map +1 -1
- package/dist/graph/team-governance.d.ts +48 -0
- package/dist/graph/team-governance.d.ts.map +1 -0
- package/dist/graph/team-governance.js +174 -0
- package/dist/graph/team-governance.js.map +1 -0
- package/dist/integrations/host-adapter.d.ts +14 -0
- package/dist/integrations/host-adapter.d.ts.map +1 -0
- package/dist/integrations/host-adapter.js +32 -0
- package/dist/integrations/host-adapter.js.map +1 -0
- package/dist/learning/dialogue-thread.d.ts +152 -0
- package/dist/learning/dialogue-thread.d.ts.map +1 -1
- package/dist/learning/dialogue-thread.js +439 -1
- package/dist/learning/dialogue-thread.js.map +1 -1
- package/dist/learning/embeddings.d.ts.map +1 -1
- package/dist/learning/embeddings.js +2 -1
- package/dist/learning/embeddings.js.map +1 -1
- package/dist/learning/episodic-memory.d.ts +4 -1
- package/dist/learning/episodic-memory.d.ts.map +1 -1
- package/dist/learning/episodic-memory.js +7 -1
- package/dist/learning/episodic-memory.js.map +1 -1
- package/dist/learning/evidence.d.ts +48 -0
- package/dist/learning/evidence.d.ts.map +1 -0
- package/dist/learning/evidence.js +112 -0
- package/dist/learning/evidence.js.map +1 -0
- package/dist/learning/turn-distillation.d.ts +24 -0
- package/dist/learning/turn-distillation.d.ts.map +1 -1
- package/dist/learning/turn-distillation.js +101 -0
- package/dist/learning/turn-distillation.js.map +1 -1
- package/dist/security/secure-store.d.ts +13 -0
- package/dist/security/secure-store.d.ts.map +1 -0
- package/dist/security/secure-store.js +42 -0
- package/dist/security/secure-store.js.map +1 -0
- package/dist/security/token-auth.d.ts +23 -0
- package/dist/security/token-auth.d.ts.map +1 -0
- package/dist/security/token-auth.js +86 -0
- package/dist/security/token-auth.js.map +1 -0
- package/dist/surfaces/cli/index.js +333 -3
- package/dist/surfaces/cli/index.js.map +1 -1
- package/dist/surfaces/cli/output.d.ts.map +1 -1
- package/dist/surfaces/cli/output.js +7 -2
- package/dist/surfaces/cli/output.js.map +1 -1
- package/dist/surfaces/cli/runtime/dialogue.d.ts +61 -0
- package/dist/surfaces/cli/runtime/dialogue.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/dialogue.js +121 -6
- package/dist/surfaces/cli/runtime/dialogue.js.map +1 -1
- package/dist/surfaces/cli/runtime/evidence.d.ts +34 -0
- package/dist/surfaces/cli/runtime/evidence.d.ts.map +1 -0
- package/dist/surfaces/cli/runtime/evidence.js +82 -0
- package/dist/surfaces/cli/runtime/evidence.js.map +1 -0
- package/dist/surfaces/cli/runtime/governance.d.ts +88 -0
- package/dist/surfaces/cli/runtime/governance.d.ts.map +1 -0
- package/dist/surfaces/cli/runtime/governance.js +245 -0
- package/dist/surfaces/cli/runtime/governance.js.map +1 -0
- package/dist/surfaces/cli/runtime/graph.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/graph.js +36 -3
- package/dist/surfaces/cli/runtime/graph.js.map +1 -1
- package/dist/surfaces/cli/runtime/routing.d.ts +4 -1
- package/dist/surfaces/cli/runtime/routing.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime/routing.js +6 -2
- package/dist/surfaces/cli/runtime/routing.js.map +1 -1
- package/dist/surfaces/cli/runtime/types.d.ts +8 -0
- package/dist/surfaces/cli/runtime/types.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.d.ts +3 -1
- package/dist/surfaces/cli/runtime.d.ts.map +1 -1
- package/dist/surfaces/cli/runtime.js +23 -1
- package/dist/surfaces/cli/runtime.js.map +1 -1
- package/dist/surfaces/mcp/server.d.ts +7 -0
- package/dist/surfaces/mcp/server.d.ts.map +1 -1
- package/dist/surfaces/mcp/server.js +74 -5
- package/dist/surfaces/mcp/server.js.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-definitions.js +8 -1
- package/dist/surfaces/mcp/tool-definitions.js.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.d.ts.map +1 -1
- package/dist/surfaces/mcp/tool-handlers.js +22 -1
- package/dist/surfaces/mcp/tool-handlers.js.map +1 -1
- package/dsh/plugin.mjs +111 -6
- package/package.json +4 -1
- package/plugin.json +1 -1
- package/web/plugin.mjs +45 -2
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HOST_ADAPTERS = void 0;
|
|
4
|
+
exports.getHostAdapter = getHostAdapter;
|
|
5
|
+
exports.hostsWithCapability = hostsWithCapability;
|
|
6
|
+
exports.HOST_ADAPTERS = [
|
|
7
|
+
{
|
|
8
|
+
id: "deepseek-harness",
|
|
9
|
+
displayName: "DeepSeek Harness",
|
|
10
|
+
capabilities: ["mcp-stdio", "skills", "hooks", "client-panel", "workbench"],
|
|
11
|
+
toolPrefix: "mcp__graphflow__",
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
id: "cursor",
|
|
15
|
+
displayName: "Cursor",
|
|
16
|
+
capabilities: ["mcp-stdio", "skills", "rules"],
|
|
17
|
+
homeMarker: ".cursor",
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
id: "claude-code",
|
|
21
|
+
displayName: "Claude Code",
|
|
22
|
+
capabilities: ["mcp-stdio", "skills", "rules", "hooks"],
|
|
23
|
+
homeMarker: ".claude",
|
|
24
|
+
},
|
|
25
|
+
];
|
|
26
|
+
function getHostAdapter(id) {
|
|
27
|
+
return exports.HOST_ADAPTERS.find((adapter) => adapter.id === id);
|
|
28
|
+
}
|
|
29
|
+
function hostsWithCapability(capability) {
|
|
30
|
+
return exports.HOST_ADAPTERS.filter((adapter) => adapter.capabilities.includes(capability));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=host-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-adapter.js","sourceRoot":"","sources":["../../src/integrations/host-adapter.ts"],"names":[],"mappings":";;;AAwCA,wCAEC;AAED,kDAEC;AA3BY,QAAA,aAAa,GAA2B;IACnD;QACE,EAAE,EAAE,kBAAkB;QACtB,WAAW,EAAE,kBAAkB;QAC/B,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,CAAC;QAC3E,UAAU,EAAE,kBAAkB;KAC/B;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,WAAW,EAAE,QAAQ;QACrB,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC;QAC9C,UAAU,EAAE,SAAS;KACtB;IACD;QACE,EAAE,EAAE,aAAa;QACjB,WAAW,EAAE,aAAa;QAC1B,YAAY,EAAE,CAAC,WAAW,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC;QACvD,UAAU,EAAE,SAAS;KACtB;CACO,CAAC;AAEX,SAAgB,cAAc,CAAC,EAAU;IACvC,OAAO,qBAAa,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAgB,mBAAmB,CAAC,UAA0B;IAC5D,OAAO,qBAAa,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -12,6 +12,20 @@ import type { GraphClient } from "../graph/client-factory";
|
|
|
12
12
|
* parent -next_section-> turn (resumeFrom or previous tip)
|
|
13
13
|
* prevTip -co_occurs-> turn (when the click is a jump)
|
|
14
14
|
* turn -references-> code (optional L1 anchors)
|
|
15
|
+
* turn -supersedes-> priorTurn (correction: this turn's
|
|
16
|
+
* answer replaces an earlier
|
|
17
|
+
* conclusion on the same topic;
|
|
18
|
+
* Graphiti-style temporal edge)
|
|
19
|
+
* turn -same_topic-> turn' (cross-session semantic link:
|
|
20
|
+
* both turns discuss the same
|
|
21
|
+
* code/topic tokens)
|
|
22
|
+
*
|
|
23
|
+
* Temporal semantics (Conversation Graph 2.0):
|
|
24
|
+
* - validAt: ms epoch when the turn's conclusion became effective
|
|
25
|
+
* (defaults to createdAt; a later correction gets its own
|
|
26
|
+
* validAt so "current truth" = newest validAt on the chain)
|
|
27
|
+
* - invalidAt: ms epoch when the turn's conclusion stopped being current
|
|
28
|
+
* (set on the superseded turn when a supersedes edge lands)
|
|
15
29
|
*/
|
|
16
30
|
export declare const DIALOGUE_TURN_PREFIX = "dialogue:";
|
|
17
31
|
export declare const DIALOGUE_SESSION_PREFIX = "dialogue-session:";
|
|
@@ -34,6 +48,16 @@ export interface DialogueTurnRecord {
|
|
|
34
48
|
title?: string;
|
|
35
49
|
/** Distilled conclusion summary (offline heuristic, no LLM). */
|
|
36
50
|
summary?: string;
|
|
51
|
+
/**
|
|
52
|
+
* Temporal edge (Conversation Graph 2.0): ids of earlier turns whose
|
|
53
|
+
* conclusion this turn's answer corrects/replaces. Mirrors the
|
|
54
|
+
* `supersedes` graph edge; kept on the record for O(1) reads.
|
|
55
|
+
*/
|
|
56
|
+
supersedesTurnIds?: string[];
|
|
57
|
+
/** Temporal validity: ms epoch when this turn's conclusion became effective (defaults to createdAt). */
|
|
58
|
+
validAt?: number;
|
|
59
|
+
/** Temporal validity: ms epoch when this turn's conclusion stopped being current (set when superseded). */
|
|
60
|
+
invalidAt?: number;
|
|
37
61
|
}
|
|
38
62
|
export interface DialogueSessionRecord {
|
|
39
63
|
id: string;
|
|
@@ -100,4 +124,132 @@ export declare function loadDialogueThread(client: GraphClient, options?: {
|
|
|
100
124
|
}): Promise<DialogueThreadView | undefined>;
|
|
101
125
|
export declare function formatDialogueThreadLines(thread: DialogueThreadView): string[];
|
|
102
126
|
export declare function scoreTopicOverlap(previousTokens: string[], query: string): number;
|
|
127
|
+
/**
|
|
128
|
+
* Offline heuristic: which earlier turns does this answer supersede?
|
|
129
|
+
*
|
|
130
|
+
* A turn T' supersedes T when:
|
|
131
|
+
* 1. T' carries a correction marker in its reply (or its query re-asks the
|
|
132
|
+
* same topic as T), AND
|
|
133
|
+
* 2. T's question/topic tokens overlap T' enough that they discuss the same
|
|
134
|
+
* subject, AND
|
|
135
|
+
* 3. T already has an answer (a pending turn cannot be superseded — nothing
|
|
136
|
+
* to replace), AND
|
|
137
|
+
* 4. T is not already superseded by another kept turn (nearest N win).
|
|
138
|
+
*
|
|
139
|
+
* Deterministic and conservative: no LLM, no I/O. Returns turn ids ordered
|
|
140
|
+
* oldest-first, capped at `limit`.
|
|
141
|
+
*/
|
|
142
|
+
export declare function detectSupersession(turns: DialogueTurnRecord[], userQuery: string, assistantReply: string, currentSeq: number, limit?: number): string[];
|
|
143
|
+
/**
|
|
144
|
+
* Candidate cross-session same_topic links for a newly recorded turn:
|
|
145
|
+
* other-session turns whose query tokens overlap the new query beyond
|
|
146
|
+
* `SAME_TOPIC_MIN_OVERLAP` (falling back to session topicTokens when the
|
|
147
|
+
* query itself is sparse). Pure — callers persist the chosen edges.
|
|
148
|
+
*/
|
|
149
|
+
export declare function detectSameTopicLinks(allTurns: DialogueTurnRecord[], next: {
|
|
150
|
+
id: string;
|
|
151
|
+
userQuery: string;
|
|
152
|
+
}, sessionTopicTokens: string[], options?: {
|
|
153
|
+
limit?: number;
|
|
154
|
+
}): Array<{
|
|
155
|
+
from: string;
|
|
156
|
+
to: string;
|
|
157
|
+
}>;
|
|
158
|
+
/**
|
|
159
|
+
* Effective (current) turns of a set: drop turns carrying an `invalidAt`
|
|
160
|
+
* unless the caller asks for the full history. Used by L3 packing and
|
|
161
|
+
* retrieval so agents see "current truth" by default and the correction
|
|
162
|
+
* chain only on request.
|
|
163
|
+
*/
|
|
164
|
+
export declare function effectiveTurns(turns: DialogueTurnRecord[], options?: {
|
|
165
|
+
includeSuperseded?: boolean;
|
|
166
|
+
}): DialogueTurnRecord[];
|
|
167
|
+
/**
|
|
168
|
+
* Render a correction chain line for a superseded turn: "结论 X 已被修正为
|
|
169
|
+
* Y (turn#seq)" — used by retrieval annotations and L3 packing.
|
|
170
|
+
*/
|
|
171
|
+
export declare function formatSupersessionLine(turn: DialogueTurnRecord, supersededBy: DialogueTurnRecord): string;
|
|
172
|
+
/** One hop on the replay path (dialogue list --path). */
|
|
173
|
+
export interface DialoguePathStep {
|
|
174
|
+
id: string;
|
|
175
|
+
seq: number;
|
|
176
|
+
sessionId: string;
|
|
177
|
+
title?: string;
|
|
178
|
+
userQuery: string;
|
|
179
|
+
assistantReply: string;
|
|
180
|
+
jumped: boolean;
|
|
181
|
+
/** True when this step is the fork boundary (session changed from the previous step). */
|
|
182
|
+
forkBoundary: boolean;
|
|
183
|
+
supersedesTurnIds?: string[];
|
|
184
|
+
invalidAt?: number;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Replay path walk (pure graph): the turn spine ending at `endTurnId`,
|
|
188
|
+
* following parentTurnId links (jump targets + fork boundaries included)
|
|
189
|
+
* back to the first turn. Returns steps oldest-first.
|
|
190
|
+
*/
|
|
191
|
+
export declare function walkDialoguePath(allTurns: DialogueTurnRecord[], endTurnId: string, limit?: number): DialoguePathStep[];
|
|
192
|
+
/** Fork result: a new session whose spine starts from the chosen turn. */
|
|
193
|
+
export interface ForkDialogueResult {
|
|
194
|
+
forkedSessionId: string;
|
|
195
|
+
forkedSessionName: string;
|
|
196
|
+
sourceTurnId: string;
|
|
197
|
+
/** Turns copied into the fork (source spine up to and including the fork point). */
|
|
198
|
+
copiedTurns: number;
|
|
199
|
+
}
|
|
200
|
+
/**
|
|
201
|
+
* Explicit dialogue fork (Conversation Graph W3a): create a NEW dialogue
|
|
202
|
+
* session rooted at `fromTurnId`. The new session's first turn links
|
|
203
|
+
* `parentTurnId = fromTurnId` (next_section edge), so `dialogue list
|
|
204
|
+
* --path` can walk the spine across the fork boundary, and a `co_occurs`
|
|
205
|
+
* edge is NOT added (a fork is deliberate, not a jump).
|
|
206
|
+
*
|
|
207
|
+
* The fork records the source session's spine compactly: a single seed
|
|
208
|
+
* turn carrying the source question, plus fork metadata on the session hub
|
|
209
|
+
* (`forkedFrom`, `forkedFromTurnId`) for panel rendering. Pure graph
|
|
210
|
+
* operations; no snapshot copying.
|
|
211
|
+
*/
|
|
212
|
+
export declare function forkDialogueSession(client: GraphClient, input: {
|
|
213
|
+
fromTurnId: string;
|
|
214
|
+
forkName?: string;
|
|
215
|
+
workspaceRoot?: string;
|
|
216
|
+
now?: number;
|
|
217
|
+
}): Promise<ForkDialogueResult | undefined>;
|
|
218
|
+
/** Agent-trace node: one orchestrator step of a multi-agent turn (W3a). */
|
|
219
|
+
export interface AgentTraceRecord {
|
|
220
|
+
id: string;
|
|
221
|
+
sessionId: string;
|
|
222
|
+
turnSeq: number;
|
|
223
|
+
/** Sub-agent kind: "subagent" | "tool" | "interrupt". */
|
|
224
|
+
agentKind: string;
|
|
225
|
+
/** Short label: subagent description or tool name. */
|
|
226
|
+
label: string;
|
|
227
|
+
/** Outcome: "start" | "settled" | "failed" | "interrupted". */
|
|
228
|
+
status: string;
|
|
229
|
+
createdAt: number;
|
|
230
|
+
}
|
|
231
|
+
export declare const AGENT_TRACE_PREFIX = "agent-trace:";
|
|
232
|
+
export declare const AGENT_TRACE_KIND = "agent-trace";
|
|
233
|
+
export declare function isAgentTraceNode(node: GraphNode): boolean;
|
|
234
|
+
/**
|
|
235
|
+
* Record one multi-agent trajectory event as a Decision node linked to the
|
|
236
|
+
* session hub (part_of) and its turn spine anchor (co_occurs): dsh glue
|
|
237
|
+
* listens to subagent/tool events and writes these so the conversation
|
|
238
|
+
* graph carries WHO did WHAT within a turn, not just Q/A.
|
|
239
|
+
* Pure single write; never throws into the caller.
|
|
240
|
+
*/
|
|
241
|
+
export declare function recordAgentTrace(client: GraphClient, input: {
|
|
242
|
+
sessionId: string;
|
|
243
|
+
turnSeq: number;
|
|
244
|
+
agentKind: string;
|
|
245
|
+
label: string;
|
|
246
|
+
status: string;
|
|
247
|
+
now?: number;
|
|
248
|
+
}): Promise<AgentTraceRecord | undefined>;
|
|
249
|
+
/** List agent-trace records (optionally per session / turn), newest first. */
|
|
250
|
+
export declare function listAgentTraces(client: GraphClient, options?: {
|
|
251
|
+
sessionId?: string;
|
|
252
|
+
turnSeq?: number;
|
|
253
|
+
limit?: number;
|
|
254
|
+
}): Promise<AgentTraceRecord[]>;
|
|
103
255
|
//# sourceMappingURL=dialogue-thread.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dialogue-thread.d.ts","sourceRoot":"","sources":["../../src/learning/dialogue-thread.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAI3D
|
|
1
|
+
{"version":3,"file":"dialogue-thread.d.ts","sourceRoot":"","sources":["../../src/learning/dialogue-thread.ts"],"names":[],"mappings":"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"}
|