@elizaos/agent 2.0.0-alpha.440 → 2.0.0-alpha.442

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elizaos/agent",
3
- "version": "2.0.0-alpha.440",
3
+ "version": "2.0.0-alpha.442",
4
4
  "description": "Standalone elizaOS-based agent and backend server package.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -467,7 +467,7 @@
467
467
  "@elizaos/app-steward": "^0.0.0",
468
468
  "@elizaos/app-task-coordinator": "^0.0.0",
469
469
  "@elizaos/app-training": "^0.0.1",
470
- "@elizaos/core": "^2.0.0-alpha.440",
470
+ "@elizaos/core": "^2.0.0-alpha.442",
471
471
  "@elizaos/plugin-agent-orchestrator": "^0.6.2-alpha.0",
472
472
  "@elizaos/plugin-browser-bridge": "^0.1.0",
473
473
  "@elizaos/plugin-local-embedding": "^2.0.0-alpha.12",
@@ -476,8 +476,8 @@
476
476
  "@elizaos/plugin-solana": "^2.0.0-alpha.6",
477
477
  "@elizaos/plugin-sql": "^2.0.0-alpha.19",
478
478
  "@elizaos/plugin-wechat": "^0.1.0",
479
- "@elizaos/shared": "^2.0.0-alpha.440",
480
- "@elizaos/skills": "^2.0.0-alpha.440",
479
+ "@elizaos/shared": "^2.0.0-alpha.442",
480
+ "@elizaos/skills": "^2.0.0-alpha.442",
481
481
  "@hapi/boom": "^10.0.1",
482
482
  "@noble/curves": "^2.0.1",
483
483
  "@solana/web3.js": "^1.98.4",
