aifastdb 2.7.1 → 2.8.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/aifastdb.win32-x64-msvc.node +0 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/social-graph-v2-traversal.test.d.ts +14 -0
- package/dist/social-graph-v2-traversal.test.d.ts.map +1 -0
- package/dist/social-graph-v2-traversal.test.js +202 -0
- package/dist/social-graph-v2-traversal.test.js.map +1 -0
- package/dist/social-graph-v2.d.ts +544 -0
- package/dist/social-graph-v2.d.ts.map +1 -1
- package/dist/social-graph-v2.js +267 -1
- package/dist/social-graph-v2.js.map +1 -1
- package/package.json +3 -3
|
Binary file
|
package/dist/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { SocialGraph } from './social-graph';
|
|
|
20
20
|
export { ConnectMeAdapter } from './connectme-adapter';
|
|
21
21
|
export { EnhancedDocumentStore, type EnhancedStoreConfig, type DocumentInput, type DocumentStoreDocument, type TaskDocument, type ArchitectureDocument, developmentConfig as documentStoreDevelopmentConfig, documentStoreProductionConfig, storeProductionConfig, generateTaskId, createTaskDocumentInput, createArchitectureDocumentInput, } from './document-store';
|
|
22
22
|
export { ArchitectureStore, createArchitectureStore, type ArchDocType, type ModuleRelationType, type ModuleInfo, type ModuleRelation, type ModuleEntity, type ArchitectureStoreConfig, } from './architecture-store';
|
|
23
|
-
export { SocialGraphV2, createSocialGraphV2, createHighThroughputSocialGraph, createLowLatencySocialGraph, type SocialGraphV2Config, type SocialGraphMetrics, type FriendPair, type VectorSearchConfig, type VectorSearchHit, type WalCompactReport, type WalCompactShardResult, } from './social-graph-v2';
|
|
23
|
+
export { SocialGraphV2, createSocialGraphV2, createHighThroughputSocialGraph, createLowLatencySocialGraph, type SocialGraphV2Config, type SocialGraphMetrics, type FriendPair, type VectorSearchConfig, type VectorSearchHit, type WalCompactReport, type WalCompactShardResult, type MemoryTreeConfig, type DecomposedEntity, type DecomposedRelation, type DecompositionResult, type MemoryTreeEmbeddingInput, type MemoryTreeStoreResult, type ActivationScore, type ActivatedRelation, type ActivatedMemory, type ActivationResult, type MemoryScanReport, type MemoryConflict, type ConflictResult, MemoryEntityTypes, MemoryRelationTypes, } from './social-graph-v2';
|
|
24
24
|
export { FamilyTreeManager } from './family-tree';
|
|
25
25
|
export * from './family-types';
|
|
26
26
|
export { CollectionConfig, OnDeleteAction, ForeignKeyConfig, ForeignKeyValidationResult, CascadeDeleteResult, PopulateConfig, populate, foreignKey, MultiCollectionQueryOptions, EmbeddingFunction, BatchEmbeddingFunction, EmbeddingProvider, OpenAIEmbeddingConfig, EnrichedMemory, EnrichedSearchResult, ChunkingOptions, Document, IngestionResult, GraphTraversalResult, Filters, RelationTypes, EntityTypes, Modality, PerceptionConfig, ReasoningConfig, VibeSynapseConfig, MultimodalInput, PerceptionResult, ReasoningResult, LogicCheckResult, CrossModalSearchOptions, PerceptionPresets, ReasoningPresets, ShardStrategy, SyncMode, ConcurrentConfig, WriteReceipt, WriteMetrics, RecoveryResult, ConcurrentPresets, } from './types';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAGH,OAAO,EACL,QAAQ,EACR,OAAO,EACP,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,WAAW,GACZ,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,2BAA2B,EAC3B,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGvD,OAAO,EACL,qBAAqB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,KAAK,YAAY,EACjB,KAAK,oBAAoB,EACzB,iBAAiB,IAAI,8BAA8B,EACnD,6BAA6B,EAC7B,qBAAqB,EACrB,cAAc,EACd,uBAAuB,EACvB,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,uBAAuB,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,+BAA+B,EAC/B,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,UAAU,EACf,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -27,8 +27,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
27
27
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
28
28
|
};
|
|
29
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
-
exports.
|
|
31
|
-
exports.
|
|
30
|
+
exports.isDirectory = exports.pathExists = exports.toRelativePath = exports.toAbsolutePath = exports.normalizePath = exports.DEFAULT_DIMENSION = exports.DEFAULT_ROOT_NAME = exports.CONFIG_FILE_NAME = exports.openDefaultDatabase = exports.createDatabase = exports.openAiFastDb = exports.initAiFastDb = exports.AiFastDbRoot = exports.ConcurrentPresets = exports.ReasoningPresets = exports.PerceptionPresets = exports.EntityTypes = exports.RelationTypes = exports.Filters = exports.foreignKey = exports.populate = exports.FamilyTreeManager = exports.MemoryRelationTypes = exports.MemoryEntityTypes = exports.createLowLatencySocialGraph = exports.createHighThroughputSocialGraph = exports.createSocialGraphV2 = exports.SocialGraphV2 = exports.createArchitectureStore = exports.ArchitectureStore = exports.createArchitectureDocumentInput = exports.createTaskDocumentInput = exports.generateTaskId = exports.storeProductionConfig = exports.documentStoreProductionConfig = exports.documentStoreDevelopmentConfig = exports.EnhancedDocumentStore = exports.ConnectMeAdapter = exports.SocialGraph = exports.createVibeSynapseWithOllama = exports.createVibeSynapseWithMiniLM = exports.createVibeSynapse = exports.VibeSynapse = exports.MemoryManager = exports.QueryBuilder = exports.createAiFastDb = exports.AiFastDbClient = exports.ContentType = exports.version = exports.AiFastDb = void 0;
|
|
31
|
+
exports.ENTITY_TYPE_CARPOOL_TRIP = exports.CarpoolError = exports.CarpoolErrorCode = exports.validateUpdateVehicleInput = exports.validateRegisterVehicleInput = exports.validateLicensePlate = exports.validateLocation = exports.validateDateNotExpired = exports.validateDate = exports.validateRating = exports.validateApplyTripInput = exports.validateCreateTripInput = exports.ReportSystem = exports.PrivacyGuard = exports.TripScheduler = exports.TripIndex = exports.TrustEvaluator = exports.CarpoolMatcher = exports.CarpoolRepository = exports.CarpoolService = exports.productionConfig = exports.intranetConfig = exports.localConfig = exports.createClientWithToken = exports.createClientWithApiKey = exports.createClientWithCredentials = exports.SecureClient = exports.createSecureClient = exports.createSecureServer = exports.SecurityMode = exports.QueryTarget = exports.createFederatedDb = exports.FederatedTransaction = exports.FederatedDb = exports.cliMain = exports.printPlatformCheckReport = exports.runPlatformCheck = exports.testCreateDirectory = exports.checkDirectoryCreation = exports.isValidFolderName = exports.isDirectoryWritable = exports.isPathTooLong = exports.getMaxPathLength = exports.getPlatformName = exports.getPlatformInfo = exports.isValidDatabaseName = exports.joinPaths = exports.removeDirectory = exports.ensureDirectory = exports.isFile = void 0;
|
|
32
|
+
exports.RELATION_TYPES = exports.ENTITY_TYPE_VEHICLE = void 0;
|
|
32
33
|
// Re-export native bindings
|
|
33
34
|
var native_1 = require("./native");
|
|
34
35
|
Object.defineProperty(exports, "AiFastDb", { enumerable: true, get: function () { return native_1.AiFastDb; } });
|
|
@@ -72,6 +73,8 @@ Object.defineProperty(exports, "SocialGraphV2", { enumerable: true, get: functio
|
|
|
72
73
|
Object.defineProperty(exports, "createSocialGraphV2", { enumerable: true, get: function () { return social_graph_v2_1.createSocialGraphV2; } });
|
|
73
74
|
Object.defineProperty(exports, "createHighThroughputSocialGraph", { enumerable: true, get: function () { return social_graph_v2_1.createHighThroughputSocialGraph; } });
|
|
74
75
|
Object.defineProperty(exports, "createLowLatencySocialGraph", { enumerable: true, get: function () { return social_graph_v2_1.createLowLatencySocialGraph; } });
|
|
76
|
+
Object.defineProperty(exports, "MemoryEntityTypes", { enumerable: true, get: function () { return social_graph_v2_1.MemoryEntityTypes; } });
|
|
77
|
+
Object.defineProperty(exports, "MemoryRelationTypes", { enumerable: true, get: function () { return social_graph_v2_1.MemoryRelationTypes; } });
|
|
75
78
|
// Export Family Tree API
|
|
76
79
|
var family_tree_1 = require("./family-tree");
|
|
77
80
|
Object.defineProperty(exports, "FamilyTreeManager", { enumerable: true, get: function () { return family_tree_1.FamilyTreeManager; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../ts/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* SocialGraphV2 Graph Traversal & Mutations — Integration Test (T107.4)
|
|
4
|
+
*
|
|
5
|
+
* Covers:
|
|
6
|
+
* - outgoingByType / incomingByType (typed relation queries)
|
|
7
|
+
* - extractSubgraph (N-hop sub-graph extraction)
|
|
8
|
+
* - traverse (BFS/DFS/WeightedBFS)
|
|
9
|
+
* - applyMutations (batch graph mutations)
|
|
10
|
+
* - updateRelationWeight / adjustRelationWeight / updateRelationMetadata
|
|
11
|
+
* - dynamicRecordAccess / dynamicDemote / dynamicPromote / dynamicScan
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=social-graph-v2-traversal.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-graph-v2-traversal.test.d.ts","sourceRoot":"","sources":["../ts/social-graph-v2-traversal.test.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* SocialGraphV2 Graph Traversal & Mutations — Integration Test (T107.4)
|
|
5
|
+
*
|
|
6
|
+
* Covers:
|
|
7
|
+
* - outgoingByType / incomingByType (typed relation queries)
|
|
8
|
+
* - extractSubgraph (N-hop sub-graph extraction)
|
|
9
|
+
* - traverse (BFS/DFS/WeightedBFS)
|
|
10
|
+
* - applyMutations (batch graph mutations)
|
|
11
|
+
* - updateRelationWeight / adjustRelationWeight / updateRelationMetadata
|
|
12
|
+
* - dynamicRecordAccess / dynamicDemote / dynamicPromote / dynamicScan
|
|
13
|
+
*/
|
|
14
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
17
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
18
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
19
|
+
}
|
|
20
|
+
Object.defineProperty(o, k2, desc);
|
|
21
|
+
}) : (function(o, m, k, k2) {
|
|
22
|
+
if (k2 === undefined) k2 = k;
|
|
23
|
+
o[k2] = m[k];
|
|
24
|
+
}));
|
|
25
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
26
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
27
|
+
}) : function(o, v) {
|
|
28
|
+
o["default"] = v;
|
|
29
|
+
});
|
|
30
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
31
|
+
var ownKeys = function(o) {
|
|
32
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
33
|
+
var ar = [];
|
|
34
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
35
|
+
return ar;
|
|
36
|
+
};
|
|
37
|
+
return ownKeys(o);
|
|
38
|
+
};
|
|
39
|
+
return function (mod) {
|
|
40
|
+
if (mod && mod.__esModule) return mod;
|
|
41
|
+
var result = {};
|
|
42
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
43
|
+
__setModuleDefault(result, mod);
|
|
44
|
+
return result;
|
|
45
|
+
};
|
|
46
|
+
})();
|
|
47
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
48
|
+
const os = __importStar(require("os"));
|
|
49
|
+
const path = __importStar(require("path"));
|
|
50
|
+
const fs = __importStar(require("fs"));
|
|
51
|
+
const social_graph_v2_1 = require("./social-graph-v2");
|
|
52
|
+
// ============================================================================
|
|
53
|
+
// Test Utilities
|
|
54
|
+
// ============================================================================
|
|
55
|
+
let passed = 0;
|
|
56
|
+
let failed = 0;
|
|
57
|
+
const failures = [];
|
|
58
|
+
function assert(condition, message) {
|
|
59
|
+
if (condition) {
|
|
60
|
+
passed++;
|
|
61
|
+
console.log(` ✅ ${message}`);
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
failed++;
|
|
65
|
+
failures.push(message);
|
|
66
|
+
console.log(` ❌ ${message}`);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function section(name) {
|
|
70
|
+
console.log(`\n── ${name} ──`);
|
|
71
|
+
}
|
|
72
|
+
function createTempDir() {
|
|
73
|
+
const dir = path.join(os.tmpdir(), `sgv2-traversal-test-${Date.now()}-${Math.random().toString(36).slice(2)}`);
|
|
74
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
75
|
+
return dir;
|
|
76
|
+
}
|
|
77
|
+
function cleanup(dir) {
|
|
78
|
+
try {
|
|
79
|
+
fs.rmSync(dir, { recursive: true, force: true });
|
|
80
|
+
}
|
|
81
|
+
catch { /* ignore */ }
|
|
82
|
+
}
|
|
83
|
+
// ============================================================================
|
|
84
|
+
// Main Test
|
|
85
|
+
// ============================================================================
|
|
86
|
+
async function main() {
|
|
87
|
+
console.log('=== SocialGraphV2 Traversal & Mutations Tests (Phase-107) ===\n');
|
|
88
|
+
const dir = createTempDir();
|
|
89
|
+
let sg;
|
|
90
|
+
try {
|
|
91
|
+
sg = social_graph_v2_1.SocialGraphV2.open(dir);
|
|
92
|
+
// Build a small test graph:
|
|
93
|
+
// Alice --FRIEND--> Bob --FRIEND--> Charlie
|
|
94
|
+
// Alice --COLLEAGUE--> Dave
|
|
95
|
+
// Bob --COLLEAGUE--> Eve
|
|
96
|
+
sg.addPerson({ id: 'alice', name: 'Alice', properties: { gender: 'F' } });
|
|
97
|
+
sg.addPerson({ id: 'bob', name: 'Bob', properties: { gender: 'M' } });
|
|
98
|
+
sg.addPerson({ id: 'charlie', name: 'Charlie', properties: { gender: 'M' } });
|
|
99
|
+
sg.addPerson({ id: 'dave', name: 'Dave', properties: { gender: 'M' } });
|
|
100
|
+
sg.addPerson({ id: 'eve', name: 'Eve', properties: { gender: 'F' } });
|
|
101
|
+
sg.addFriend('alice', 'bob', { relationType: 'friend', weight: 0.9 });
|
|
102
|
+
sg.addFriend('bob', 'charlie', { relationType: 'friend', weight: 0.8 });
|
|
103
|
+
sg.addFriend('alice', 'dave', { relationType: 'colleague', weight: 0.5 });
|
|
104
|
+
sg.addFriend('bob', 'eve', { relationType: 'colleague', weight: 0.3 });
|
|
105
|
+
// ── Typed Relation Queries ──
|
|
106
|
+
section('outgoingByType / incomingByType');
|
|
107
|
+
const friendsFromAlice = sg.outgoingByType('alice', 'FRIEND');
|
|
108
|
+
assert(friendsFromAlice.length >= 1, `outgoingByType FRIEND from Alice found ${friendsFromAlice.length} relation(s)`);
|
|
109
|
+
const colleaguesFromAlice = sg.outgoingByType('alice', 'COLLEAGUE');
|
|
110
|
+
assert(colleaguesFromAlice.length >= 1, `outgoingByType COLLEAGUE from Alice found ${colleaguesFromAlice.length} relation(s)`);
|
|
111
|
+
const incomingToBob = sg.incomingByType('bob', 'FRIEND');
|
|
112
|
+
assert(incomingToBob.length >= 1, `incomingByType FRIEND to Bob found ${incomingToBob.length} relation(s)`);
|
|
113
|
+
// ── Sub-graph Extraction ──
|
|
114
|
+
section('extractSubgraph');
|
|
115
|
+
const subgraph1 = sg.extractSubgraph('alice', { max_hops: 1 });
|
|
116
|
+
assert(subgraph1 != null, 'extractSubgraph returned a result');
|
|
117
|
+
assert(subgraph1.root_id === 'alice', 'subgraph root_id is alice');
|
|
118
|
+
assert(subgraph1.entity_count >= 3, `subgraph 1-hop has ${subgraph1.entity_count} entities (≥3 expected: alice+bob+dave)`);
|
|
119
|
+
const subgraph2 = sg.extractSubgraph('alice', { max_hops: 2 });
|
|
120
|
+
assert(subgraph2.entity_count >= 4, `subgraph 2-hop has ${subgraph2.entity_count} entities (≥4 expected)`);
|
|
121
|
+
const subgraphFiltered = sg.extractSubgraph('alice', { max_hops: 2, relation_type_filter: ['FRIEND'] });
|
|
122
|
+
// With FRIEND filter: alice → bob → charlie, should not include dave/eve (COLLEAGUE)
|
|
123
|
+
assert(subgraphFiltered.entity_count >= 2, `subgraph FRIEND-only has ${subgraphFiltered.entity_count} entities`);
|
|
124
|
+
// ── Graph Traversal ──
|
|
125
|
+
section('traverse');
|
|
126
|
+
const bfsResult = sg.traverse('alice', { max_hops: 3, strategy: 'BFS' });
|
|
127
|
+
assert(bfsResult != null, 'BFS traverse returned a result');
|
|
128
|
+
assert(bfsResult.visited_order.length >= 3, `BFS visited ${bfsResult.visited_order.length} entities`);
|
|
129
|
+
assert(bfsResult.visited_order[0] === 'alice', 'BFS starts with alice');
|
|
130
|
+
const dfsResult = sg.traverse('alice', { max_hops: 3, strategy: 'DFS' });
|
|
131
|
+
assert(dfsResult != null, 'DFS traverse returned a result');
|
|
132
|
+
assert(dfsResult.visited_order.length >= 3, `DFS visited ${dfsResult.visited_order.length} entities`);
|
|
133
|
+
const weightedResult = sg.traverse('alice', { max_hops: 2, strategy: 'WeightedBFS' });
|
|
134
|
+
assert(weightedResult != null, 'WeightedBFS traverse returned a result');
|
|
135
|
+
assert(weightedResult.visited_order.length >= 2, `WeightedBFS visited ${weightedResult.visited_order.length} entities`);
|
|
136
|
+
// ── Relation Weight Updates ──
|
|
137
|
+
section('updateRelationWeight / adjustRelationWeight / updateRelationMetadata');
|
|
138
|
+
// Find a relation to update
|
|
139
|
+
const aliceRels = sg.getEntityRelations('alice');
|
|
140
|
+
const friendRel = aliceRels.find((r) => r.relation_type === 'FRIEND' || r.relationType === 'FRIEND');
|
|
141
|
+
if (friendRel) {
|
|
142
|
+
const relId = friendRel.id;
|
|
143
|
+
await sg.updateRelationWeight(relId, 'alice', 0.95);
|
|
144
|
+
assert(true, `updateRelationWeight succeeded for relation ${relId}`);
|
|
145
|
+
await sg.adjustRelationWeight(relId, 'alice', 0.02);
|
|
146
|
+
assert(true, `adjustRelationWeight succeeded for relation ${relId}`);
|
|
147
|
+
await sg.updateRelationMetadata(relId, 'alice', 'note', 'best-friend');
|
|
148
|
+
assert(true, `updateRelationMetadata succeeded for relation ${relId}`);
|
|
149
|
+
}
|
|
150
|
+
else {
|
|
151
|
+
assert(false, 'Could not find a FRIEND relation to test updates on');
|
|
152
|
+
}
|
|
153
|
+
// ── Batch Mutations ──
|
|
154
|
+
section('applyMutations');
|
|
155
|
+
const mutCount = await sg.applyMutations([
|
|
156
|
+
{
|
|
157
|
+
type: 'PutEntity',
|
|
158
|
+
entity: { id: 'frank', name: 'Frank', entity_type: 'person', properties: {}, memory_refs: [], created_at: Date.now(), updated_at: Date.now() },
|
|
159
|
+
},
|
|
160
|
+
{
|
|
161
|
+
type: 'PutRelation',
|
|
162
|
+
relation: { id: 'rel-frank-alice', source: 'frank', target: 'alice', relation_type: 'FRIEND', weight: 0.7, bidirectional: false, metadata: {}, created_at: Date.now() },
|
|
163
|
+
},
|
|
164
|
+
]);
|
|
165
|
+
assert(mutCount === 2, `applyMutations applied ${mutCount} mutations (expected 2)`);
|
|
166
|
+
// Verify the entity was created
|
|
167
|
+
const frank = sg.getEntity('frank');
|
|
168
|
+
assert(frank != null, 'Frank entity exists after PutEntity mutation');
|
|
169
|
+
// ── Dynamic Node Management ──
|
|
170
|
+
section('dynamicRecordAccess / dynamicDemote / dynamicPromote');
|
|
171
|
+
const stats = sg.dynamicRecordAccess('alice');
|
|
172
|
+
assert(stats != null, 'dynamicRecordAccess returned stats for alice');
|
|
173
|
+
if (stats) {
|
|
174
|
+
assert(stats.hit_count >= 1, `alice hit_count=${stats.hit_count} after recordAccess`);
|
|
175
|
+
}
|
|
176
|
+
const demoted = sg.dynamicDemote('charlie');
|
|
177
|
+
assert(typeof demoted === 'boolean', `dynamicDemote returned boolean: ${demoted}`);
|
|
178
|
+
const isShadow = sg.isShadowEntity('charlie');
|
|
179
|
+
assert(typeof isShadow === 'boolean', `isShadowEntity returned boolean: ${isShadow}`);
|
|
180
|
+
if (isShadow) {
|
|
181
|
+
const promoted = sg.dynamicPromote('charlie');
|
|
182
|
+
assert(typeof promoted === 'boolean', `dynamicPromote returned boolean: ${promoted}`);
|
|
183
|
+
}
|
|
184
|
+
// ── Summary ──
|
|
185
|
+
console.log(`\n${'═'.repeat(50)}`);
|
|
186
|
+
console.log(`Total: ${passed + failed} | ✅ Passed: ${passed} | ❌ Failed: ${failed}`);
|
|
187
|
+
if (failures.length > 0) {
|
|
188
|
+
console.log('\nFailures:');
|
|
189
|
+
failures.forEach((f) => console.log(` - ${f}`));
|
|
190
|
+
}
|
|
191
|
+
console.log(`${'═'.repeat(50)}`);
|
|
192
|
+
}
|
|
193
|
+
finally {
|
|
194
|
+
cleanup(dir);
|
|
195
|
+
}
|
|
196
|
+
process.exit(failed > 0 ? 1 : 0);
|
|
197
|
+
}
|
|
198
|
+
main().catch((err) => {
|
|
199
|
+
console.error('Fatal error:', err);
|
|
200
|
+
process.exit(2);
|
|
201
|
+
});
|
|
202
|
+
//# sourceMappingURL=social-graph-v2-traversal.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"social-graph-v2-traversal.test.js","sourceRoot":"","sources":["../ts/social-graph-v2-traversal.test.ts"],"names":[],"mappings":"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"}
|