mindforge-sdk 10.7.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/dist/index.js ADDED
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ /**
3
+ * MindForge SDK — Public API
4
+ * @module @mindforge/sdk
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.VERSION = exports.MindForgeMemory = exports.commands = exports.MindForgeEventStream = exports.MindForgeClient = void 0;
8
+ var client_1 = require("./client");
9
+ Object.defineProperty(exports, "MindForgeClient", { enumerable: true, get: function () { return client_1.MindForgeClient; } });
10
+ var events_1 = require("./events");
11
+ Object.defineProperty(exports, "MindForgeEventStream", { enumerable: true, get: function () { return events_1.MindForgeEventStream; } });
12
+ var commands_1 = require("./commands");
13
+ Object.defineProperty(exports, "commands", { enumerable: true, get: function () { return commands_1.commands; } });
14
+ var memory_1 = require("./memory");
15
+ Object.defineProperty(exports, "MindForgeMemory", { enumerable: true, get: function () { return memory_1.MindForgeMemory; } });
16
+ exports.VERSION = '10.7.0';
@@ -0,0 +1,183 @@
1
+ /**
2
+ * MindForge v2.4.0 SDK — Memory API (RAG 2.0)
3
+ * Self-contained TypeScript interface to the MindForge Knowledge Graph.
4
+ *
5
+ * This module is fully standalone — it reads/writes JSONL files directly
6
+ * without depending on bin/ internal modules.
7
+ */
8
+ export type KnowledgeType = 'architectural_decision' | 'code_pattern' | 'bug_pattern' | 'team_preference' | 'domain_knowledge';
9
+ export interface KnowledgeEntry {
10
+ id: string;
11
+ timestamp: string;
12
+ type: KnowledgeType;
13
+ topic: string;
14
+ content: string;
15
+ source: string;
16
+ project: string;
17
+ confidence: number;
18
+ tags: string[];
19
+ linked_adrs: string[];
20
+ times_referenced: number;
21
+ last_referenced: string | null;
22
+ deprecated: boolean;
23
+ deprecated_by: string | null;
24
+ decision?: string;
25
+ rationale?: string;
26
+ root_cause?: string;
27
+ fix?: string;
28
+ preference?: string;
29
+ strength?: 'strong' | 'moderate' | 'weak';
30
+ bug_category?: string;
31
+ domain?: string;
32
+ tech_stack?: string[];
33
+ global?: boolean;
34
+ promoted_at?: string;
35
+ }
36
+ export interface QueryParams {
37
+ tags?: string[];
38
+ topic?: string;
39
+ type?: KnowledgeType;
40
+ minConfidence?: number;
41
+ limit?: number;
42
+ includeGlobal?: boolean;
43
+ includeDeprecated?: boolean;
44
+ project?: string;
45
+ }
46
+ export interface MemoryStats {
47
+ total_entries: number;
48
+ active_entries: number;
49
+ deprecated_entries: number;
50
+ by_type: Record<string, number>;
51
+ avg_confidence: number;
52
+ }
53
+ export interface SessionContext {
54
+ preferences: KnowledgeEntry[];
55
+ decisions: KnowledgeEntry[];
56
+ bugPatterns: KnowledgeEntry[];
57
+ codePatterns: KnowledgeEntry[];
58
+ domain: KnowledgeEntry[];
59
+ count: number;
60
+ formatted: string;
61
+ }
62
+ export type EdgeType = 'RELATED_TO' | 'CAUSED_BY' | 'SUPERSEDES' | 'DEPENDS_ON' | 'INFORMS' | 'CONTRADICTS';
63
+ export interface GraphEdge {
64
+ id: string;
65
+ sourceId: string;
66
+ targetId: string;
67
+ type: EdgeType;
68
+ weight: number;
69
+ reason: string;
70
+ metadata: Record<string, unknown>;
71
+ created_at: string;
72
+ last_traversed: string | null;
73
+ traversal_count: number;
74
+ deprecated: boolean;
75
+ checksum: string;
76
+ }
77
+ export interface ShadowContext {
78
+ formatted: string;
79
+ items: ShadowItem[];
80
+ count: number;
81
+ budgetUsed: number;
82
+ }
83
+ export interface ShadowItem {
84
+ id: string;
85
+ type: KnowledgeType;
86
+ topic: string;
87
+ content: string;
88
+ confidence: number;
89
+ score: number;
90
+ source: string;
91
+ tags: string[];
92
+ edges?: string;
93
+ }
94
+ export interface GraphStats {
95
+ total_nodes: number;
96
+ total_edges: number;
97
+ edges_by_type: Record<string, number>;
98
+ orphan_nodes: number;
99
+ avg_weight: number;
100
+ connected_ratio: number;
101
+ }
102
+ export interface TraversalResult {
103
+ id: string;
104
+ depth: number;
105
+ path: string[];
106
+ }
107
+ /**
108
+ * MindForge Knowledge Graph client (RAG 2.0).
109
+ */
110
+ export declare class MindForgeMemory {
111
+ private readonly projectRoot;
112
+ private readonly memoryDir;
113
+ private readonly kbPath;
114
+ private readonly globalPath;
115
+ private readonly edgesPath;
116
+ constructor(projectRoot?: string);
117
+ /** Add a new knowledge entry. */
118
+ remember(entry: Partial<KnowledgeEntry>): Promise<string>;
119
+ /** Query the knowledge base. */
120
+ query(params?: QueryParams): Promise<KnowledgeEntry[]>;
121
+ /** Reinforce an entry (increase confidence). */
122
+ reinforce(id: string): Promise<void>;
123
+ /** Deprecate an entry. */
124
+ deprecate(id: string, reason: string, supersededBy?: string): Promise<void>;
125
+ /** Get memory statistics. */
126
+ getStats(): Promise<MemoryStats>;
127
+ /** Load context for a session. */
128
+ loadContext(opts: {
129
+ techStack?: string[];
130
+ phase?: string;
131
+ topic?: string;
132
+ }): Promise<SessionContext>;
133
+ /** Add a typed edge between two knowledge nodes. */
134
+ addEdge(edge: {
135
+ sourceId: string;
136
+ targetId: string;
137
+ type: EdgeType;
138
+ weight?: number;
139
+ reason?: string;
140
+ }): Promise<string>;
141
+ /** Get all edges for a specific node. */
142
+ getEdges(nodeId: string, opts?: {
143
+ direction?: 'outgoing' | 'incoming' | 'both';
144
+ edgeTypes?: EdgeType[];
145
+ }): Promise<GraphEdge[]>;
146
+ /** BFS traversal from a starting node. */
147
+ traverse(startId: string, maxDepth?: number, opts?: {
148
+ edgeTypes?: EdgeType[];
149
+ minWeight?: number;
150
+ }): Promise<TraversalResult[]>;
151
+ /** Find related knowledge via keyword-based scoring + graph traversal. */
152
+ findRelated(queryText: string, opts?: {
153
+ maxHops?: number;
154
+ topK?: number;
155
+ }): Promise<Array<{
156
+ id: string;
157
+ score: number;
158
+ source: string;
159
+ }>>;
160
+ /** Generate auto-shadow context for a task. */
161
+ autoShadow(opts: {
162
+ taskDescription: string;
163
+ excludeIds?: string[];
164
+ techStack?: string[];
165
+ }): Promise<ShadowContext>;
166
+ /** Get graph statistics. */
167
+ getGraphStats(): Promise<GraphStats>;
168
+ /** Apply weight decay to stale edges. */
169
+ decayEdges(): Promise<{
170
+ decayed: number;
171
+ pruned: number;
172
+ }>;
173
+ /** Detect cycles in directed edge types. */
174
+ detectCycles(): Promise<string[][]>;
175
+ /** Verify SHA-256 integrity of all edges. */
176
+ verifyIntegrity(): Promise<{
177
+ valid: number;
178
+ corrupted: string[];
179
+ }>;
180
+ private readAllEntries;
181
+ private readAllEdges;
182
+ private formatSessionContext;
183
+ }