@@ -1 +1 @@
1
- {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/facts.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKX,QAAQ,EAER,MAAM,yBAAyB,CAAC;AAsLjC;;;;GAIG;AACH,QAAA,MAAM,aAAa,EAAE,QA4HpB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"facts.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/facts.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKX,QAAQ,EAER,MAAM,yBAAyB,CAAC;AAsLjC;;;;GAIG;AACH,QAAA,MAAM,aAAa,EAAE,QAkIpB,CAAC;AAEF,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { requireProviderSpec } from "../../../generated/spec-helpers.js";
2
+ import { getRelatedEntityIds } from "../../../identity-clusters.js";
2
3
  import { ModelType } from "../../../types/index.js";
3
4
  // Get text content from centralized specs
4
5
  const spec = requireProviderSpec("FACTS");
@@ -202,7 +203,8 @@ const factsProvider = {
202
203
  // re-ranks by `confidence × timeWeight(kind, age)` immediately
203
204
  // afterward, so adding a lexical filter on top would just hide
204
205
  // otherwise-relevant facts.
205
- const [roomFacts, entityFacts] = await Promise.all([
206
+ const relatedEntityIds = await getRelatedEntityIds(runtime, message.entityId);
207
+ const [roomFacts, ...entityFactPools] = await Promise.all([
206
208
  runtime.searchMemories({
207
209
  tableName: "facts",
208
210
  embedding,
@@ -210,14 +212,14 @@ const factsProvider = {
210
212
  worldId: message.worldId,
211
213
  limit: CANDIDATE_POOL_PER_SEARCH,
212
214
  }),
213
- runtime.searchMemories({
215
+ ...relatedEntityIds.map((entityId) => runtime.searchMemories({
214
216
  embedding,
215
217
  tableName: "facts",
216
- roomId: message.roomId,
217
- entityId: message.entityId,
218
+ entityId,
218
219
  limit: CANDIDATE_POOL_PER_SEARCH,
219
- }),
220
+ })),
220
221
  ]);
222
+ const entityFacts = entityFactPools.flat();
221
223
  const dedupedPool = dedupeById([...roomFacts, ...entityFacts]);
222
224
  const { durable: durableCandidates, current: currentCandidates } = partitionByKind(dedupedPool);
223
225
  const nowMs = Date.now();
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/relationships.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAKX,QAAQ,EAGR,MAAM,yBAAyB,CAAC;AAgGjC;;;;;;;;;;GAUG;AACH,QAAA,MAAM,qBAAqB,EAAE,QAiD5B,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-capabilities/providers/relationships.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKX,QAAQ,EAGR,MAAM,yBAAyB,CAAC;AAuGjC;;;;;;;;;;GAUG;AACH,QAAA,MAAM,qBAAqB,EAAE,QAqD5B,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { requireProviderSpec } from "../../../generated/spec-helpers.js";
2
+ import { getRelatedEntityIds } from "../../../identity-clusters.js";
2
3
  // Get text content from centralized specs
3
4
  const spec = requireProviderSpec("RELATIONSHIPS");
4
5
  /**
@@ -14,7 +15,8 @@ const spec = requireProviderSpec("RELATIONSHIPS");
14
15
  * @param {Relationship[]} relationships The relationships to be formatted.
15
16
  * @returns {Promise<string>} A formatted string of the relationships.
16
17
  */
17
- async function formatRelationships(runtime, relationships, currentEntityId) {
18
+ async function formatRelationships(runtime, relationships, currentEntityIds) {
19
+ const currentEntityIdSet = new Set(currentEntityIds);
18
20
  // Sort relationships by interaction strength (descending)
19
21
  const sortedRelationships = relationships
20
22
  .filter((rel) => rel.metadata?.interactions)
@@ -25,9 +27,17 @@ async function formatRelationships(runtime, relationships, currentEntityId) {
25
27
  return "";
26
28
  }
27
29
  // Deduplicate target entity IDs to avoid redundant fetches
28
- const uniqueEntityIds = Array.from(new Set(sortedRelationships.map((rel) => (rel.sourceEntityId === currentEntityId
29
- ? rel.targetEntityId
30
- : rel.sourceEntityId))));
30
+ const uniqueEntityIds = Array.from(new Set(sortedRelationships
31
+ .map((rel) => {
32
+ if (currentEntityIdSet.has(rel.sourceEntityId)) {
33
+ return rel.targetEntityId;
34
+ }
35
+ if (currentEntityIdSet.has(rel.targetEntityId)) {
36
+ return rel.sourceEntityId;
37
+ }
38
+ return null;
39
+ })
40
+ .filter((id) => Boolean(id))));
31
41
  // Fetch all required entities in a single batch operation
32
42
  const entities = await Promise.all(uniqueEntityIds.map((id) => runtime.getEntityById(id)));
33
43
  // Create a lookup map for efficient access
@@ -54,9 +64,13 @@ async function formatRelationships(runtime, relationships, currentEntityId) {
54
64
  // Format relationships using the entity map
55
65
  const formattedRelationships = [];
56
66
  for (const rel of sortedRelationships) {
57
- const counterpartEntityId = (rel.sourceEntityId === currentEntityId
67
+ const counterpartEntityId = currentEntityIdSet.has(rel.sourceEntityId)
58
68
  ? rel.targetEntityId
59
- : rel.sourceEntityId);
69
+ : currentEntityIdSet.has(rel.targetEntityId)
70
+ ? rel.sourceEntityId
71
+ : null;
72
+ if (!counterpartEntityId)
73
+ continue;
60
74
  const entity = entityMap.get(counterpartEntityId);
61
75
  if (!entity)
62
76
  continue;
@@ -84,9 +98,10 @@ const relationshipsProvider = {
84
98
  description: spec.description,
85
99
  dynamic: spec.dynamic ?? true,
86
100
  get: async (runtime, message) => {
101
+ const relatedEntityIds = await getRelatedEntityIds(runtime, message.entityId);
87
102
  // Get all relationships for the current user
88
103
  const relationships = await runtime.getRelationships({
89
- entityIds: [message.entityId],
104
+ entityIds: relatedEntityIds,
90
105
  });
91
106
  if (!relationships || relationships.length === 0) {
92
107
  return {
@@ -99,7 +114,7 @@ const relationshipsProvider = {
99
114
  text: "No relationships found.",
100
115
  };
101
116
  }
102
- const formattedRelationships = await formatRelationships(runtime, relationships, message.entityId);
117
+ const formattedRelationships = await formatRelationships(runtime, relationships, relatedEntityIds);
103
118
  if (!formattedRelationships) {
104
119
  return {
105
120
  data: {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-service.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-memory/services/memory-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-service.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/advanced-memory/services/memory-service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { getRelatedEntityIds, resolvePrimaryEntityId, } from "../../../identity-clusters.js";
1
2
  import { logger } from "../../../logger.js";
2
3
  import { ModelType, Service, } from "../../../types/index.js";
3
4
  const TEXT_GENERATION_MODEL_TYPES = new Set([
@@ -12,6 +13,11 @@ const TEXT_GENERATION_MODEL_TYPES = new Set([
12
13
  ModelType.TEXT_REASONING_LARGE,
13
14
  ModelType.TEXT_COMPLETION,
14
15
  ]);
16
+ function memoryCreatedAtMs(memory) {
17
+ const value = memory.createdAt;
18
+ const timestamp = value instanceof Date ? value.getTime() : new Date(value).getTime();
19
+ return Number.isFinite(timestamp) ? timestamp : 0;
20
+ }
15
21
  function resolveConfiguredTextGenerationModelType(value) {
16
22
  if (typeof value !== "string") {
17
23
  return null;
@@ -231,7 +237,8 @@ export class MemoryService extends Service {
231
237
  }
232
238
  // ── Storage operations (delegated to provider) ──────────────────────
233
239
  async storeLongTermMemory(memory) {
234
- const stored = await (await this.requireStorage("store long-term memory")).storeLongTermMemory(memory);
240
+ const entityId = await resolvePrimaryEntityId(this.runtime, memory.entityId);
241
+ const stored = await (await this.requireStorage("store long-term memory")).storeLongTermMemory({ ...memory, entityId });
235
242
  logger.info({ src: "service:memory" }, `Stored long-term memory: ${stored.category} for entity ${stored.entityId}`);
236
243
  return stored;
237
244
  }
@@ -241,10 +248,14 @@ export class MemoryService extends Service {
241
248
  const storage = await this.getStorage();
242
249
  if (!storage)
243
250
  return [];
244
- return storage.getLongTermMemories(this.runtime.agentId, entityId, {
251
+ const entityIds = await getRelatedEntityIds(this.runtime, entityId);
252
+ const memories = (await Promise.all(entityIds.map((relatedEntityId) => storage.getLongTermMemories(this.runtime.agentId, relatedEntityId, {
245
253
  category,
246
254
  limit,
247
- });
255
+ })))).flat();
256
+ return memories
257
+ .sort((left, right) => memoryCreatedAtMs(right) - memoryCreatedAtMs(left))
258
+ .slice(0, limit);
248
259
  }
249
260
  async updateLongTermMemory(id, entityId, updates) {
250
261
  const storage = await this.requireStorage("update long-term memory");
@@ -1 +1 @@
1
- {"version":3,"file":"recentMessages.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/basic-capabilities/providers/recentMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAKX,QAAQ,EAGR,MAAM,yBAAyB,CAAC;AAuHjC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAiTpC,CAAC"}
1
+ {"version":3,"file":"recentMessages.d.ts","sourceRoot":"","sources":["../../../../../../../../typescript/src/features/basic-capabilities/providers/recentMessages.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAKX,QAAQ,EAGR,MAAM,yBAAyB,CAAC;AA4HjC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAiTpC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { getEntityDetails } from "../../../entities.js";
2
2
  import { requireProviderSpec } from "../../../generated/spec-helpers.js";
3
+ import { getRelatedEntityIds } from "../../../identity-clusters.js";
3
4
  import { ChannelType } from "../../../types/index.js";
4
5
  import { addHeader, formatMessages, formatPosts } from "../../../utils.js";
5
6
  // Get text content from centralized specs
@@ -76,16 +77,17 @@ async function ensureFormattingEntities(runtime, entities, messages) {
76
77
  * @returns {Promise<Memory[]>} An array of Memory objects representing recent interactions between the two entities.
77
78
  */
78
79
  const getRecentInteractions = async (runtime, sourceEntityId, targetEntityId, excludeRoomId) => {
79
- // Find all rooms where sourceEntityId and targetEntityId are participants
80
- const rooms = await runtime.getRoomsForParticipants([
81
- sourceEntityId,
82
- targetEntityId,
83
- ]);
80
+ const sourceEntityIds = await getRelatedEntityIds(runtime, sourceEntityId);
81
+ const roomsByIdentity = await Promise.all(sourceEntityIds.map((entityId) => runtime.getRoomsForParticipants([entityId, targetEntityId])));
82
+ const rooms = Array.from(new Set(roomsByIdentity.flat()));
83
+ const otherRooms = rooms.filter((room) => room !== excludeRoomId);
84
+ if (otherRooms.length === 0) {
85
+ return [];
86
+ }
84
87
  // Check the existing memories in the database
85
88
  return runtime.getMemoriesByRoomIds({
86
89
  tableName: "messages",
87
- // filter out the current room id from rooms
88
- roomIds: rooms.filter((room) => room !== excludeRoomId),
90
+ roomIds: otherRooms,
89
91
  limit: 20,
90
92
  });
91
93
  };
@@ -0,0 +1,4 @@
1
+ import type { IAgentRuntime, UUID } from "./types/index.ts";
2
+ export declare function getRelatedEntityIds(runtime: IAgentRuntime, entityId: UUID): Promise<UUID[]>;
3
+ export declare function resolvePrimaryEntityId(runtime: IAgentRuntime, entityId: UUID): Promise<UUID>;
4
+ //# sourceMappingURL=identity-clusters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity-clusters.d.ts","sourceRoot":"","sources":["../../../../../typescript/src/identity-clusters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAW,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAyBrE,wBAAsB,mBAAmB,CACxC,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,IAAI,GACZ,OAAO,CAAC,IAAI,EAAE,CAAC,CASjB;AAED,wBAAsB,sBAAsB,CAC3C,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,IAAI,GACZ,OAAO,CAAC,IAAI,CAAC,CAMf"}
@@ -0,0 +1,29 @@
1
+ function getIdentityClusterResolver(runtime) {
2
+ const service = runtime.getService("relationships");
3
+ if (!service) {
4
+ return null;
5
+ }
6
+ if (typeof service.getMemberEntityIds !==
7
+ "function" &&
8
+ typeof service.resolvePrimaryEntityId !==
9
+ "function") {
10
+ return null;
11
+ }
12
+ return service;
13
+ }
14
+ export async function getRelatedEntityIds(runtime, entityId) {
15
+ const resolver = getIdentityClusterResolver(runtime);
16
+ if (!resolver?.getMemberEntityIds) {
17
+ return [entityId];
18
+ }
19
+ const relatedEntityIds = await resolver.getMemberEntityIds(entityId);
20
+ const deduped = Array.from(new Set([entityId, ...relatedEntityIds]));
21
+ return deduped.length > 0 ? deduped : [entityId];
22
+ }
23
+ export async function resolvePrimaryEntityId(runtime, entityId) {
24
+ const resolver = getIdentityClusterResolver(runtime);
25
+ if (!resolver?.resolvePrimaryEntityId) {
26
+ return entityId;
27
+ }
28
+ return resolver.resolvePrimaryEntityId(entityId);
29
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/services/relationships.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"relationships.d.ts","sourceRoot":"","sources":["../../../../../../typescript/src/services/relationships.ts"],"names":[],"mappings":"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"}
@@ -1489,6 +1489,8 @@ export class RelationshipsService extends Service {
1489
1489
  async getIdentityRowsForEntities(entityIds) {
1490
1490
  if (entityIds.length === 0)
1491
1491
  return [];
1492
+ if (!this.getRuntimeDb())
1493
+ return [];
1492
1494
  const quoted = entityIds.map(sqlQuote).join(", ");
1493
1495
  const result = await this.execSql(`SELECT entity_id, platform, handle
1494
1496
  FROM entity_identities
@@ -1512,6 +1514,8 @@ export class RelationshipsService extends Service {
1512
1514
  const [platform, handle] = handleKey.split(":", 2);
1513
1515
  if (!platform || handle === undefined)
1514
1516
  return [];
1517
+ if (!this.getRuntimeDb())
1518
+ return [];
1515
1519
  const result = await this.execSql(`SELECT DISTINCT entity_id
1516
1520
  FROM entity_identities
1517
1521
  WHERE agent_id = ${sqlQuote(this.runtime.agentId)}