diff --git a/docs/api/classes/AgentRuntime.md b/docs/api/classes/AgentRuntime.md index c76a8265412..fb94686791c 100644 --- a/docs/api/classes/AgentRuntime.md +++ b/docs/api/classes/AgentRuntime.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / AgentRuntime +[@elizaos/core v0.25.9](../index.md) / AgentRuntime # Class: AgentRuntime @@ -272,7 +272,7 @@ The model to use for describing images. ### fetch() -> **fetch**: (`input`, `init`?) => `Promise`\<`Response`\>(`input`, `init`?) => `Promise`\<`Response`\> +> **fetch**: (`input`, `init`?) => `Promise`\<`Response`\> Fetch function to use Some environments may not have access to the global fetch function and need a custom fetch override. @@ -289,16 +289,6 @@ Some environments may not have access to the global fetch function and need a cu `Promise`\<`Response`\> -#### Parameters - -• **input**: `string` \| `Request` \| `URL` - -• **init?**: `RequestInit` - -#### Returns - -`Promise`\<`Response`\> - #### Implementation of [`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`fetch`](../interfaces/IAgentRuntime.md#fetch) @@ -617,7 +607,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/runtime.ts:945](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L945) +[packages/core/src/runtime.ts:959](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L959) *** @@ -639,7 +629,7 @@ The number of recent messages to be kept in memory. #### Defined in -[packages/core/src/runtime.ts:967](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L967) +[packages/core/src/runtime.ts:981](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L981) *** @@ -665,7 +655,7 @@ The action to register. #### Defined in -[packages/core/src/runtime.ts:975](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L975) +[packages/core/src/runtime.ts:989](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L989) *** @@ -687,7 +677,7 @@ The evaluator to register. #### Defined in -[packages/core/src/runtime.ts:984](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L984) +[packages/core/src/runtime.ts:998](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L998) *** @@ -709,7 +699,7 @@ The context provider to register. #### Defined in -[packages/core/src/runtime.ts:992](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L992) +[packages/core/src/runtime.ts:1006](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1006) *** @@ -731,7 +721,7 @@ The adapter to register. #### Defined in -[packages/core/src/runtime.ts:1000](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1000) +[packages/core/src/runtime.ts:1014](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1014) *** @@ -763,7 +753,7 @@ The message to process. #### Defined in -[packages/core/src/runtime.ts:1009](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1009) +[packages/core/src/runtime.ts:1023](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1023) *** @@ -803,7 +793,7 @@ The results of the evaluation. #### Defined in -[packages/core/src/runtime.ts:1093](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1093) +[packages/core/src/runtime.ts:1107](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1107) *** @@ -835,7 +825,7 @@ An error if the participant cannot be added. #### Defined in -[packages/core/src/runtime.ts:1163](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1163) +[packages/core/src/runtime.ts:1177](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1177) *** @@ -871,7 +861,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1179](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1179) +[packages/core/src/runtime.ts:1193](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1193) *** @@ -895,7 +885,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1205](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1205) +[packages/core/src/runtime.ts:1219](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1219) *** @@ -925,7 +915,7 @@ The user name to ensure the existence of. #### Defined in -[packages/core/src/runtime.ts:1222](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1222) +[packages/core/src/runtime.ts:1236](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1236) *** @@ -956,7 +946,7 @@ An error if the room cannot be created. #### Defined in -[packages/core/src/runtime.ts:1258](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1258) +[packages/core/src/runtime.ts:1272](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1272) *** @@ -986,7 +976,7 @@ The state of the agent. #### Defined in -[packages/core/src/runtime.ts:1271](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1271) +[packages/core/src/runtime.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1285) *** @@ -1008,4 +998,4 @@ The state of the agent. #### Defined in -[packages/core/src/runtime.ts:1728](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1728) +[packages/core/src/runtime.ts:1742](https://github.com/elizaOS/eliza/blob/main/packages/core/src/runtime.ts#L1742) diff --git a/docs/api/classes/CacheManager.md b/docs/api/classes/CacheManager.md index 1d31f23288f..34a5207b109 100644 --- a/docs/api/classes/CacheManager.md +++ b/docs/api/classes/CacheManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheManager +[@elizaos/core v0.25.9](../index.md) / CacheManager # Class: CacheManager\ diff --git a/docs/api/classes/DatabaseAdapter.md b/docs/api/classes/DatabaseAdapter.md index 4fad4200e78..4bde908c166 100644 --- a/docs/api/classes/DatabaseAdapter.md +++ b/docs/api/classes/DatabaseAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DatabaseAdapter +[@elizaos/core v0.25.9](../index.md) / DatabaseAdapter # Class: `abstract` DatabaseAdapter\ diff --git a/docs/api/classes/DbCacheAdapter.md b/docs/api/classes/DbCacheAdapter.md index 0148c24d5e4..3fa0ca9ba43 100644 --- a/docs/api/classes/DbCacheAdapter.md +++ b/docs/api/classes/DbCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DbCacheAdapter +[@elizaos/core v0.25.9](../index.md) / DbCacheAdapter # Class: DbCacheAdapter diff --git a/docs/api/classes/FsCacheAdapter.md b/docs/api/classes/FsCacheAdapter.md index 7b1337745ef..516efde3398 100644 --- a/docs/api/classes/FsCacheAdapter.md +++ b/docs/api/classes/FsCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / FsCacheAdapter +[@elizaos/core v0.25.9](../index.md) / FsCacheAdapter # Class: FsCacheAdapter diff --git a/docs/api/classes/MemoryCacheAdapter.md b/docs/api/classes/MemoryCacheAdapter.md index e08eb037a14..a6fe6e86034 100644 --- a/docs/api/classes/MemoryCacheAdapter.md +++ b/docs/api/classes/MemoryCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MemoryCacheAdapter +[@elizaos/core v0.25.9](../index.md) / MemoryCacheAdapter # Class: MemoryCacheAdapter diff --git a/docs/api/classes/MemoryManager.md b/docs/api/classes/MemoryManager.md index 16eb73dc95f..0eed920ce4e 100644 --- a/docs/api/classes/MemoryManager.md +++ b/docs/api/classes/MemoryManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MemoryManager +[@elizaos/core v0.25.9](../index.md) / MemoryManager # Class: MemoryManager @@ -278,6 +278,28 @@ A Promise that resolves when the operation completes. *** +### getMemoriesByIds() + +> **getMemoriesByIds**(`ids`): `Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Parameters + +• **ids**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[] + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Implementation of + +[`IMemoryManager`](../interfaces/IMemoryManager.md).[`getMemoriesByIds`](../interfaces/IMemoryManager.md#getMemoriesByIds) + +#### Defined in + +[packages/core/src/memory.ts:201](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L201) + +*** + ### getMemoryById() > **getMemoryById**(`id`): `Promise`\<[`Memory`](../interfaces/Memory.md)\> @@ -296,7 +318,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:201](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L201) +[packages/core/src/memory.ts:205](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L205) *** @@ -324,7 +346,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:212](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L212) +[packages/core/src/memory.ts:216](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L216) *** @@ -352,7 +374,7 @@ A Promise that resolves when the operation completes. #### Defined in -[packages/core/src/memory.ts:224](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L224) +[packages/core/src/memory.ts:228](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L228) *** @@ -384,4 +406,4 @@ A Promise resolving to the count of memories. #### Defined in -[packages/core/src/memory.ts:237](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L237) +[packages/core/src/memory.ts:241](https://github.com/elizaOS/eliza/blob/main/packages/core/src/memory.ts#L241) diff --git a/docs/api/classes/RAGKnowledgeManager.md b/docs/api/classes/RAGKnowledgeManager.md index 52e7d946e1a..267b8aa12d6 100644 --- a/docs/api/classes/RAGKnowledgeManager.md +++ b/docs/api/classes/RAGKnowledgeManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / RAGKnowledgeManager +[@elizaos/core v0.25.9](../index.md) / RAGKnowledgeManager # Class: RAGKnowledgeManager diff --git a/docs/api/classes/Service.md b/docs/api/classes/Service.md index 8eb4c46d6da..1b3f0db9d14 100644 --- a/docs/api/classes/Service.md +++ b/docs/api/classes/Service.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Service +[@elizaos/core v0.25.9](../index.md) / Service # Class: `abstract` Service @@ -40,7 +40,7 @@ #### Defined in -[packages/core/src/types.ts:1268](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1268) +[packages/core/src/types.ts:1269](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1269) *** @@ -56,7 +56,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -74,7 +74,7 @@ #### Defined in -[packages/core/src/types.ts:1272](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1272) +[packages/core/src/types.ts:1273](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1273) *** @@ -94,4 +94,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) diff --git a/docs/api/enumerations/ActionTimelineType.md b/docs/api/enumerations/ActionTimelineType.md index fb0f6207a9e..5a02d5041aa 100644 --- a/docs/api/enumerations/ActionTimelineType.md +++ b/docs/api/enumerations/ActionTimelineType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionTimelineType +[@elizaos/core v0.25.9](../index.md) / ActionTimelineType # Enumeration: ActionTimelineType @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1601](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1601) +[packages/core/src/types.ts:1602](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1602) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1602](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1602) +[packages/core/src/types.ts:1603](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1603) diff --git a/docs/api/enumerations/CacheKeyPrefix.md b/docs/api/enumerations/CacheKeyPrefix.md index 04ef55796aa..cc8ef45b4cd 100644 --- a/docs/api/enumerations/CacheKeyPrefix.md +++ b/docs/api/enumerations/CacheKeyPrefix.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheKeyPrefix +[@elizaos/core v0.25.9](../index.md) / CacheKeyPrefix # Enumeration: CacheKeyPrefix @@ -10,4 +10,4 @@ #### Defined in -[packages/core/src/types.ts:1610](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1610) +[packages/core/src/types.ts:1611](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1611) diff --git a/docs/api/enumerations/CacheStore.md b/docs/api/enumerations/CacheStore.md index 8dc82eb0a26..c3a9d338cc6 100644 --- a/docs/api/enumerations/CacheStore.md +++ b/docs/api/enumerations/CacheStore.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheStore +[@elizaos/core v0.25.9](../index.md) / CacheStore # Enumeration: CacheStore @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1254](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1254) +[packages/core/src/types.ts:1255](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1255) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1255](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1255) +[packages/core/src/types.ts:1256](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1256) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1256](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1256) +[packages/core/src/types.ts:1257](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1257) diff --git a/docs/api/enumerations/GoalStatus.md b/docs/api/enumerations/GoalStatus.md index 82b4e428540..60da9055e4e 100644 --- a/docs/api/enumerations/GoalStatus.md +++ b/docs/api/enumerations/GoalStatus.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GoalStatus +[@elizaos/core v0.25.9](../index.md) / GoalStatus # Enumeration: GoalStatus diff --git a/docs/api/enumerations/IrysDataType.md b/docs/api/enumerations/IrysDataType.md index cdd2b3d63f9..7d50e5fbd9d 100644 --- a/docs/api/enumerations/IrysDataType.md +++ b/docs/api/enumerations/IrysDataType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysDataType +[@elizaos/core v0.25.9](../index.md) / IrysDataType # Enumeration: IrysDataType @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1478](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1478) +[packages/core/src/types.ts:1479](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1479) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1479](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1479) +[packages/core/src/types.ts:1480](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1480) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1480](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1480) +[packages/core/src/types.ts:1481](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1481) diff --git a/docs/api/enumerations/IrysMessageType.md b/docs/api/enumerations/IrysMessageType.md index 05d902f288e..97a6223a7af 100644 --- a/docs/api/enumerations/IrysMessageType.md +++ b/docs/api/enumerations/IrysMessageType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysMessageType +[@elizaos/core v0.25.9](../index.md) / IrysMessageType # Enumeration: IrysMessageType @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1472](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1472) +[packages/core/src/types.ts:1473](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1473) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1473](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1473) +[packages/core/src/types.ts:1474](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1474) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1474](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1474) +[packages/core/src/types.ts:1475](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1475) diff --git a/docs/api/enumerations/KnowledgeScope.md b/docs/api/enumerations/KnowledgeScope.md index 8495fe7bbab..85300c5b464 100644 --- a/docs/api/enumerations/KnowledgeScope.md +++ b/docs/api/enumerations/KnowledgeScope.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / KnowledgeScope +[@elizaos/core v0.25.9](../index.md) / KnowledgeScope # Enumeration: KnowledgeScope @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1605](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1605) +[packages/core/src/types.ts:1606](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1606) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1606](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1606) +[packages/core/src/types.ts:1607](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1607) diff --git a/docs/api/enumerations/LoggingLevel.md b/docs/api/enumerations/LoggingLevel.md index 2ebc8b32cb4..1760341d980 100644 --- a/docs/api/enumerations/LoggingLevel.md +++ b/docs/api/enumerations/LoggingLevel.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / LoggingLevel +[@elizaos/core v0.25.9](../index.md) / LoggingLevel # Enumeration: LoggingLevel @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1546](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1546) +[packages/core/src/types.ts:1547](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1547) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1547](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1547) +[packages/core/src/types.ts:1548](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1548) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1548](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1548) +[packages/core/src/types.ts:1549](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1549) diff --git a/docs/api/enumerations/ModelClass.md b/docs/api/enumerations/ModelClass.md index 6053978bc72..d2d629d6ef6 100644 --- a/docs/api/enumerations/ModelClass.md +++ b/docs/api/enumerations/ModelClass.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelClass +[@elizaos/core v0.25.9](../index.md) / ModelClass # Enumeration: ModelClass diff --git a/docs/api/enumerations/ModelProviderName.md b/docs/api/enumerations/ModelProviderName.md index 1f4334910e1..4a8b5acbdf1 100644 --- a/docs/api/enumerations/ModelProviderName.md +++ b/docs/api/enumerations/ModelProviderName.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelProviderName +[@elizaos/core v0.25.9](../index.md) / ModelProviderName # Enumeration: ModelProviderName diff --git a/docs/api/enumerations/ServiceType.md b/docs/api/enumerations/ServiceType.md index 6b27a8435ef..346f2361f47 100644 --- a/docs/api/enumerations/ServiceType.md +++ b/docs/api/enumerations/ServiceType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ServiceType +[@elizaos/core v0.25.9](../index.md) / ServiceType # Enumeration: ServiceType @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1525](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1525) +[packages/core/src/types.ts:1526](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1526) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1526](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1526) +[packages/core/src/types.ts:1527](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1527) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1527](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1527) +[packages/core/src/types.ts:1528](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1528) *** @@ -40,7 +40,7 @@ #### Defined in -[packages/core/src/types.ts:1528](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1528) +[packages/core/src/types.ts:1529](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1529) *** @@ -50,7 +50,7 @@ #### Defined in -[packages/core/src/types.ts:1529](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1529) +[packages/core/src/types.ts:1530](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1530) *** @@ -60,7 +60,7 @@ #### Defined in -[packages/core/src/types.ts:1530](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1530) +[packages/core/src/types.ts:1531](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1531) *** @@ -70,7 +70,7 @@ #### Defined in -[packages/core/src/types.ts:1531](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1531) +[packages/core/src/types.ts:1532](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1532) *** @@ -80,7 +80,7 @@ #### Defined in -[packages/core/src/types.ts:1532](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1532) +[packages/core/src/types.ts:1533](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1533) *** @@ -90,7 +90,7 @@ #### Defined in -[packages/core/src/types.ts:1533](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1533) +[packages/core/src/types.ts:1534](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1534) *** @@ -100,7 +100,7 @@ #### Defined in -[packages/core/src/types.ts:1534](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1534) +[packages/core/src/types.ts:1535](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1535) *** @@ -110,7 +110,7 @@ #### Defined in -[packages/core/src/types.ts:1535](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1535) +[packages/core/src/types.ts:1536](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1536) *** @@ -120,7 +120,7 @@ #### Defined in -[packages/core/src/types.ts:1536](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1536) +[packages/core/src/types.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1537) *** @@ -130,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1537) +[packages/core/src/types.ts:1538](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1538) *** @@ -140,7 +140,7 @@ #### Defined in -[packages/core/src/types.ts:1538](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1538) +[packages/core/src/types.ts:1539](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1539) *** @@ -150,7 +150,7 @@ #### Defined in -[packages/core/src/types.ts:1539](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1539) +[packages/core/src/types.ts:1540](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1540) *** @@ -160,7 +160,7 @@ #### Defined in -[packages/core/src/types.ts:1540](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1540) +[packages/core/src/types.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1541) *** @@ -170,7 +170,7 @@ #### Defined in -[packages/core/src/types.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1541) +[packages/core/src/types.ts:1542](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1542) *** @@ -180,4 +180,4 @@ #### Defined in -[packages/core/src/types.ts:1542](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1542) +[packages/core/src/types.ts:1543](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1543) diff --git a/docs/api/enumerations/TokenizerType.md b/docs/api/enumerations/TokenizerType.md index e6bb3b12b37..32856760d49 100644 --- a/docs/api/enumerations/TokenizerType.md +++ b/docs/api/enumerations/TokenizerType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TokenizerType +[@elizaos/core v0.25.9](../index.md) / TokenizerType # Enumeration: TokenizerType @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1590](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1590) +[packages/core/src/types.ts:1591](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1591) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1591](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1591) +[packages/core/src/types.ts:1592](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1592) diff --git a/docs/api/enumerations/TranscriptionProvider.md b/docs/api/enumerations/TranscriptionProvider.md index 54feec67077..e911eb2d161 100644 --- a/docs/api/enumerations/TranscriptionProvider.md +++ b/docs/api/enumerations/TranscriptionProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TranscriptionProvider +[@elizaos/core v0.25.9](../index.md) / TranscriptionProvider # Enumeration: TranscriptionProvider @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1595](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1595) +[packages/core/src/types.ts:1596](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1596) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1596](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1596) +[packages/core/src/types.ts:1597](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1597) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1597](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1597) +[packages/core/src/types.ts:1598](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1598) diff --git a/docs/api/functions/addHeader.md b/docs/api/functions/addHeader.md index 2911250010b..209dad3f7bd 100644 --- a/docs/api/functions/addHeader.md +++ b/docs/api/functions/addHeader.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / addHeader +[@elizaos/core v0.25.9](../index.md) / addHeader # Function: addHeader() diff --git a/docs/api/functions/cleanJsonResponse.md b/docs/api/functions/cleanJsonResponse.md index 08367dcc38a..fa0a6cfd7e4 100644 --- a/docs/api/functions/cleanJsonResponse.md +++ b/docs/api/functions/cleanJsonResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / cleanJsonResponse +[@elizaos/core v0.25.9](../index.md) / cleanJsonResponse # Function: cleanJsonResponse() diff --git a/docs/api/functions/composeActionExamples.md b/docs/api/functions/composeActionExamples.md index 479ffde7cef..86486947248 100644 --- a/docs/api/functions/composeActionExamples.md +++ b/docs/api/functions/composeActionExamples.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / composeActionExamples +[@elizaos/core v0.25.9](../index.md) / composeActionExamples # Function: composeActionExamples() diff --git a/docs/api/functions/composeContext.md b/docs/api/functions/composeContext.md index 60f74fd3f17..f979ccf937d 100644 --- a/docs/api/functions/composeContext.md +++ b/docs/api/functions/composeContext.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / composeContext +[@elizaos/core v0.25.9](../index.md) / composeContext # Function: composeContext() -> **composeContext**(`params`): `string` +> **composeContext**(`params`): `any` Composes a context string by replacing placeholders in a template with corresponding values from the state. @@ -32,7 +32,7 @@ The templating engine to use for compiling and evaluating the template (optional ## Returns -`string` +`any` The composed context string with placeholders replaced by corresponding state values. diff --git a/docs/api/functions/composeRandomUser.md b/docs/api/functions/composeRandomUser.md index eb248a3eac5..0d643a9cc21 100644 --- a/docs/api/functions/composeRandomUser.md +++ b/docs/api/functions/composeRandomUser.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / composeRandomUser +[@elizaos/core v0.25.9](../index.md) / composeRandomUser # Function: composeRandomUser() diff --git a/docs/api/functions/configureSettings.md b/docs/api/functions/configureSettings.md index 87f3a00abb5..17bc9d1e314 100644 --- a/docs/api/functions/configureSettings.md +++ b/docs/api/functions/configureSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / configureSettings +[@elizaos/core v0.25.9](../index.md) / configureSettings # Function: configureSettings() diff --git a/docs/api/functions/createGoal.md b/docs/api/functions/createGoal.md index 8d71860fbd8..2c0d569971a 100644 --- a/docs/api/functions/createGoal.md +++ b/docs/api/functions/createGoal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / createGoal +[@elizaos/core v0.25.9](../index.md) / createGoal # Function: createGoal() diff --git a/docs/api/functions/createRelationship.md b/docs/api/functions/createRelationship.md index 05970a06e59..3690bf723a1 100644 --- a/docs/api/functions/createRelationship.md +++ b/docs/api/functions/createRelationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / createRelationship +[@elizaos/core v0.25.9](../index.md) / createRelationship # Function: createRelationship() diff --git a/docs/api/functions/embed.md b/docs/api/functions/embed.md index c0c7bcb10ca..5cab0baf5eb 100644 --- a/docs/api/functions/embed.md +++ b/docs/api/functions/embed.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / embed +[@elizaos/core v0.25.9](../index.md) / embed # Function: embed() diff --git a/docs/api/functions/extractAttributes.md b/docs/api/functions/extractAttributes.md index c38120c00e6..ecd8d43d857 100644 --- a/docs/api/functions/extractAttributes.md +++ b/docs/api/functions/extractAttributes.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / extractAttributes +[@elizaos/core v0.25.9](../index.md) / extractAttributes # Function: extractAttributes() diff --git a/docs/api/functions/findNearestEnvFile.md b/docs/api/functions/findNearestEnvFile.md index 0f3ce65894f..9e3648182f8 100644 --- a/docs/api/functions/findNearestEnvFile.md +++ b/docs/api/functions/findNearestEnvFile.md @@ -1,21 +1,21 @@ -[@elizaos/core v0.25.8](../index.md) / findNearestEnvFile +[@elizaos/core v0.25.9](../index.md) / findNearestEnvFile # Function: findNearestEnvFile() -> **findNearestEnvFile**(`startDir`?): `string` +> **findNearestEnvFile**(`startDir`?): `any` Recursively searches for a .env file starting from the current directory and moving up through parent directories (Node.js only) ## Parameters -• **startDir?**: `string` = `...` +• **startDir?**: `any` = `...` Starting directory for the search ## Returns -`string` +`any` Path to the nearest .env file or null if not found diff --git a/docs/api/functions/formatActionNames.md b/docs/api/functions/formatActionNames.md index 9e5d3074c39..b88051ac736 100644 --- a/docs/api/functions/formatActionNames.md +++ b/docs/api/functions/formatActionNames.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActionNames +[@elizaos/core v0.25.9](../index.md) / formatActionNames # Function: formatActionNames() diff --git a/docs/api/functions/formatActions.md b/docs/api/functions/formatActions.md index a333e10cd21..8886b0872fd 100644 --- a/docs/api/functions/formatActions.md +++ b/docs/api/functions/formatActions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActions +[@elizaos/core v0.25.9](../index.md) / formatActions # Function: formatActions() diff --git a/docs/api/functions/formatActors.md b/docs/api/functions/formatActors.md index 80dc3167d65..f88f499b8d9 100644 --- a/docs/api/functions/formatActors.md +++ b/docs/api/functions/formatActors.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatActors +[@elizaos/core v0.25.9](../index.md) / formatActors # Function: formatActors() diff --git a/docs/api/functions/formatEvaluatorExampleDescriptions.md b/docs/api/functions/formatEvaluatorExampleDescriptions.md index 43b3b840b07..fbf9d8f0e06 100644 --- a/docs/api/functions/formatEvaluatorExampleDescriptions.md +++ b/docs/api/functions/formatEvaluatorExampleDescriptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorExampleDescriptions +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorExampleDescriptions # Function: formatEvaluatorExampleDescriptions() diff --git a/docs/api/functions/formatEvaluatorExamples.md b/docs/api/functions/formatEvaluatorExamples.md index 65546d99d9c..b0ecee640ad 100644 --- a/docs/api/functions/formatEvaluatorExamples.md +++ b/docs/api/functions/formatEvaluatorExamples.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorExamples +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorExamples # Function: formatEvaluatorExamples() diff --git a/docs/api/functions/formatEvaluatorNames.md b/docs/api/functions/formatEvaluatorNames.md index 596530e98d2..1e16c4cf6a2 100644 --- a/docs/api/functions/formatEvaluatorNames.md +++ b/docs/api/functions/formatEvaluatorNames.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluatorNames +[@elizaos/core v0.25.9](../index.md) / formatEvaluatorNames # Function: formatEvaluatorNames() diff --git a/docs/api/functions/formatEvaluators.md b/docs/api/functions/formatEvaluators.md index d86caf01c12..6941457b2d7 100644 --- a/docs/api/functions/formatEvaluators.md +++ b/docs/api/functions/formatEvaluators.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatEvaluators +[@elizaos/core v0.25.9](../index.md) / formatEvaluators # Function: formatEvaluators() diff --git a/docs/api/functions/formatGoalsAsString.md b/docs/api/functions/formatGoalsAsString.md index fa0a692cd5b..817431fe535 100644 --- a/docs/api/functions/formatGoalsAsString.md +++ b/docs/api/functions/formatGoalsAsString.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatGoalsAsString +[@elizaos/core v0.25.9](../index.md) / formatGoalsAsString # Function: formatGoalsAsString() diff --git a/docs/api/functions/formatMessages.md b/docs/api/functions/formatMessages.md index e94c2292421..5d9812cd476 100644 --- a/docs/api/functions/formatMessages.md +++ b/docs/api/functions/formatMessages.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatMessages +[@elizaos/core v0.25.9](../index.md) / formatMessages # Function: formatMessages() diff --git a/docs/api/functions/formatPosts.md b/docs/api/functions/formatPosts.md index 7208791f409..671455a0afa 100644 --- a/docs/api/functions/formatPosts.md +++ b/docs/api/functions/formatPosts.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatPosts +[@elizaos/core v0.25.9](../index.md) / formatPosts # Function: formatPosts() diff --git a/docs/api/functions/formatRelationships.md b/docs/api/functions/formatRelationships.md index 1142090598b..bf2c6aabb3d 100644 --- a/docs/api/functions/formatRelationships.md +++ b/docs/api/functions/formatRelationships.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatRelationships +[@elizaos/core v0.25.9](../index.md) / formatRelationships # Function: formatRelationships() diff --git a/docs/api/functions/formatTimestamp.md b/docs/api/functions/formatTimestamp.md index cfbbc11b8a5..ee82eb8b089 100644 --- a/docs/api/functions/formatTimestamp.md +++ b/docs/api/functions/formatTimestamp.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / formatTimestamp +[@elizaos/core v0.25.9](../index.md) / formatTimestamp # Function: formatTimestamp() diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md index 29732598353..fff94862164 100644 --- a/docs/api/functions/generateCaption.md +++ b/docs/api/functions/generateCaption.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateCaption +[@elizaos/core v0.25.9](../index.md) / generateCaption # Function: generateCaption() @@ -26,4 +26,4 @@ ## Defined in -[packages/core/src/generation.ts:2103](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2103) +[packages/core/src/generation.ts:2163](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2163) diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md index df6e4414917..ead2ed35b1f 100644 --- a/docs/api/functions/generateImage.md +++ b/docs/api/functions/generateImage.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateImage +[@elizaos/core v0.25.9](../index.md) / generateImage # Function: generateImage() @@ -56,4 +56,4 @@ ## Defined in -[packages/core/src/generation.ts:1704](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1704) +[packages/core/src/generation.ts:1752](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1752) diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md index ff602646488..e0162ec5ecf 100644 --- a/docs/api/functions/generateMessageResponse.md +++ b/docs/api/functions/generateMessageResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateMessageResponse +[@elizaos/core v0.25.9](../index.md) / generateMessageResponse # Function: generateMessageResponse() @@ -28,4 +28,4 @@ The completed message. ## Defined in -[packages/core/src/generation.ts:1661](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1661) +[packages/core/src/generation.ts:1709](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1709) diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md index b81cb61aeaf..5ef8ac649d6 100644 --- a/docs/api/functions/generateObject.md +++ b/docs/api/functions/generateObject.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObject +[@elizaos/core v0.25.9](../index.md) / generateObject # Function: generateObject() @@ -24,4 +24,4 @@ Configuration options for generating objects. ## Defined in -[packages/core/src/generation.ts:2165](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2165) +[packages/core/src/generation.ts:2225](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2225) diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md index 16ea987910a..1501d6f7f0c 100644 --- a/docs/api/functions/generateObjectArray.md +++ b/docs/api/functions/generateObjectArray.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObjectArray +[@elizaos/core v0.25.9](../index.md) / generateObjectArray # Function: generateObjectArray() @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1613](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1613) +[packages/core/src/generation.ts:1661](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1661) diff --git a/docs/api/functions/generateObjectDeprecated.md b/docs/api/functions/generateObjectDeprecated.md index d0d03e1611a..644a04d4961 100644 --- a/docs/api/functions/generateObjectDeprecated.md +++ b/docs/api/functions/generateObjectDeprecated.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateObjectDeprecated +[@elizaos/core v0.25.9](../index.md) / generateObjectDeprecated # Function: generateObjectDeprecated() @@ -20,4 +20,4 @@ ## Defined in -[packages/core/src/generation.ts:1577](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1577) +[packages/core/src/generation.ts:1625](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1625) diff --git a/docs/api/functions/generateShouldRespond.md b/docs/api/functions/generateShouldRespond.md index 2e37004edb5..09793d2918a 100644 --- a/docs/api/functions/generateShouldRespond.md +++ b/docs/api/functions/generateShouldRespond.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateShouldRespond +[@elizaos/core v0.25.9](../index.md) / generateShouldRespond # Function: generateShouldRespond() @@ -28,4 +28,4 @@ Promise resolving to "RESPOND", "IGNORE", "STOP" or null ## Defined in -[packages/core/src/generation.ts:1388](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1388) +[packages/core/src/generation.ts:1392](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1392) diff --git a/docs/api/functions/generateText.md b/docs/api/functions/generateText.md index 075c2f91c83..1fb518a9908 100644 --- a/docs/api/functions/generateText.md +++ b/docs/api/functions/generateText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateText +[@elizaos/core v0.25.9](../index.md) / generateText # Function: generateText() @@ -20,7 +20,7 @@ The context of the message to be completed. • **opts.modelClass**: [`ModelClass`](../enumerations/ModelClass.md) -• **opts.tools?**: `Record`\<`string`, `Tool`\> = `{}` +• **opts.tools?**: `Record`\<`string`, `CoreTool`\<`any`, `any`\>\> = `{}` • **opts.onStepFinish?** diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md index 2eacf759aae..6fbd4b0862f 100644 --- a/docs/api/functions/generateTextArray.md +++ b/docs/api/functions/generateTextArray.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTextArray +[@elizaos/core v0.25.9](../index.md) / generateTextArray # Function: generateTextArray() @@ -28,4 +28,4 @@ Promise resolving to an array of strings parsed from the model's response ## Defined in -[packages/core/src/generation.ts:1541](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1541) +[packages/core/src/generation.ts:1589](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1589) diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md index 625bb3989b7..d228d8b13f7 100644 --- a/docs/api/functions/generateTrueOrFalse.md +++ b/docs/api/functions/generateTrueOrFalse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTrueOrFalse +[@elizaos/core v0.25.9](../index.md) / generateTrueOrFalse # Function: generateTrueOrFalse() @@ -28,4 +28,4 @@ Promise resolving to a boolean value parsed from the model's response ## Defined in -[packages/core/src/generation.ts:1489](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1489) +[packages/core/src/generation.ts:1537](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1537) diff --git a/docs/api/functions/generateTweetActions.md b/docs/api/functions/generateTweetActions.md index 5c875d8cd62..55afb668748 100644 --- a/docs/api/functions/generateTweetActions.md +++ b/docs/api/functions/generateTweetActions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / generateTweetActions +[@elizaos/core v0.25.9](../index.md) / generateTweetActions # Function: generateTweetActions() @@ -22,4 +22,4 @@ doesn't belong here ## Defined in -[packages/core/src/generation.ts:2757](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2757) +[packages/core/src/generation.ts:2817](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2817) diff --git a/docs/api/functions/getActorDetails.md b/docs/api/functions/getActorDetails.md index b9ae46a62ca..54512389b58 100644 --- a/docs/api/functions/getActorDetails.md +++ b/docs/api/functions/getActorDetails.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getActorDetails +[@elizaos/core v0.25.9](../index.md) / getActorDetails # Function: getActorDetails() diff --git a/docs/api/functions/getEmbeddingConfig.md b/docs/api/functions/getEmbeddingConfig.md index 1bc3d2ee4e7..708f0c1f851 100644 --- a/docs/api/functions/getEmbeddingConfig.md +++ b/docs/api/functions/getEmbeddingConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingConfig +[@elizaos/core v0.25.9](../index.md) / getEmbeddingConfig # Function: getEmbeddingConfig() diff --git a/docs/api/functions/getEmbeddingModelSettings.md b/docs/api/functions/getEmbeddingModelSettings.md index 484fecc4905..a4e4a82e888 100644 --- a/docs/api/functions/getEmbeddingModelSettings.md +++ b/docs/api/functions/getEmbeddingModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingModelSettings +[@elizaos/core v0.25.9](../index.md) / getEmbeddingModelSettings # Function: getEmbeddingModelSettings() diff --git a/docs/api/functions/getEmbeddingType.md b/docs/api/functions/getEmbeddingType.md index 6e008ffcdf5..17ef2c1a07f 100644 --- a/docs/api/functions/getEmbeddingType.md +++ b/docs/api/functions/getEmbeddingType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingType +[@elizaos/core v0.25.9](../index.md) / getEmbeddingType # Function: getEmbeddingType() diff --git a/docs/api/functions/getEmbeddingZeroVector.md b/docs/api/functions/getEmbeddingZeroVector.md index b8ea25855bf..ddb3687ec92 100644 --- a/docs/api/functions/getEmbeddingZeroVector.md +++ b/docs/api/functions/getEmbeddingZeroVector.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEmbeddingZeroVector +[@elizaos/core v0.25.9](../index.md) / getEmbeddingZeroVector # Function: getEmbeddingZeroVector() diff --git a/docs/api/functions/getEndpoint.md b/docs/api/functions/getEndpoint.md index e8b12a9dbad..e6905d7d2b8 100644 --- a/docs/api/functions/getEndpoint.md +++ b/docs/api/functions/getEndpoint.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEndpoint +[@elizaos/core v0.25.9](../index.md) / getEndpoint # Function: getEndpoint() diff --git a/docs/api/functions/getEnvVariable.md b/docs/api/functions/getEnvVariable.md index 412c92f1126..5c6bb2684f6 100644 --- a/docs/api/functions/getEnvVariable.md +++ b/docs/api/functions/getEnvVariable.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getEnvVariable +[@elizaos/core v0.25.9](../index.md) / getEnvVariable # Function: getEnvVariable() diff --git a/docs/api/functions/getGoals.md b/docs/api/functions/getGoals.md index 77768684c67..2bf9ff3f387 100644 --- a/docs/api/functions/getGoals.md +++ b/docs/api/functions/getGoals.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getGoals +[@elizaos/core v0.25.9](../index.md) / getGoals # Function: getGoals() diff --git a/docs/api/functions/getImageModelSettings.md b/docs/api/functions/getImageModelSettings.md index 9970b6e8389..a55cfb9175f 100644 --- a/docs/api/functions/getImageModelSettings.md +++ b/docs/api/functions/getImageModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getImageModelSettings +[@elizaos/core v0.25.9](../index.md) / getImageModelSettings # Function: getImageModelSettings() diff --git a/docs/api/functions/getModelSettings.md b/docs/api/functions/getModelSettings.md index d8404d859d9..741e5396158 100644 --- a/docs/api/functions/getModelSettings.md +++ b/docs/api/functions/getModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getModelSettings +[@elizaos/core v0.25.9](../index.md) / getModelSettings # Function: getModelSettings() diff --git a/docs/api/functions/getProviders.md b/docs/api/functions/getProviders.md index 4986211ed94..298086b8cdd 100644 --- a/docs/api/functions/getProviders.md +++ b/docs/api/functions/getProviders.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getProviders +[@elizaos/core v0.25.9](../index.md) / getProviders # Function: getProviders() diff --git a/docs/api/functions/getRelationship.md b/docs/api/functions/getRelationship.md index d9f7076505e..194cc9e9e4f 100644 --- a/docs/api/functions/getRelationship.md +++ b/docs/api/functions/getRelationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getRelationship +[@elizaos/core v0.25.9](../index.md) / getRelationship # Function: getRelationship() diff --git a/docs/api/functions/getRelationships.md b/docs/api/functions/getRelationships.md index de136f319f1..46c87394f96 100644 --- a/docs/api/functions/getRelationships.md +++ b/docs/api/functions/getRelationships.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / getRelationships +[@elizaos/core v0.25.9](../index.md) / getRelationships # Function: getRelationships() diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md index b9a12e7e458..dc9c0b1bd7e 100644 --- a/docs/api/functions/handleProvider.md +++ b/docs/api/functions/handleProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / handleProvider +[@elizaos/core v0.25.9](../index.md) / handleProvider # Function: handleProvider() @@ -20,4 +20,4 @@ Configuration options specific to the provider. ## Defined in -[packages/core/src/generation.ts:2238](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2238) +[packages/core/src/generation.ts:2298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2298) diff --git a/docs/api/functions/hasEnvVariable.md b/docs/api/functions/hasEnvVariable.md index 33178688bf0..412802eed47 100644 --- a/docs/api/functions/hasEnvVariable.md +++ b/docs/api/functions/hasEnvVariable.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / hasEnvVariable +[@elizaos/core v0.25.9](../index.md) / hasEnvVariable # Function: hasEnvVariable() diff --git a/docs/api/functions/loadEnvConfig.md b/docs/api/functions/loadEnvConfig.md index a56ba64542f..ecf8a9f4af0 100644 --- a/docs/api/functions/loadEnvConfig.md +++ b/docs/api/functions/loadEnvConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / loadEnvConfig +[@elizaos/core v0.25.9](../index.md) / loadEnvConfig # Function: loadEnvConfig() diff --git a/docs/api/functions/normalizeJsonString.md b/docs/api/functions/normalizeJsonString.md index 16a7868342d..6ba32218df0 100644 --- a/docs/api/functions/normalizeJsonString.md +++ b/docs/api/functions/normalizeJsonString.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / normalizeJsonString +[@elizaos/core v0.25.9](../index.md) / normalizeJsonString # Function: normalizeJsonString() diff --git a/docs/api/functions/parseActionResponseFromText.md b/docs/api/functions/parseActionResponseFromText.md index cee668526f9..d114ee77d38 100644 --- a/docs/api/functions/parseActionResponseFromText.md +++ b/docs/api/functions/parseActionResponseFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseActionResponseFromText +[@elizaos/core v0.25.9](../index.md) / parseActionResponseFromText # Function: parseActionResponseFromText() diff --git a/docs/api/functions/parseBooleanFromText.md b/docs/api/functions/parseBooleanFromText.md index 806d8987a1f..f212847a9c4 100644 --- a/docs/api/functions/parseBooleanFromText.md +++ b/docs/api/functions/parseBooleanFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseBooleanFromText +[@elizaos/core v0.25.9](../index.md) / parseBooleanFromText # Function: parseBooleanFromText() diff --git a/docs/api/functions/parseJSONObjectFromText.md b/docs/api/functions/parseJSONObjectFromText.md index cf6fe13f864..71e96a23254 100644 --- a/docs/api/functions/parseJSONObjectFromText.md +++ b/docs/api/functions/parseJSONObjectFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseJSONObjectFromText +[@elizaos/core v0.25.9](../index.md) / parseJSONObjectFromText # Function: parseJSONObjectFromText() diff --git a/docs/api/functions/parseJsonArrayFromText.md b/docs/api/functions/parseJsonArrayFromText.md index 7f5d9c390ba..8915df893a4 100644 --- a/docs/api/functions/parseJsonArrayFromText.md +++ b/docs/api/functions/parseJsonArrayFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseJsonArrayFromText +[@elizaos/core v0.25.9](../index.md) / parseJsonArrayFromText # Function: parseJsonArrayFromText() diff --git a/docs/api/functions/parseShouldRespondFromText.md b/docs/api/functions/parseShouldRespondFromText.md index 4ed1525b88e..30da0126a34 100644 --- a/docs/api/functions/parseShouldRespondFromText.md +++ b/docs/api/functions/parseShouldRespondFromText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / parseShouldRespondFromText +[@elizaos/core v0.25.9](../index.md) / parseShouldRespondFromText # Function: parseShouldRespondFromText() diff --git a/docs/api/functions/splitChunks.md b/docs/api/functions/splitChunks.md index 0127fcd706f..684ddb04f2b 100644 --- a/docs/api/functions/splitChunks.md +++ b/docs/api/functions/splitChunks.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / splitChunks +[@elizaos/core v0.25.9](../index.md) / splitChunks # Function: splitChunks() @@ -28,4 +28,4 @@ Promise resolving to array of text chunks with bleed sections ## Defined in -[packages/core/src/generation.ts:1443](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1443) +[packages/core/src/generation.ts:1447](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1447) diff --git a/docs/api/functions/splitText.md b/docs/api/functions/splitText.md index 4bf236df667..243ace468b5 100644 --- a/docs/api/functions/splitText.md +++ b/docs/api/functions/splitText.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / splitText +[@elizaos/core v0.25.9](../index.md) / splitText # Function: splitText() @@ -18,4 +18,4 @@ ## Defined in -[packages/core/src/generation.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1462) +[packages/core/src/generation.ts:1495](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L1495) diff --git a/docs/api/functions/stringToUuid.md b/docs/api/functions/stringToUuid.md index 4d3c4608674..86b5a6e91ff 100644 --- a/docs/api/functions/stringToUuid.md +++ b/docs/api/functions/stringToUuid.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / stringToUuid +[@elizaos/core v0.25.9](../index.md) / stringToUuid # Function: stringToUuid() diff --git a/docs/api/functions/trimTokens.md b/docs/api/functions/trimTokens.md index dbaab12142b..6e50ae193e3 100644 --- a/docs/api/functions/trimTokens.md +++ b/docs/api/functions/trimTokens.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / trimTokens +[@elizaos/core v0.25.9](../index.md) / trimTokens # Function: trimTokens() -> **trimTokens**(`context`, `maxTokens`, `runtime`): `Promise`\<`string`\> +> **trimTokens**(`context`, `maxTokens`, `runtime`): `Promise`\<`any`\> Trims the provided text context to a specified token limit using a tokenizer model and type. @@ -26,7 +26,7 @@ The runtime interface providing tokenizer settings. ## Returns -`Promise`\<`string`\> +`Promise`\<`any`\> A promise that resolves to the trimmed text. diff --git a/docs/api/functions/truncateToCompleteSentence.md b/docs/api/functions/truncateToCompleteSentence.md index 7dc14edc08f..1c418d0ac93 100644 --- a/docs/api/functions/truncateToCompleteSentence.md +++ b/docs/api/functions/truncateToCompleteSentence.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / truncateToCompleteSentence +[@elizaos/core v0.25.9](../index.md) / truncateToCompleteSentence # Function: truncateToCompleteSentence() diff --git a/docs/api/functions/updateGoal.md b/docs/api/functions/updateGoal.md index 6ea60874e63..139244f388a 100644 --- a/docs/api/functions/updateGoal.md +++ b/docs/api/functions/updateGoal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / updateGoal +[@elizaos/core v0.25.9](../index.md) / updateGoal # Function: updateGoal() diff --git a/docs/api/functions/validateCharacterConfig.md b/docs/api/functions/validateCharacterConfig.md index 5676699ede7..8c8cb4ba317 100644 --- a/docs/api/functions/validateCharacterConfig.md +++ b/docs/api/functions/validateCharacterConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateCharacterConfig +[@elizaos/core v0.25.9](../index.md) / validateCharacterConfig # Function: validateCharacterConfig() diff --git a/docs/api/functions/validateEnv.md b/docs/api/functions/validateEnv.md index e5de71051f3..111436f71b1 100644 --- a/docs/api/functions/validateEnv.md +++ b/docs/api/functions/validateEnv.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateEnv +[@elizaos/core v0.25.9](../index.md) / validateEnv # Function: validateEnv() diff --git a/docs/api/functions/validateUuid.md b/docs/api/functions/validateUuid.md index 001cb29a87c..002f07c9cc4 100644 --- a/docs/api/functions/validateUuid.md +++ b/docs/api/functions/validateUuid.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / validateUuid +[@elizaos/core v0.25.9](../index.md) / validateUuid # Function: validateUuid() diff --git a/docs/api/index.md b/docs/api/index.md index b708224b511..4aa4de07dbe 100644 --- a/docs/api/index.md +++ b/docs/api/index.md @@ -1,4 +1,4 @@ -# @elizaos/core v0.25.8 +# @elizaos/core v0.25.9 ## Enumerations diff --git a/docs/api/interfaces/Account.md b/docs/api/interfaces/Account.md index e703a625d23..7da9cd31388 100644 --- a/docs/api/interfaces/Account.md +++ b/docs/api/interfaces/Account.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Account +[@elizaos/core v0.25.9](../index.md) / Account # Interface: Account diff --git a/docs/api/interfaces/Action.md b/docs/api/interfaces/Action.md index 70a6b6eff6f..b33cd7cae42 100644 --- a/docs/api/interfaces/Action.md +++ b/docs/api/interfaces/Action.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Action +[@elizaos/core v0.25.9](../index.md) / Action # Interface: Action diff --git a/docs/api/interfaces/ActionExample.md b/docs/api/interfaces/ActionExample.md index 3ea0b843d12..6c030647e3e 100644 --- a/docs/api/interfaces/ActionExample.md +++ b/docs/api/interfaces/ActionExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionExample +[@elizaos/core v0.25.9](../index.md) / ActionExample # Interface: ActionExample diff --git a/docs/api/interfaces/ActionResponse.md b/docs/api/interfaces/ActionResponse.md index 2409b8ad22f..ab8fcacaeb2 100644 --- a/docs/api/interfaces/ActionResponse.md +++ b/docs/api/interfaces/ActionResponse.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ActionResponse +[@elizaos/core v0.25.9](../index.md) / ActionResponse # Interface: ActionResponse @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1579](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1579) +[packages/core/src/types.ts:1580](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1580) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1580](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1580) +[packages/core/src/types.ts:1581](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1581) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1581](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1581) +[packages/core/src/types.ts:1582](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1582) *** @@ -40,4 +40,4 @@ #### Defined in -[packages/core/src/types.ts:1582](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1582) +[packages/core/src/types.ts:1583](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1583) diff --git a/docs/api/interfaces/Actor.md b/docs/api/interfaces/Actor.md index cb8d0159f36..e2588637258 100644 --- a/docs/api/interfaces/Actor.md +++ b/docs/api/interfaces/Actor.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Actor +[@elizaos/core v0.25.9](../index.md) / Actor # Interface: Actor diff --git a/docs/api/interfaces/ChunkRow.md b/docs/api/interfaces/ChunkRow.md index 8cf2f54f080..155ff8f0fd1 100644 --- a/docs/api/interfaces/ChunkRow.md +++ b/docs/api/interfaces/ChunkRow.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ChunkRow +[@elizaos/core v0.25.9](../index.md) / ChunkRow # Interface: ChunkRow @@ -10,4 +10,4 @@ #### Defined in -[packages/core/src/types.ts:1619](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1619) +[packages/core/src/types.ts:1620](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1620) diff --git a/docs/api/interfaces/Content.md b/docs/api/interfaces/Content.md index 48ba56a92d7..28731773833 100644 --- a/docs/api/interfaces/Content.md +++ b/docs/api/interfaces/Content.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Content +[@elizaos/core v0.25.9](../index.md) / Content # Interface: Content diff --git a/docs/api/interfaces/ConversationExample.md b/docs/api/interfaces/ConversationExample.md index 13c761b7975..ecddda2e95e 100644 --- a/docs/api/interfaces/ConversationExample.md +++ b/docs/api/interfaces/ConversationExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ConversationExample +[@elizaos/core v0.25.9](../index.md) / ConversationExample # Interface: ConversationExample diff --git a/docs/api/interfaces/DataIrysFetchedFromGQL.md b/docs/api/interfaces/DataIrysFetchedFromGQL.md index 1421bc4beda..e981566b73d 100644 --- a/docs/api/interfaces/DataIrysFetchedFromGQL.md +++ b/docs/api/interfaces/DataIrysFetchedFromGQL.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DataIrysFetchedFromGQL +[@elizaos/core v0.25.9](../index.md) / DataIrysFetchedFromGQL # Interface: DataIrysFetchedFromGQL @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1461](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1461) +[packages/core/src/types.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1462) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1462](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1462) +[packages/core/src/types.ts:1463](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1463) *** @@ -30,4 +30,4 @@ #### Defined in -[packages/core/src/types.ts:1463](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1463) +[packages/core/src/types.ts:1464](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1464) diff --git a/docs/api/interfaces/DirectoryItem.md b/docs/api/interfaces/DirectoryItem.md index e42a4798956..3424724d0b8 100644 --- a/docs/api/interfaces/DirectoryItem.md +++ b/docs/api/interfaces/DirectoryItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / DirectoryItem +[@elizaos/core v0.25.9](../index.md) / DirectoryItem # Interface: DirectoryItem @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1614](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1614) +[packages/core/src/types.ts:1615](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1615) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1615](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1615) +[packages/core/src/types.ts:1616](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1616) diff --git a/docs/api/interfaces/EvaluationExample.md b/docs/api/interfaces/EvaluationExample.md index 78009451f1c..b157133ec34 100644 --- a/docs/api/interfaces/EvaluationExample.md +++ b/docs/api/interfaces/EvaluationExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EvaluationExample +[@elizaos/core v0.25.9](../index.md) / EvaluationExample # Interface: EvaluationExample diff --git a/docs/api/interfaces/Evaluator.md b/docs/api/interfaces/Evaluator.md index a060dfd4061..01bdedc9489 100644 --- a/docs/api/interfaces/Evaluator.md +++ b/docs/api/interfaces/Evaluator.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Evaluator +[@elizaos/core v0.25.9](../index.md) / Evaluator # Interface: Evaluator diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md index e62008b9c91..80be6759b47 100644 --- a/docs/api/interfaces/GenerationOptions.md +++ b/docs/api/interfaces/GenerationOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GenerationOptions +[@elizaos/core v0.25.9](../index.md) / GenerationOptions # Interface: GenerationOptions @@ -12,7 +12,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2131](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2131) +[packages/core/src/generation.ts:2191](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2191) *** @@ -22,7 +22,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2132](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2132) +[packages/core/src/generation.ts:2192](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2192) *** @@ -32,17 +32,17 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2133](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2133) +[packages/core/src/generation.ts:2193](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2193) *** ### schema? -> `optional` **schema**: `ZodType`\<`any`, `ZodTypeDef`, `any`\> +> `optional` **schema**: `ZodSchema` #### Defined in -[packages/core/src/generation.ts:2134](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2134) +[packages/core/src/generation.ts:2194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2194) *** @@ -52,7 +52,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2135](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2135) +[packages/core/src/generation.ts:2195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2195) *** @@ -62,7 +62,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2136](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2136) +[packages/core/src/generation.ts:2196](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2196) *** @@ -72,7 +72,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2137](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2137) +[packages/core/src/generation.ts:2197](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2197) *** @@ -82,7 +82,7 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2138](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2138) +[packages/core/src/generation.ts:2198](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2198) *** @@ -92,4 +92,4 @@ Configuration options for generating objects with a model. #### Defined in -[packages/core/src/generation.ts:2139](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2139) +[packages/core/src/generation.ts:2199](https://github.com/elizaOS/eliza/blob/main/packages/core/src/generation.ts#L2199) diff --git a/docs/api/interfaces/Goal.md b/docs/api/interfaces/Goal.md index 82076da4425..44746a96fee 100644 --- a/docs/api/interfaces/Goal.md +++ b/docs/api/interfaces/Goal.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Goal +[@elizaos/core v0.25.9](../index.md) / Goal # Interface: Goal diff --git a/docs/api/interfaces/GraphQLTag.md b/docs/api/interfaces/GraphQLTag.md index cba202a7a9b..eedf55058c5 100644 --- a/docs/api/interfaces/GraphQLTag.md +++ b/docs/api/interfaces/GraphQLTag.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / GraphQLTag +[@elizaos/core v0.25.9](../index.md) / GraphQLTag # Interface: GraphQLTag @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1467](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1467) +[packages/core/src/types.ts:1468](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1468) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1468](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1468) +[packages/core/src/types.ts:1469](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1469) diff --git a/docs/api/interfaces/IAgentConfig.md b/docs/api/interfaces/IAgentConfig.md index c37179c6c0b..78647f912ae 100644 --- a/docs/api/interfaces/IAgentConfig.md +++ b/docs/api/interfaces/IAgentConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAgentConfig +[@elizaos/core v0.25.9](../index.md) / IAgentConfig # Interface: IAgentConfig diff --git a/docs/api/interfaces/IAgentRuntime.md b/docs/api/interfaces/IAgentRuntime.md index 01811de4500..8aafc08e22c 100644 --- a/docs/api/interfaces/IAgentRuntime.md +++ b/docs/api/interfaces/IAgentRuntime.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAgentRuntime +[@elizaos/core v0.25.9](../index.md) / IAgentRuntime # Interface: IAgentRuntime @@ -12,7 +12,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1289](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1289) +[packages/core/src/types.ts:1290](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1290) *** @@ -22,7 +22,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1290](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1290) +[packages/core/src/types.ts:1291](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1291) *** @@ -32,7 +32,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1291](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1291) +[packages/core/src/types.ts:1292](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1292) *** @@ -42,7 +42,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1292](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1292) +[packages/core/src/types.ts:1293](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1293) *** @@ -52,7 +52,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1293](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1293) +[packages/core/src/types.ts:1294](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1294) *** @@ -62,7 +62,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1294](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1294) +[packages/core/src/types.ts:1295](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1295) *** @@ -72,7 +72,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1295](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1295) +[packages/core/src/types.ts:1296](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1296) *** @@ -82,7 +82,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1296](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1296) +[packages/core/src/types.ts:1297](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1297) *** @@ -92,7 +92,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1297](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1297) +[packages/core/src/types.ts:1298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1298) *** @@ -102,7 +102,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1298](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1298) +[packages/core/src/types.ts:1299](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1299) *** @@ -112,7 +112,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1299](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1299) +[packages/core/src/types.ts:1300](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1300) *** @@ -122,13 +122,13 @@ Properties #### Defined in -[packages/core/src/types.ts:1300](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1300) +[packages/core/src/types.ts:1301](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1301) *** ### fetch()? -> `optional` **fetch**: (`input`, `init`?) => `Promise`\<`Response`\>(`input`, `init`?) => `Promise`\<`Response`\> +> `optional` **fetch**: (`input`, `init`?) => `Promise`\<`Response`\> [MDN Reference](https://developer.mozilla.org/docs/Web/API/fetch) @@ -142,19 +142,9 @@ Properties `Promise`\<`Response`\> -#### Parameters - -• **input**: `string` \| `Request` \| `URL` - -• **init?**: `RequestInit` - -#### Returns - -`Promise`\<`Response`\> - #### Defined in -[packages/core/src/types.ts:1302](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1302) +[packages/core/src/types.ts:1303](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1303) *** @@ -164,7 +154,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1304](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1304) +[packages/core/src/types.ts:1305](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1305) *** @@ -174,7 +164,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1305](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1305) +[packages/core/src/types.ts:1306](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1306) *** @@ -184,7 +174,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1306](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1306) +[packages/core/src/types.ts:1307](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1307) *** @@ -194,7 +184,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1307](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1307) +[packages/core/src/types.ts:1308](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1308) *** @@ -204,7 +194,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1308](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1308) +[packages/core/src/types.ts:1309](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1309) *** @@ -214,7 +204,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1309](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1309) +[packages/core/src/types.ts:1310](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1310) *** @@ -224,7 +214,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1311](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1311) +[packages/core/src/types.ts:1312](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1312) *** @@ -234,7 +224,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1313](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1313) +[packages/core/src/types.ts:1314](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1314) *** @@ -244,7 +234,7 @@ Properties #### Defined in -[packages/core/src/types.ts:1314](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1314) +[packages/core/src/types.ts:1315](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1315) ## Methods @@ -260,7 +250,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1318](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1318) +[packages/core/src/types.ts:1319](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1319) *** @@ -278,7 +268,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1320](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1320) +[packages/core/src/types.ts:1321](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1321) *** @@ -296,7 +286,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1322](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1322) +[packages/core/src/types.ts:1323](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1323) *** @@ -318,7 +308,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1324](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1324) +[packages/core/src/types.ts:1325](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1325) *** @@ -336,7 +326,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1326](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1326) +[packages/core/src/types.ts:1327](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1327) *** @@ -354,7 +344,7 @@ verifiableInferenceAdapter?: IVerifiableInferenceAdapter | null; #### Defined in -[packages/core/src/types.ts:1328](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1328) +[packages/core/src/types.ts:1329](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1329) *** @@ -370,7 +360,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1331](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1331) +[packages/core/src/types.ts:1332](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1332) *** @@ -394,7 +384,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1333](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1333) +[packages/core/src/types.ts:1334](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1334) *** @@ -418,7 +408,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1340](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1340) +[packages/core/src/types.ts:1341](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1341) *** @@ -438,7 +428,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1347](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1347) +[packages/core/src/types.ts:1348](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1348) *** @@ -462,7 +452,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1349](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1349) +[packages/core/src/types.ts:1350](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1350) *** @@ -480,7 +470,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1356](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1356) +[packages/core/src/types.ts:1357](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1357) *** @@ -506,7 +496,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1358](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1358) +[packages/core/src/types.ts:1359](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1359) *** @@ -526,7 +516,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1366](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1366) +[packages/core/src/types.ts:1367](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1367) *** @@ -544,7 +534,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1368](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1368) +[packages/core/src/types.ts:1369](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1369) *** @@ -564,7 +554,7 @@ Methods #### Defined in -[packages/core/src/types.ts:1370](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1370) +[packages/core/src/types.ts:1371](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1371) *** @@ -582,4 +572,4 @@ Methods #### Defined in -[packages/core/src/types.ts:1375](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1375) +[packages/core/src/types.ts:1376](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1376) diff --git a/docs/api/interfaces/IAwsS3Service.md b/docs/api/interfaces/IAwsS3Service.md index a07b9959921..99eea0de6e9 100644 --- a/docs/api/interfaces/IAwsS3Service.md +++ b/docs/api/interfaces/IAwsS3Service.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IAwsS3Service +[@elizaos/core v0.25.9](../index.md) / IAwsS3Service # Interface: IAwsS3Service @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1440](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1440) +[packages/core/src/types.ts:1441](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1441) *** @@ -104,4 +104,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1450](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1450) +[packages/core/src/types.ts:1451](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1451) diff --git a/docs/api/interfaces/IBrowserService.md b/docs/api/interfaces/IBrowserService.md index 82c763624e4..1fa9003aa2d 100644 --- a/docs/api/interfaces/IBrowserService.md +++ b/docs/api/interfaces/IBrowserService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IBrowserService +[@elizaos/core v0.25.9](../index.md) / IBrowserService # Interface: IBrowserService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1422](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1422) +[packages/core/src/types.ts:1423](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1423) *** @@ -94,4 +94,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1423](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1423) +[packages/core/src/types.ts:1424](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1424) diff --git a/docs/api/interfaces/ICacheAdapter.md b/docs/api/interfaces/ICacheAdapter.md index 6fb6d82553d..5dfdf7253b9 100644 --- a/docs/api/interfaces/ICacheAdapter.md +++ b/docs/api/interfaces/ICacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ICacheAdapter +[@elizaos/core v0.25.9](../index.md) / ICacheAdapter # Interface: ICacheAdapter diff --git a/docs/api/interfaces/ICacheManager.md b/docs/api/interfaces/ICacheManager.md index 1b38d3e8bbd..57c17b72209 100644 --- a/docs/api/interfaces/ICacheManager.md +++ b/docs/api/interfaces/ICacheManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ICacheManager +[@elizaos/core v0.25.9](../index.md) / ICacheManager # Interface: ICacheManager @@ -22,7 +22,7 @@ #### Defined in -[packages/core/src/types.ts:1260](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1260) +[packages/core/src/types.ts:1261](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1261) *** @@ -48,7 +48,7 @@ #### Defined in -[packages/core/src/types.ts:1261](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1261) +[packages/core/src/types.ts:1262](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1262) *** @@ -66,4 +66,4 @@ #### Defined in -[packages/core/src/types.ts:1262](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1262) +[packages/core/src/types.ts:1263](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1263) diff --git a/docs/api/interfaces/IDatabaseAdapter.md b/docs/api/interfaces/IDatabaseAdapter.md index 8a8d5b97e69..03496d8f1b8 100644 --- a/docs/api/interfaces/IDatabaseAdapter.md +++ b/docs/api/interfaces/IDatabaseAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IDatabaseAdapter +[@elizaos/core v0.25.9](../index.md) / IDatabaseAdapter # Interface: IDatabaseAdapter diff --git a/docs/api/interfaces/IDatabaseCacheAdapter.md b/docs/api/interfaces/IDatabaseCacheAdapter.md index 3d634072add..ecc63f2515a 100644 --- a/docs/api/interfaces/IDatabaseCacheAdapter.md +++ b/docs/api/interfaces/IDatabaseCacheAdapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IDatabaseCacheAdapter +[@elizaos/core v0.25.9](../index.md) / IDatabaseCacheAdapter # Interface: IDatabaseCacheAdapter diff --git a/docs/api/interfaces/IImageDescriptionService.md b/docs/api/interfaces/IImageDescriptionService.md index 4613e9a6ffc..fa676056b1f 100644 --- a/docs/api/interfaces/IImageDescriptionService.md +++ b/docs/api/interfaces/IImageDescriptionService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IImageDescriptionService +[@elizaos/core v0.25.9](../index.md) / IImageDescriptionService # Interface: IImageDescriptionService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -74,4 +74,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1379](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1379) +[packages/core/src/types.ts:1380](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1380) diff --git a/docs/api/interfaces/IIrysService.md b/docs/api/interfaces/IIrysService.md index 0bb4c22d617..bb713fa5bf3 100644 --- a/docs/api/interfaces/IIrysService.md +++ b/docs/api/interfaces/IIrysService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IIrysService +[@elizaos/core v0.25.9](../index.md) / IIrysService # Interface: IIrysService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -70,7 +70,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1489](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1489) +[packages/core/src/types.ts:1490](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1490) *** @@ -104,7 +104,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1494](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1494) +[packages/core/src/types.ts:1495](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1495) *** @@ -128,4 +128,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1505](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1505) +[packages/core/src/types.ts:1506](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1506) diff --git a/docs/api/interfaces/IMemoryManager.md b/docs/api/interfaces/IMemoryManager.md index 2fefa8b7676..8894cb08c39 100644 --- a/docs/api/interfaces/IMemoryManager.md +++ b/docs/api/interfaces/IMemoryManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IMemoryManager +[@elizaos/core v0.25.9](../index.md) / IMemoryManager # Interface: IMemoryManager @@ -98,6 +98,24 @@ *** +### getMemoriesByIds() + +> **getMemoriesByIds**(`ids`): `Promise`\<[`Memory`](Memory.md)[]\> + +#### Parameters + +• **ids**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`[] + +#### Returns + +`Promise`\<[`Memory`](Memory.md)[]\> + +#### Defined in + +[packages/core/src/types.ts:1194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1194) + +*** + ### getMemoryById() > **getMemoryById**(`id`): `Promise`\<[`Memory`](Memory.md)\> @@ -112,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1194](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1194) +[packages/core/src/types.ts:1195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1195) *** @@ -134,7 +152,7 @@ #### Defined in -[packages/core/src/types.ts:1195](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1195) +[packages/core/src/types.ts:1196](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1196) *** @@ -162,7 +180,7 @@ #### Defined in -[packages/core/src/types.ts:1199](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1199) +[packages/core/src/types.ts:1200](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1200) *** @@ -182,7 +200,7 @@ #### Defined in -[packages/core/src/types.ts:1209](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1209) +[packages/core/src/types.ts:1210](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1210) *** @@ -200,7 +218,7 @@ #### Defined in -[packages/core/src/types.ts:1211](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1211) +[packages/core/src/types.ts:1212](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1212) *** @@ -218,7 +236,7 @@ #### Defined in -[packages/core/src/types.ts:1213](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1213) +[packages/core/src/types.ts:1214](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1214) *** @@ -238,4 +256,4 @@ #### Defined in -[packages/core/src/types.ts:1215](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1215) +[packages/core/src/types.ts:1216](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1216) diff --git a/docs/api/interfaces/IPdfService.md b/docs/api/interfaces/IPdfService.md index f0d2918ff0f..b6076dab014 100644 --- a/docs/api/interfaces/IPdfService.md +++ b/docs/api/interfaces/IPdfService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IPdfService +[@elizaos/core v0.25.9](../index.md) / IPdfService # Interface: IPdfService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1435](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1435) +[packages/core/src/types.ts:1436](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1436) *** @@ -80,4 +80,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1436](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1436) +[packages/core/src/types.ts:1437](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1437) diff --git a/docs/api/interfaces/IRAGKnowledgeManager.md b/docs/api/interfaces/IRAGKnowledgeManager.md index b3c22552a80..97e3c502d66 100644 --- a/docs/api/interfaces/IRAGKnowledgeManager.md +++ b/docs/api/interfaces/IRAGKnowledgeManager.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IRAGKnowledgeManager +[@elizaos/core v0.25.9](../index.md) / IRAGKnowledgeManager # Interface: IRAGKnowledgeManager @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1219](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1219) +[packages/core/src/types.ts:1220](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1220) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1220](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1220) +[packages/core/src/types.ts:1221](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1221) ## Methods @@ -48,7 +48,7 @@ #### Defined in -[packages/core/src/types.ts:1222](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1222) +[packages/core/src/types.ts:1223](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1223) *** @@ -66,7 +66,7 @@ #### Defined in -[packages/core/src/types.ts:1229](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1229) +[packages/core/src/types.ts:1230](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1230) *** @@ -84,7 +84,7 @@ #### Defined in -[packages/core/src/types.ts:1230](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1230) +[packages/core/src/types.ts:1231](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1231) *** @@ -112,7 +112,7 @@ #### Defined in -[packages/core/src/types.ts:1231](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1231) +[packages/core/src/types.ts:1232](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1232) *** @@ -130,7 +130,7 @@ #### Defined in -[packages/core/src/types.ts:1238](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1238) +[packages/core/src/types.ts:1239](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1239) *** @@ -156,7 +156,7 @@ #### Defined in -[packages/core/src/types.ts:1239](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1239) +[packages/core/src/types.ts:1240](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1240) *** @@ -170,7 +170,7 @@ #### Defined in -[packages/core/src/types.ts:1245](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1245) +[packages/core/src/types.ts:1246](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1246) *** @@ -190,4 +190,4 @@ #### Defined in -[packages/core/src/types.ts:1246](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1246) +[packages/core/src/types.ts:1247](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1247) diff --git a/docs/api/interfaces/ISlackService.md b/docs/api/interfaces/ISlackService.md index fa6f44bf9c3..ffce27f458e 100644 --- a/docs/api/interfaces/ISlackService.md +++ b/docs/api/interfaces/ISlackService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ISlackService +[@elizaos/core v0.25.9](../index.md) / ISlackService # Interface: ISlackService @@ -14,7 +14,7 @@ #### Defined in -[packages/core/src/types.ts:1586](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1586) +[packages/core/src/types.ts:1587](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1587) ## Accessors @@ -34,7 +34,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -58,4 +58,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) diff --git a/docs/api/interfaces/ISpeechService.md b/docs/api/interfaces/ISpeechService.md index 257616dbfdb..f2cd0e9461c 100644 --- a/docs/api/interfaces/ISpeechService.md +++ b/docs/api/interfaces/ISpeechService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ISpeechService +[@elizaos/core v0.25.9](../index.md) / ISpeechService # Interface: ISpeechService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1430](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1430) +[packages/core/src/types.ts:1431](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1431) *** @@ -82,4 +82,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1431](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1431) +[packages/core/src/types.ts:1432](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1432) diff --git a/docs/api/interfaces/ITeeLogService.md b/docs/api/interfaces/ITeeLogService.md index cf34d4dfaca..416d52ad2b7 100644 --- a/docs/api/interfaces/ITeeLogService.md +++ b/docs/api/interfaces/ITeeLogService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITeeLogService +[@elizaos/core v0.25.9](../index.md) / ITeeLogService # Interface: ITeeLogService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1514](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1514) +[packages/core/src/types.ts:1515](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1515) *** @@ -88,4 +88,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1515](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1515) +[packages/core/src/types.ts:1516](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1516) diff --git a/docs/api/interfaces/ITextGenerationService.md b/docs/api/interfaces/ITextGenerationService.md index 760b6ba4cb1..9759c3e1ca0 100644 --- a/docs/api/interfaces/ITextGenerationService.md +++ b/docs/api/interfaces/ITextGenerationService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITextGenerationService +[@elizaos/core v0.25.9](../index.md) / ITextGenerationService # Interface: ITextGenerationService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -62,7 +62,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1401](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1401) +[packages/core/src/types.ts:1402](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1402) *** @@ -90,7 +90,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1402](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1402) +[packages/core/src/types.ts:1403](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1403) *** @@ -118,7 +118,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1410](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1410) +[packages/core/src/types.ts:1411](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1411) *** @@ -136,4 +136,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1418](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1418) +[packages/core/src/types.ts:1419](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1419) diff --git a/docs/api/interfaces/ITranscriptionService.md b/docs/api/interfaces/ITranscriptionService.md index 8b66afdaa1b..381b98350b4 100644 --- a/docs/api/interfaces/ITranscriptionService.md +++ b/docs/api/interfaces/ITranscriptionService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ITranscriptionService +[@elizaos/core v0.25.9](../index.md) / ITranscriptionService # Interface: ITranscriptionService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -66,7 +66,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1385](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1385) +[packages/core/src/types.ts:1386](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1386) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1386](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1386) +[packages/core/src/types.ts:1387](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1387) *** @@ -102,7 +102,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1389](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1389) +[packages/core/src/types.ts:1390](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1390) *** @@ -120,4 +120,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1390](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1390) +[packages/core/src/types.ts:1391](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1391) diff --git a/docs/api/interfaces/IVideoService.md b/docs/api/interfaces/IVideoService.md index b4c00c95a0e..60b063d66ec 100644 --- a/docs/api/interfaces/IVideoService.md +++ b/docs/api/interfaces/IVideoService.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IVideoService +[@elizaos/core v0.25.9](../index.md) / IVideoService # Interface: IVideoService @@ -24,7 +24,7 @@ #### Defined in -[packages/core/src/types.ts:1279](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1279) +[packages/core/src/types.ts:1280](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1280) ## Methods @@ -48,7 +48,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1284](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1284) +[packages/core/src/types.ts:1285](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1285) *** @@ -66,7 +66,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1394](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1394) +[packages/core/src/types.ts:1395](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1395) *** @@ -84,7 +84,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1395](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1395) +[packages/core/src/types.ts:1396](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1396) *** @@ -102,7 +102,7 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1396](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1396) +[packages/core/src/types.ts:1397](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1397) *** @@ -122,4 +122,4 @@ Add abstract initialize method that must be implemented by derived classes #### Defined in -[packages/core/src/types.ts:1397](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1397) +[packages/core/src/types.ts:1398](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1398) diff --git a/docs/api/interfaces/IrysTimestamp.md b/docs/api/interfaces/IrysTimestamp.md index 097ad538523..00417a89290 100644 --- a/docs/api/interfaces/IrysTimestamp.md +++ b/docs/api/interfaces/IrysTimestamp.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / IrysTimestamp +[@elizaos/core v0.25.9](../index.md) / IrysTimestamp # Interface: IrysTimestamp @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1484](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1484) +[packages/core/src/types.ts:1485](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1485) *** @@ -20,4 +20,4 @@ #### Defined in -[packages/core/src/types.ts:1485](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1485) +[packages/core/src/types.ts:1486](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1486) diff --git a/docs/api/interfaces/Memory.md b/docs/api/interfaces/Memory.md index 2a888ec5618..25155495feb 100644 --- a/docs/api/interfaces/Memory.md +++ b/docs/api/interfaces/Memory.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Memory +[@elizaos/core v0.25.9](../index.md) / Memory # Interface: Memory diff --git a/docs/api/interfaces/MessageExample.md b/docs/api/interfaces/MessageExample.md index da5bb1112b1..f7ffe2b8825 100644 --- a/docs/api/interfaces/MessageExample.md +++ b/docs/api/interfaces/MessageExample.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / MessageExample +[@elizaos/core v0.25.9](../index.md) / MessageExample # Interface: MessageExample diff --git a/docs/api/interfaces/ModelConfiguration.md b/docs/api/interfaces/ModelConfiguration.md index 957134669ab..60a25e598b1 100644 --- a/docs/api/interfaces/ModelConfiguration.md +++ b/docs/api/interfaces/ModelConfiguration.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelConfiguration +[@elizaos/core v0.25.9](../index.md) / ModelConfiguration # Interface: ModelConfiguration diff --git a/docs/api/interfaces/Objective.md b/docs/api/interfaces/Objective.md index 58bd9142e5b..c650d3ed9ec 100644 --- a/docs/api/interfaces/Objective.md +++ b/docs/api/interfaces/Objective.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Objective +[@elizaos/core v0.25.9](../index.md) / Objective # Interface: Objective diff --git a/docs/api/interfaces/Participant.md b/docs/api/interfaces/Participant.md index 6fbab79a423..49d77d14ebe 100644 --- a/docs/api/interfaces/Participant.md +++ b/docs/api/interfaces/Participant.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Participant +[@elizaos/core v0.25.9](../index.md) / Participant # Interface: Participant diff --git a/docs/api/interfaces/Provider.md b/docs/api/interfaces/Provider.md index b660f684bea..3ce914ff22b 100644 --- a/docs/api/interfaces/Provider.md +++ b/docs/api/interfaces/Provider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Provider +[@elizaos/core v0.25.9](../index.md) / Provider # Interface: Provider diff --git a/docs/api/interfaces/RAGKnowledgeItem.md b/docs/api/interfaces/RAGKnowledgeItem.md index cee29a6c71c..85892a94be7 100644 --- a/docs/api/interfaces/RAGKnowledgeItem.md +++ b/docs/api/interfaces/RAGKnowledgeItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / RAGKnowledgeItem +[@elizaos/core v0.25.9](../index.md) / RAGKnowledgeItem # Interface: RAGKnowledgeItem @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1557](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1557) +[packages/core/src/types.ts:1558](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1558) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1558](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1558) +[packages/core/src/types.ts:1559](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1559) *** @@ -70,7 +70,7 @@ #### Defined in -[packages/core/src/types.ts:1559](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1559) +[packages/core/src/types.ts:1560](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1560) *** @@ -80,7 +80,7 @@ #### Defined in -[packages/core/src/types.ts:1572](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1572) +[packages/core/src/types.ts:1573](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1573) *** @@ -90,7 +90,7 @@ #### Defined in -[packages/core/src/types.ts:1573](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1573) +[packages/core/src/types.ts:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1574) *** @@ -100,7 +100,7 @@ #### Defined in -[packages/core/src/types.ts:1574](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1574) +[packages/core/src/types.ts:1575](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1575) *** @@ -110,4 +110,4 @@ #### Defined in -[packages/core/src/types.ts:1575](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1575) +[packages/core/src/types.ts:1576](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1576) diff --git a/docs/api/interfaces/Relationship.md b/docs/api/interfaces/Relationship.md index 3e7f30b862e..7463fde6799 100644 --- a/docs/api/interfaces/Relationship.md +++ b/docs/api/interfaces/Relationship.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Relationship +[@elizaos/core v0.25.9](../index.md) / Relationship # Interface: Relationship diff --git a/docs/api/interfaces/Room.md b/docs/api/interfaces/Room.md index 21204f7a70f..290fc6a47d1 100644 --- a/docs/api/interfaces/Room.md +++ b/docs/api/interfaces/Room.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Room +[@elizaos/core v0.25.9](../index.md) / Room # Interface: Room diff --git a/docs/api/interfaces/State.md b/docs/api/interfaces/State.md index dd7b3fcc990..06c63b6c767 100644 --- a/docs/api/interfaces/State.md +++ b/docs/api/interfaces/State.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / State +[@elizaos/core v0.25.9](../index.md) / State # Interface: State diff --git a/docs/api/interfaces/TwitterSpaceDecisionOptions.md b/docs/api/interfaces/TwitterSpaceDecisionOptions.md index 8760d9cbbc6..7fa3d8baeee 100644 --- a/docs/api/interfaces/TwitterSpaceDecisionOptions.md +++ b/docs/api/interfaces/TwitterSpaceDecisionOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TwitterSpaceDecisionOptions +[@elizaos/core v0.25.9](../index.md) / TwitterSpaceDecisionOptions # Interface: TwitterSpaceDecisionOptions diff --git a/docs/api/interfaces/UploadIrysResult.md b/docs/api/interfaces/UploadIrysResult.md index 0344568a668..a1a6ca6c395 100644 --- a/docs/api/interfaces/UploadIrysResult.md +++ b/docs/api/interfaces/UploadIrysResult.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / UploadIrysResult +[@elizaos/core v0.25.9](../index.md) / UploadIrysResult # Interface: UploadIrysResult @@ -10,7 +10,7 @@ #### Defined in -[packages/core/src/types.ts:1454](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1454) +[packages/core/src/types.ts:1455](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1455) *** @@ -20,7 +20,7 @@ #### Defined in -[packages/core/src/types.ts:1455](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1455) +[packages/core/src/types.ts:1456](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1456) *** @@ -30,7 +30,7 @@ #### Defined in -[packages/core/src/types.ts:1456](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1456) +[packages/core/src/types.ts:1457](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1457) *** @@ -40,4 +40,4 @@ #### Defined in -[packages/core/src/types.ts:1457](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1457) +[packages/core/src/types.ts:1458](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1458) diff --git a/docs/api/type-aliases/Adapter.md b/docs/api/type-aliases/Adapter.md index 6c39c44b130..36a9dd39778 100644 --- a/docs/api/type-aliases/Adapter.md +++ b/docs/api/type-aliases/Adapter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Adapter +[@elizaos/core v0.25.9](../index.md) / Adapter # Type Alias: Adapter diff --git a/docs/api/type-aliases/CacheOptions.md b/docs/api/type-aliases/CacheOptions.md index 054ad005b65..4ee424bbb38 100644 --- a/docs/api/type-aliases/CacheOptions.md +++ b/docs/api/type-aliases/CacheOptions.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CacheOptions +[@elizaos/core v0.25.9](../index.md) / CacheOptions # Type Alias: CacheOptions @@ -12,4 +12,4 @@ ## Defined in -[packages/core/src/types.ts:1249](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1249) +[packages/core/src/types.ts:1250](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1250) diff --git a/docs/api/type-aliases/Character.md b/docs/api/type-aliases/Character.md index 2bb6ea478f0..515dd8799cb 100644 --- a/docs/api/type-aliases/Character.md +++ b/docs/api/type-aliases/Character.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Character +[@elizaos/core v0.25.9](../index.md) / Character # Type Alias: Character diff --git a/docs/api/type-aliases/CharacterConfig.md b/docs/api/type-aliases/CharacterConfig.md index 63711ed32aa..bbe7c7acfff 100644 --- a/docs/api/type-aliases/CharacterConfig.md +++ b/docs/api/type-aliases/CharacterConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / CharacterConfig +[@elizaos/core v0.25.9](../index.md) / CharacterConfig # Type Alias: CharacterConfig diff --git a/docs/api/type-aliases/Client.md b/docs/api/type-aliases/Client.md index 77493e4e774..2f9222da8a9 100644 --- a/docs/api/type-aliases/Client.md +++ b/docs/api/type-aliases/Client.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Client +[@elizaos/core v0.25.9](../index.md) / Client # Type Alias: Client diff --git a/docs/api/type-aliases/ClientInstance.md b/docs/api/type-aliases/ClientInstance.md index 897b7db2326..a6a74d2af0b 100644 --- a/docs/api/type-aliases/ClientInstance.md +++ b/docs/api/type-aliases/ClientInstance.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ClientInstance +[@elizaos/core v0.25.9](../index.md) / ClientInstance # Type Alias: ClientInstance diff --git a/docs/api/type-aliases/EmbeddingConfig.md b/docs/api/type-aliases/EmbeddingConfig.md index 8616101f044..cdd476fa0f1 100644 --- a/docs/api/type-aliases/EmbeddingConfig.md +++ b/docs/api/type-aliases/EmbeddingConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingConfig +[@elizaos/core v0.25.9](../index.md) / EmbeddingConfig # Type Alias: EmbeddingConfig diff --git a/docs/api/type-aliases/EmbeddingModelSettings.md b/docs/api/type-aliases/EmbeddingModelSettings.md index 4d85333ae83..bf262afe978 100644 --- a/docs/api/type-aliases/EmbeddingModelSettings.md +++ b/docs/api/type-aliases/EmbeddingModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingModelSettings +[@elizaos/core v0.25.9](../index.md) / EmbeddingModelSettings # Type Alias: EmbeddingModelSettings diff --git a/docs/api/type-aliases/EmbeddingProviderType.md b/docs/api/type-aliases/EmbeddingProviderType.md index 0f98d23d10b..e9748d46ee1 100644 --- a/docs/api/type-aliases/EmbeddingProviderType.md +++ b/docs/api/type-aliases/EmbeddingProviderType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingProviderType +[@elizaos/core v0.25.9](../index.md) / EmbeddingProviderType # Type Alias: EmbeddingProviderType diff --git a/docs/api/type-aliases/EnvConfig.md b/docs/api/type-aliases/EnvConfig.md index d04701eb613..a3c8d89ec25 100644 --- a/docs/api/type-aliases/EnvConfig.md +++ b/docs/api/type-aliases/EnvConfig.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EnvConfig +[@elizaos/core v0.25.9](../index.md) / EnvConfig # Type Alias: EnvConfig diff --git a/docs/api/type-aliases/Handler.md b/docs/api/type-aliases/Handler.md index 7a7c26efe5e..6f7f1cb985d 100644 --- a/docs/api/type-aliases/Handler.md +++ b/docs/api/type-aliases/Handler.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Handler +[@elizaos/core v0.25.9](../index.md) / Handler # Type Alias: Handler() diff --git a/docs/api/type-aliases/HandlerCallback.md b/docs/api/type-aliases/HandlerCallback.md index e725ca74c0f..e368d47a15e 100644 --- a/docs/api/type-aliases/HandlerCallback.md +++ b/docs/api/type-aliases/HandlerCallback.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / HandlerCallback +[@elizaos/core v0.25.9](../index.md) / HandlerCallback # Type Alias: HandlerCallback() diff --git a/docs/api/type-aliases/ImageModelSettings.md b/docs/api/type-aliases/ImageModelSettings.md index 3225ea93b5d..39e0a137c80 100644 --- a/docs/api/type-aliases/ImageModelSettings.md +++ b/docs/api/type-aliases/ImageModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ImageModelSettings +[@elizaos/core v0.25.9](../index.md) / ImageModelSettings # Type Alias: ImageModelSettings diff --git a/docs/api/type-aliases/KnowledgeItem.md b/docs/api/type-aliases/KnowledgeItem.md index 410207dd25b..2edcc4e37c9 100644 --- a/docs/api/type-aliases/KnowledgeItem.md +++ b/docs/api/type-aliases/KnowledgeItem.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / KnowledgeItem +[@elizaos/core v0.25.9](../index.md) / KnowledgeItem # Type Alias: KnowledgeItem @@ -16,4 +16,4 @@ ## Defined in -[packages/core/src/types.ts:1551](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1551) +[packages/core/src/types.ts:1552](https://github.com/elizaOS/eliza/blob/main/packages/core/src/types.ts#L1552) diff --git a/docs/api/type-aliases/Media.md b/docs/api/type-aliases/Media.md index b322a97a138..9420248e5f5 100644 --- a/docs/api/type-aliases/Media.md +++ b/docs/api/type-aliases/Media.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Media +[@elizaos/core v0.25.9](../index.md) / Media # Type Alias: Media diff --git a/docs/api/type-aliases/Model.md b/docs/api/type-aliases/Model.md index f7390e2bcb3..b1f969329bf 100644 --- a/docs/api/type-aliases/Model.md +++ b/docs/api/type-aliases/Model.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Model +[@elizaos/core v0.25.9](../index.md) / Model # Type Alias: Model diff --git a/docs/api/type-aliases/ModelSettings.md b/docs/api/type-aliases/ModelSettings.md index f5408dcaedc..66c25d741e7 100644 --- a/docs/api/type-aliases/ModelSettings.md +++ b/docs/api/type-aliases/ModelSettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / ModelSettings +[@elizaos/core v0.25.9](../index.md) / ModelSettings # Type Alias: ModelSettings diff --git a/docs/api/type-aliases/Models.md b/docs/api/type-aliases/Models.md index e5b2ed23912..b532417d81a 100644 --- a/docs/api/type-aliases/Models.md +++ b/docs/api/type-aliases/Models.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Models +[@elizaos/core v0.25.9](../index.md) / Models # Type Alias: Models diff --git a/docs/api/type-aliases/Plugin.md b/docs/api/type-aliases/Plugin.md index 841d5b67b3a..d832f432aec 100644 --- a/docs/api/type-aliases/Plugin.md +++ b/docs/api/type-aliases/Plugin.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Plugin +[@elizaos/core v0.25.9](../index.md) / Plugin # Type Alias: Plugin diff --git a/docs/api/type-aliases/TelemetrySettings.md b/docs/api/type-aliases/TelemetrySettings.md index a2072d79689..242fdbcef16 100644 --- a/docs/api/type-aliases/TelemetrySettings.md +++ b/docs/api/type-aliases/TelemetrySettings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TelemetrySettings +[@elizaos/core v0.25.9](../index.md) / TelemetrySettings # Type Alias: TelemetrySettings diff --git a/docs/api/type-aliases/TemplateType.md b/docs/api/type-aliases/TemplateType.md index bb4119ddff7..45daa99057a 100644 --- a/docs/api/type-aliases/TemplateType.md +++ b/docs/api/type-aliases/TemplateType.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / TemplateType +[@elizaos/core v0.25.9](../index.md) / TemplateType # Type Alias: TemplateType diff --git a/docs/api/type-aliases/UUID.md b/docs/api/type-aliases/UUID.md index 5ca10540bbc..b728bb02c42 100644 --- a/docs/api/type-aliases/UUID.md +++ b/docs/api/type-aliases/UUID.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / UUID +[@elizaos/core v0.25.9](../index.md) / UUID # Type Alias: UUID diff --git a/docs/api/type-aliases/Validator.md b/docs/api/type-aliases/Validator.md index 5262088828d..35470ba12a7 100644 --- a/docs/api/type-aliases/Validator.md +++ b/docs/api/type-aliases/Validator.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / Validator +[@elizaos/core v0.25.9](../index.md) / Validator # Type Alias: Validator() diff --git a/docs/api/variables/CharacterSchema.md b/docs/api/variables/CharacterSchema.md index 55ed168ffa9..182a237f4e3 100644 --- a/docs/api/variables/CharacterSchema.md +++ b/docs/api/variables/CharacterSchema.md @@ -1,107 +1,11 @@ -[@elizaos/core v0.25.8](../index.md) / CharacterSchema +[@elizaos/core v0.25.9](../index.md) / CharacterSchema # Variable: CharacterSchema -> `const` **CharacterSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> +> `const` **CharacterSchema**: `any` Main Character schema -## Type declaration - -### id - -> **id**: `ZodOptional`\<`ZodString`\> - -### name - -> **name**: `ZodString` - -### system - -> **system**: `ZodOptional`\<`ZodString`\> - -### modelProvider - -> **modelProvider**: `ZodNativeEnum`\<*typeof* [`ModelProviderName`](../enumerations/ModelProviderName.md)\> - -### modelEndpointOverride - -> **modelEndpointOverride**: `ZodOptional`\<`ZodString`\> - -### templates - -> **templates**: `ZodOptional`\<`ZodRecord`\<`ZodString`, `ZodString`\>\> - -### bio - -> **bio**: `ZodUnion`\<[`ZodString`, `ZodArray`\<`ZodString`, `"many"`\>]\> - -### lore - -> **lore**: `ZodArray`\<`ZodString`, `"many"`\> - -### messageExamples - -> **messageExamples**: `ZodArray`\<`ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>, `"many"`\> - -### postExamples - -> **postExamples**: `ZodArray`\<`ZodString`, `"many"`\> - -### topics - -> **topics**: `ZodArray`\<`ZodString`, `"many"`\> - -### adjectives - -> **adjectives**: `ZodArray`\<`ZodString`, `"many"`\> - -### knowledge - -> **knowledge**: `ZodOptional`\<`ZodArray`\<`ZodUnion`\<[`ZodString`, `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>]\>, `"many"`\>\> - -### plugins - -> **plugins**: `ZodUnion`\<[`ZodArray`\<`ZodString`, `"many"`\>, `ZodArray`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>, `"many"`\>]\> - -### settings - -> **settings**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### clientConfig - -> **clientConfig**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### style - -> **style**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> - -#### Type declaration - -##### all - -> **all**: `ZodArray`\<`ZodString`, `"many"`\> - -##### chat - -> **chat**: `ZodArray`\<`ZodString`, `"many"`\> - -##### post - -> **post**: `ZodArray`\<`ZodString`, `"many"`\> - -### twitterProfile - -> **twitterProfile**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### nft - -> **nft**: `ZodOptional`\<`ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\>\> - -### extends - -> **extends**: `ZodOptional`\<`ZodArray`\<`ZodString`, `"many"`\>\> - ## Defined in [packages/core/src/environment.ts:67](https://github.com/elizaOS/eliza/blob/main/packages/core/src/environment.ts#L67) diff --git a/docs/api/variables/EmbeddingProvider.md b/docs/api/variables/EmbeddingProvider.md index f1cd6450276..19ed880eea3 100644 --- a/docs/api/variables/EmbeddingProvider.md +++ b/docs/api/variables/EmbeddingProvider.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / EmbeddingProvider +[@elizaos/core v0.25.9](../index.md) / EmbeddingProvider # Variable: EmbeddingProvider diff --git a/docs/api/variables/booleanFooter.md b/docs/api/variables/booleanFooter.md index 39818afa620..4ec33890240 100644 --- a/docs/api/variables/booleanFooter.md +++ b/docs/api/variables/booleanFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / booleanFooter +[@elizaos/core v0.25.9](../index.md) / booleanFooter # Variable: booleanFooter diff --git a/docs/api/variables/elizaLogger.md b/docs/api/variables/elizaLogger.md index 3dee2decd13..22af390bf55 100644 --- a/docs/api/variables/elizaLogger.md +++ b/docs/api/variables/elizaLogger.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / elizaLogger +[@elizaos/core v0.25.9](../index.md) / elizaLogger # Variable: elizaLogger -> `const` **elizaLogger**: `Logger`\<`string`, `boolean`\> +> `const` **elizaLogger**: `any` ## Defined in diff --git a/docs/api/variables/envSchema.md b/docs/api/variables/envSchema.md index a7b6a939fb9..d1903f8d8a5 100644 --- a/docs/api/variables/envSchema.md +++ b/docs/api/variables/envSchema.md @@ -1,43 +1,11 @@ -[@elizaos/core v0.25.8](../index.md) / envSchema +[@elizaos/core v0.25.9](../index.md) / envSchema # Variable: envSchema -> `const` **envSchema**: `ZodObject`\<`object`, `"strip"`, `ZodTypeAny`, `object`, `object`\> +> `const` **envSchema**: `any` TODO: TO COMPLETE -## Type declaration - -### OPENAI\_API\_KEY - -> **OPENAI\_API\_KEY**: `ZodString` - -API Keys with specific formats - -### REDPILL\_API\_KEY - -> **REDPILL\_API\_KEY**: `ZodString` - -### GROK\_API\_KEY - -> **GROK\_API\_KEY**: `ZodString` - -### GROQ\_API\_KEY - -> **GROQ\_API\_KEY**: `ZodString` - -### OPENROUTER\_API\_KEY - -> **OPENROUTER\_API\_KEY**: `ZodString` - -### GOOGLE\_GENERATIVE\_AI\_API\_KEY - -> **GOOGLE\_GENERATIVE\_AI\_API\_KEY**: `ZodString` - -### ELEVENLABS\_XI\_API\_KEY - -> **ELEVENLABS\_XI\_API\_KEY**: `ZodString` - ## Defined in [packages/core/src/environment.ts:6](https://github.com/elizaOS/eliza/blob/main/packages/core/src/environment.ts#L6) diff --git a/docs/api/variables/evaluationTemplate.md b/docs/api/variables/evaluationTemplate.md index 77ac3dcb878..af1812a53c3 100644 --- a/docs/api/variables/evaluationTemplate.md +++ b/docs/api/variables/evaluationTemplate.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / evaluationTemplate +[@elizaos/core v0.25.9](../index.md) / evaluationTemplate # Variable: evaluationTemplate diff --git a/docs/api/variables/knowledge.md b/docs/api/variables/knowledge.md index 8c34e745a43..da81b4a7756 100644 --- a/docs/api/variables/knowledge.md +++ b/docs/api/variables/knowledge.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / knowledge +[@elizaos/core v0.25.9](../index.md) / knowledge # Variable: knowledge @@ -52,4 +52,4 @@ ## Defined in -[packages/core/src/knowledge.ts:169](https://github.com/elizaOS/eliza/blob/main/packages/core/src/knowledge.ts#L169) +[packages/core/src/knowledge.ts:151](https://github.com/elizaOS/eliza/blob/main/packages/core/src/knowledge.ts#L151) diff --git a/docs/api/variables/messageCompletionFooter.md b/docs/api/variables/messageCompletionFooter.md index 928b6feef97..6bab04d70b0 100644 --- a/docs/api/variables/messageCompletionFooter.md +++ b/docs/api/variables/messageCompletionFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / messageCompletionFooter +[@elizaos/core v0.25.9](../index.md) / messageCompletionFooter # Variable: messageCompletionFooter diff --git a/docs/api/variables/models.md b/docs/api/variables/models.md index d920fd8b36c..02b1357c0ae 100644 --- a/docs/api/variables/models.md +++ b/docs/api/variables/models.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / models +[@elizaos/core v0.25.9](../index.md) / models # Variable: models diff --git a/docs/api/variables/postActionResponseFooter.md b/docs/api/variables/postActionResponseFooter.md index 4d890857738..f1b483ec232 100644 --- a/docs/api/variables/postActionResponseFooter.md +++ b/docs/api/variables/postActionResponseFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / postActionResponseFooter +[@elizaos/core v0.25.9](../index.md) / postActionResponseFooter # Variable: postActionResponseFooter diff --git a/docs/api/variables/settings.md b/docs/api/variables/settings.md index 5d4248d8c65..8388d4f716c 100644 --- a/docs/api/variables/settings.md +++ b/docs/api/variables/settings.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / settings +[@elizaos/core v0.25.9](../index.md) / settings # Variable: settings diff --git a/docs/api/variables/shouldRespondFooter.md b/docs/api/variables/shouldRespondFooter.md index 9bb177285f9..66e71c06a13 100644 --- a/docs/api/variables/shouldRespondFooter.md +++ b/docs/api/variables/shouldRespondFooter.md @@ -1,4 +1,4 @@ -[@elizaos/core v0.25.8](../index.md) / shouldRespondFooter +[@elizaos/core v0.25.9](../index.md) / shouldRespondFooter # Variable: shouldRespondFooter diff --git a/docs/api/variables/stringArrayFooter.md b/docs/api/variables/stringArrayFooter.md index 4427141603c..38b85e2d3c5 100644 --- a/docs/api/variables/stringArrayFooter.md +++ b/docs/api/variables/stringArrayFooter.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / stringArrayFooter +[@elizaos/core v0.25.9](../index.md) / stringArrayFooter # Variable: stringArrayFooter -> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a valid JSON block formatted in markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the valid JSON block." +> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a valid JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the valid JSON block." ## Defined in diff --git a/docs/api/variables/uuidSchema.md b/docs/api/variables/uuidSchema.md index d9e51f62e18..bf3460f6ad3 100644 --- a/docs/api/variables/uuidSchema.md +++ b/docs/api/variables/uuidSchema.md @@ -1,8 +1,8 @@ -[@elizaos/core v0.25.8](../index.md) / uuidSchema +[@elizaos/core v0.25.9](../index.md) / uuidSchema # Variable: uuidSchema -> `const` **uuidSchema**: `ZodType`\<\`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`, `ZodTypeDef`, \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`\> +> `const` **uuidSchema**: `ZodType`\<\`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`\> ## Defined in diff --git a/docs/docs/changelog.md b/docs/docs/changelog.md index f9d4b4447b9..529b4810a03 100644 --- a/docs/docs/changelog.md +++ b/docs/docs/changelog.md @@ -1,3337 +1,972 @@ # Changelog -## v0.25.8 (February 24, 2025) - -#### Major changes since [v0.25.6-alpha.1](https://github.com/elizaOS/eliza/releases/tag/v0.25.6-alpha.1) - -#### Features - -- Dynamic plugin loading (move all plugins out) https://github.com/elizaOS/eliza/pull/3339 -- plugin CLI list/installer utility https://github.com/elizaOS/eliza/pull/3429 -- Enable fetching relevant facts in the facts provider https://github.com/elizaOS/eliza/pull/2635 -- Gaianet support set API key https://github.com/elizaOS/eliza/pull/3591 -- Add NEAR AI model provider https://github.com/elizaOS/eliza/pull/3275 -- Support for Secret AI LLM https://github.com/elizaOS/eliza/pull/3615 -- Added cachedir to filesystem cache https://github.com/elizaOS/eliza/pull/3291 -- Configuration: set Lava as the default RPC URL for NEAR and Starknet https://github.com/elizaOS/eliza/pull/3323 -- Modify the configuration for the plugin-nkn https://github.com/elizaOS/eliza/pull/3570 - -#### Fixes - -- https://github.com/advisories/GHSA-584q-6j8j-r5pm https://github.com/elizaOS/eliza/pull/2958 -- Fix default character https://github.com/elizaOS/eliza/pull/3345 -- Fix set agent from API https://github.com/elizaOS/eliza/pull/3618 -- Store stringKnowledge in knowledge when ragKnowledge is enabled (https://github.com/elizaOS/eliza/issues/3434) https://github.com/elizaOS/eliza/pull/3435 -- Update chunk & overlap in rag function https://github.com/elizaOS/eliza/pull/2525 -- Fix bedrock inference https://github.com/elizaOS/eliza/pull/3553 -- Generate structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 -- Exporting structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 - -#### What's Changed since last release - -* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 -* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 -* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 -* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 -* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 -* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 -* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 -* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 -* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 -* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 -* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 -* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 -* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 -* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 -* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 -* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 -* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 -* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 -* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 -* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 -* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 -* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 -* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 -* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 -* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 -* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 -* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 -* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 -* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 -* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 -* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 -* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 -* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 -* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 -* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 -* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 -* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 -* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 -* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 -* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 -* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 -* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 -* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 -* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 -* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 -* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 -* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 -* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 -* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 -* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 -* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 -* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 -* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 -* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 -* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 -* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 -* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 -* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 -* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 -* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 -* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 -* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 -* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 -* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 -* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 -* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 -* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 -* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 -* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 -* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 -* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 -* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 -* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 -* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 -* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 -* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 -* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 -* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 -* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 -* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 -* feat: Dynamic Plugin Loading (merged_) by @lalalune in https://github.com/elizaOS/eliza/pull/3339 -* chore: move default character to agent by @lalalune in https://github.com/elizaOS/eliza/pull/3343 -* Delete all plugins by @lalalune in https://github.com/elizaOS/eliza/pull/3342 -* feat: remove verifiable inference concept, will be plugin loaded by @lalalune in https://github.com/elizaOS/eliza/pull/3344 -* fix: fix default character by @lalalune in https://github.com/elizaOS/eliza/pull/3345 -* chore: Remove plugin imports from agent by @avaer in https://github.com/elizaOS/eliza/pull/3346 -* chore: Add adapter-sqlite to deps by @avaer in https://github.com/elizaOS/eliza/pull/3357 -* feat: v1 CLI utility by @odilitime in https://github.com/elizaOS/eliza/pull/3429 -* chore: commit d.a.t.a env configurations by @PisK4 in https://github.com/elizaOS/eliza/pull/3457 -* docs: Update readme to clarify difference between eliza-starter and eliza repos by @altcoinalpinist in https://github.com/elizaOS/eliza/pull/3453 -* docs: add note about 0x prefix needed for evm private key by @Bleyle823 in https://github.com/elizaOS/eliza/pull/3414 -* chore: client/FAQ/Character file Docs update by @madjin in https://github.com/elizaOS/eliza/pull/3410 -* chore: update change log by @threewebcode in https://github.com/elizaOS/eliza/pull/3407 -* fix: Store stringKnowledge in knowledge when ragKnowledge is enabled (#3434) by @lincheoll in https://github.com/elizaOS/eliza/pull/3435 -* docs: fix incorrect image paths in Korean documentation by @gkfyr in https://github.com/elizaOS/eliza/pull/3489 -* docs: New remote deployment guide by @bealers in https://github.com/elizaOS/eliza/pull/3501 -* chore: adding compass plugin env vars by @royalnine in https://github.com/elizaOS/eliza/pull/3494 -* docs: Add weekly contributor meeting notes (2025-02-04 + 2025-02-11) by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3484 -* fix: remove --no-frozen-lockfile from Dockerfile by @kyle-veniceai in https://github.com/elizaOS/eliza/pull/3428 -* chore: move characters out to submodule by @odilitime in https://github.com/elizaOS/eliza/pull/3509 -* fix: refactor string literal `http://localhost` with `SERVER_URL` env var in client by @tenthirtyone in https://github.com/elizaOS/eliza/pull/3511 -* docs: Added a Proper Ukrainian README Translation Create README_UA.md by @mdqst in https://github.com/elizaOS/eliza/pull/3483 -* feat: Added cachedir to filesystem cache by @Swader in https://github.com/elizaOS/eliza/pull/3291 -* fix: CVE-2024-48930 by @anupamme in https://github.com/elizaOS/eliza/pull/2958 -* chore: bump version & lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3523 -* fix: Fix bedrock inference by @ebaizel in https://github.com/elizaOS/eliza/pull/3553 -* docs: Added sqlite3 errors to Quickstart by @GabrielCartier in https://github.com/elizaOS/eliza/pull/3539 -* docs: fix branch naming example in CONTRIBUTING.md by @mdqst in https://github.com/elizaOS/eliza/pull/3532 -* chore: Trim block from Ollama response by @amirkhonov in https://github.com/elizaOS/eliza/pull/3545 -* chore: Update and cleanup docs by @madjin in https://github.com/elizaOS/eliza/pull/3584 -* feat: Modify the configuration for the plugin-nkn by @iheron in https://github.com/elizaOS/eliza/pull/3570 -* docs: enhance README with detailed requirements and contribution guidelines by @avorylli in https://github.com/elizaOS/eliza/pull/3392 -* docs: Fix broken links by @sukrucildirr in https://github.com/elizaOS/eliza/pull/3599 -* feat: gaianet support set api key by @L-jasmine in https://github.com/elizaOS/eliza/pull/3591 -* feat: allow eliza client to configure eliza server base URL via env var by @bguiz in https://github.com/elizaOS/eliza/pull/3589 -* chore: docs update by @madjin in https://github.com/elizaOS/eliza/pull/3605 -* fix: installing packages from new registry by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3609 -* fix: importing plugins from registry by @royalnine in https://github.com/elizaOS/eliza/pull/3611 -* fix: set agent from api by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3618 -* fix: Fix devcontainer.json Port Mapping Syntax and JSON Structure by @NeoByteXx in https://github.com/elizaOS/eliza/pull/3616 -* fix: update chunk & Overlap in rag function by @adventuresinai in https://github.com/elizaOS/eliza/pull/2525 -* feat: Showcase page in docs for plugins by @madjin in https://github.com/elizaOS/eliza/pull/3620 -* feat: add NEAR AI model provider by @think-in-universe in https://github.com/elizaOS/eliza/pull/3275 -* chore(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3525 -* feat: configuration: Set Lava as the default RPC URL for NEAR and Starknet by @nimrod-teich in https://github.com/elizaOS/eliza/pull/3323 -* feat: Add support for Secret AI LLM by @iKapitonau in https://github.com/elizaOS/eliza/pull/3615 -* chore: Bump version to 0.25.8 by @odilitime in https://github.com/elizaOS/eliza/pull/3632 -* chore: fix lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3633 -* update discord link by @odilitime in https://github.com/elizaOS/eliza/pull/3643 -* feat: Enable fetching relevant facts in the facts provider. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2635 -* chore: turbo optimizations by @ryptotalent in https://github.com/elizaOS/eliza/pull/2503 -* feat: replace AgentRuntime to his interface to extend client by @kesar in https://github.com/elizaOS/eliza/pull/2388 -* chore: remove langchain dependency for text splitting by @Deeptanshu-sankhwar in https://github.com/elizaOS/eliza/pull/3642 -* fix: generate structured objects and images with NEAR AI by @think-in-universe in https://github.com/elizaOS/eliza/pull/3644 -* chore: stablize develop by @odilitime in https://github.com/elizaOS/eliza/pull/3645 -* chore: develop => main (0.25.8 release) by @odilitime in https://github.com/elizaOS/eliza/pull/3522 - -#### New Contributors - -
-View New Contributors -* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 -* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 -* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 -* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 -* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 -* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 -* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 -* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 -* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 -* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 -* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 -* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 -* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 -* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 -* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 -* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 -* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 -* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 -* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 -* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 -* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 -* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 -* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 -* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 -* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 -* @PisK4 made their first contribution in https://github.com/elizaOS/eliza/pull/3457 -* @altcoinalpinist made their first contribution in https://github.com/elizaOS/eliza/pull/3453 -* @Bleyle823 made their first contribution in https://github.com/elizaOS/eliza/pull/3414 -* @gkfyr made their first contribution in https://github.com/elizaOS/eliza/pull/3489 -* @royalnine made their first contribution in https://github.com/elizaOS/eliza/pull/3494 -* @kyle-veniceai made their first contribution in https://github.com/elizaOS/eliza/pull/3428 -* @tenthirtyone made their first contribution in https://github.com/elizaOS/eliza/pull/3511 -* @Swader made their first contribution in https://github.com/elizaOS/eliza/pull/3291 -* @anupamme made their first contribution in https://github.com/elizaOS/eliza/pull/2958 -* @GabrielCartier made their first contribution in https://github.com/elizaOS/eliza/pull/3539 -* @iheron made their first contribution in https://github.com/elizaOS/eliza/pull/3570 -* @avorylli made their first contribution in https://github.com/elizaOS/eliza/pull/3392 -* @bguiz made their first contribution in https://github.com/elizaOS/eliza/pull/3589 -* @daniel-trevino made their first contribution in https://github.com/elizaOS/eliza/pull/3609 -* @NeoByteXx made their first contribution in https://github.com/elizaOS/eliza/pull/3616 -* @adventuresinai made their first contribution in https://github.com/elizaOS/eliza/pull/2525 -* @think-in-universe made their first contribution in https://github.com/elizaOS/eliza/pull/3275 -* @nimrod-teich made their first contribution in https://github.com/elizaOS/eliza/pull/3323 -* @iKapitonau made their first contribution in https://github.com/elizaOS/eliza/pull/3615 -* @ryptotalent made their first contribution in https://github.com/elizaOS/eliza/pull/2503 -* @Deeptanshu-sankhwar made their first contribution in https://github.com/elizaOS/eliza/pull/3642 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 ---- - -## v0.25.6-alpha.1 (February 06, 2025) +## v0.25.8 (2025-02-24) -Please note the versioning change, 25 representing the year and 6 being week 6 of that year. - -#### New Features +#### Summary +This release introduces significant architectural changes to plugin management, adds several new AI model providers, enhances RAG knowledge processing, and improves backend infrastructure. Key themes include modular plugin architecture, expanded AI model support, and improved knowledge handling. -- Save imageUrls for outbound tweets/messages #3122 -- Coingecko advanced - various pools by network #3170 -- Add Edwin plugin to Eliza #3045 -- Plugin desk exchange #3096 -- new Spanish speaking Trump sample character file #3119 -- TON Plugin: NFT collection, item creation, metadata change and transfer actions #3211 -- Add CREATE_POOL action in MultiversX plugin #3209 - -#### New Fixes - -- Upgrade OpenAI and Vercel AI packages to fix O1 errors #3146 -- Remove duplicated plugins #3126 -- Update provider-utils #3189 -- Extract attribute from raw text instead of normalized JSON #3190 -- Think tag from Venice #3203 -- Slack download upload attachments #3194 -- Update pnpm version during Docker build #3158 -- Remove duplicated dependencies #3215 -- Quick-intel plugin optimizations & fixes #3208 -#### What's Changed +#### Plugin System Enhancements +- Dynamic plugin loading architecture implemented (PR #3339) +- CLI utility for plugin listing and installation (PR #3429) +- Modified NKN plugin configuration (PR #3570) -* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 -* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 -* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 -* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 -* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 -* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 -* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 -* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 -* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 -* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 -* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 -* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 -* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 -* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 -* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 -* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 -* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 -* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 -* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 -* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 -* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 -* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 -* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 -* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 -* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 -* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 -* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 -* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 -* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 -* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 -* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 -* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 -* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 -* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 -* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 -* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 -* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 -* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 -* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 -* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 -* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 -* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 -* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 -* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 -* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 -* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 -* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 -* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 -* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 -* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 -* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 -* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 -* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 -* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 -* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 -* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 -* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 -* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 -* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 -* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 -* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 -* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 -* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 -* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 -* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 -* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 -* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 -* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 -* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 -* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 -* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 -* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 -* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 -* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 -* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 -* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 -* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 -* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 -* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 -* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 - -#### New Contributors - -
-View New Contributors -* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 -* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 -* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 -* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 -* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 -* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 -* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 -* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 -* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 -* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 -* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 -* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 -* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 -* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 -* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 -* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 -* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 -* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 -* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 -* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 -* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 -* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 -* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 -* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 -* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 +#### AI Model Providers +- Added NEAR AI model provider (PR #3275) +- Added Secret AI LLM support (PR #3615) +- Enabled structured objects and image generation with NEAR AI (PR #3644) ---- +#### Knowledge Processing +- Enhanced fact provider with relevant fact fetching capability (PR #2635) +- Improved RAG function with optimized chunk & overlap parameters (PR #2525) +- Fixed stringKnowledge storage in RAG knowledge system (PR #3435) +- Removed LangChain dependency for text splitting (PR #3642) -## v0.1.9 (February 01, 2025) - -#### 🚀 Features - -- Instagram client #1964 -- Client for Telegram account #2839 -- XMTP Client #2786 -- Twitter post media #2818 -- Discord autonomous agent enhancement #2335 -- Telegram autonomous agent enhancement #2338 -- Direct Client API - Add Delete Agent functionality #2267 -- Add an example service #2249 - -AI & LLM Integrations -- Add support for NVIDIA inference for ElizaOS #2512 -- Integrate Livepeer LLM provider #2154 -- Add Amazon Bedrock as LLM provider #2769 -- Add birdeye plugin #1417 - -Solana-Related Updates -- Solana plugin improvement for flawless transfers #2340 -- Add features to the Solana Agent Kit #2458 -- Adding tests for plugin-solana #2345 - -Ethereum & EVM-Based Plugin Updates -- Plugin evm oz governance #1710 -- Add plugin-ethstorage #2737 -- Add cross chain swaps through Squid Router #1482 -- Add support for gravity chain in EVM plugin #2228 -- Add Cronos Evm #2585 -- Add plugin-bnb to support BNB chain #2278 -- Plugin for OriginTrail Decentralized Knowledge Graph #2380 -- Add moralis plugin #2764 - -Sui-Related Updates -- Use Aggregator swap sui tokens #3012 -- Sui supports the secp256k1/secp256r1 algorithms #2476 - -Cosmos-Related Updates -- IBC transfer on cosmos blockchains #2358 -- Cosmos Plugin - IBC swap action #2554 - -Injective & Other Blockchain Plugins -- injective plugin #1764 -- Support mina blockchain #2702 -- Add AGW support to the Abstract plugin #2207 -- CoinGecko - add price per address functionality #2262 -- Add Dex Screener plugin with token price action, evaluators #1865 -- Dexscreener trending #2325 +#### Infrastructure Updates +- Added cachedir support to filesystem cache (PR #3291) +- Set Lava as default RPC URL for NEAR and Starknet (PR #3323) +- Fixed Bedrock inference functionality (PR #3553) #### Bug Fixes +- Addressed security vulnerability GHSA-584q-6j8j-r5pm (PR #2958) +- Fixed default character reference issues (PR #3345) +- Fixed agent configuration via API (PR #3618) +- Resolved image URL handling for outbound messages (PR #3122) +- Fixed OpenAI and Vercel AI package integration (PR #3146) +- Corrected attribute extraction from raw text (PR #3190) -High Priority (Critical Bugs & API Issues) -- DeepSeek API bug: missing API key setting #2186 -- Resolve Windows path issue in pnpm build client #2240 -- IME causes multiple messages on Enter #2274 -- Fix derive key and update remote attestation #2303 -- Ensure RA Action reply does not hallucinate #2355 -- Prevent app crash when REMOTE_CHARACTER_URLS is undefined #2384 -- Check whether REMOTE_CHARACTER_URLS env is defined in starting agent #2382 -- Resolve @ai-sdk/provider version conflicts #2714 -- Ethers/viem issue in mind network plugin #2783 -- Message ID collision in Telegram Client #3053 -- ImageVisionModelProvider Not Applied in Runtime #3056 -- Handle unsupported image provider #3057 -- Fixing the error parsing JSON when an array is a value #3113 - -Client-Specific Issues & Enhancements -- Don't force root for install #2221 -- Align base URL in client if API runs on a different port #2353 -- Fix Incorrect Tweet ID Parameter Passed to sendTweet Function #2430 -- Unexpected JSON Metadata in Twitter Bot Replies #2712 -- Client-twitter homeTimeline name parse bug #2789 -- Topics formatting bug at composeState #2788 -- Bug in goal objectives update lookup logic #2791 -- doesn't work in tweet post template #2951 -- Ensure action tweet replies to agent's initial tweet #2966 -- Auto-scrolling issue in client #3115 - -Plugin Issues & Enhancements -- Missing @elizaos/plugin-b2 #2268 -- Export b2Plugin #2291 -- Set default Squid Router plugin throttle to 1000 #2386 -- Export dexScreenerPlugin #3120 -- Remove duplicate litPlugin import #3121 - -Infrastructure & Build Issues -- Docker images+compose and broken documentation #2347 -- Update Zero Gravity (0G) link #2441 -- Don't start services twice, improve logging #3007 -- Docker build command by skipping eslint files #3110 -- Building error #2938 - -General Code Fixes & Minor Enhancements -- Lint errors #2400 -- Fix typo in import statement for Solana AgentKit plugin #2370 -- Quickstart.md conflicts #2437 -- Typos in supabase seed file #2435 -- If VITE_SERVER_PORT is not defined, use default 3000 #2433 -- Missing import #2444 -- Spell/grammar errors in characters #2447 -- Correct STT plugin userId type #2704 -- Remove duplicated handlePendingTweet #2715 -- Delete plugin-bootstrap sex message #2748 -- TON plugin build issue #2757 -- Make template message footer more explicit #2774 -- Akash splash #2816 -- Akash splash bis #2838 -- Nvidia nim environment #2817 -- Null check #2878 -- Default character OpenAI => LlamaLocal #2880 -- LOG_JSON_FORMAT env var setting #2881 -- Fix abstract package.json #2882 -- Client server port #2886 -- Handle whitespace in quote conversion #2961 -- Remove unnecessary @ts-expect-error directive in chat component #2950 -- Correct regex #3054 -- Single quote handle bug at parseJsonArray #2802 -- OpenAI embedding issue #3003 -- Remove dead code #2945 -- Add missing plugins in package.json #2947 - -#### What's Changed (complete) - -* fix(plugin-twitter): change prompt to ensure it returns json by @odilitime in https://github.com/elizaOS/eliza/pull/2196 -* feat: nft plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2167 -* docs: Add Greek translation for README_GR by @adacapo21 in https://github.com/elizaOS/eliza/pull/2199 -* chore: rename ai16z -> elizaOS by @monilpat in https://github.com/elizaOS/eliza/pull/2211 -* feature: adding tests for whatsapp plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2213 -* fix: DeepSeek API bug: missing api key setting by @daizhengxue in https://github.com/elizaOS/eliza/pull/2186 -* fix: don't force root for install by @proteanx in https://github.com/elizaOS/eliza/pull/2221 -* feat: RP for plugin-tee-verifiable-log by @gene-zhan in https://github.com/elizaOS/eliza/pull/1369 -* feat: Merge my Eliza Installer with the current start.sh script by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2229 -* feat: add support for gravity chain in EVM plugin by @Stumble in https://github.com/elizaOS/eliza/pull/2228 -* docs: Add "What Did You Get Done This Week? #9" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2243 -* feat: Add AGW support to the Abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/2207 -* docs: Add Farsi (Persian )readme by @oxlupo in https://github.com/elizaOS/eliza/pull/2260 -* feat: CoinGecko - add price per address functionality by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2262 -* fix: test/lint develop by @odilitime in https://github.com/elizaOS/eliza/pull/2266 -* feat: Adding plugin for B² Network by @threewebcode in https://github.com/elizaOS/eliza/pull/2010 -* fix: (db) add limit param to memory retrieval across adapters by @augchan42 in https://github.com/elizaOS/eliza/pull/2264 -* docs: Typo fix README.md by @VitalikBerashvili in https://github.com/elizaOS/eliza/pull/2256 -* Minor typo in CHANGELOG.md by @Hack666r in https://github.com/elizaOS/eliza/pull/2255 -* fix: missing @elizaos/plugin-b2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/2268 -* feat: Add character creation template function to start.sh by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2232 -* fix: resolve Windows path issue in pnpm build client by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2240 -* feat: Add cross chain swaps through Squid Router by @Archethect in https://github.com/elizaOS/eliza/pull/1482 -* feat: Plugin evm oz governance by @thetechnocratic in https://github.com/elizaOS/eliza/pull/1710 -* feat: Add support for VoyageAI embeddings API by @Firbydude in https://github.com/elizaOS/eliza/pull/1442 -* feat: add birdeye plugin by @swizzmagik in https://github.com/elizaOS/eliza/pull/1417 -* Revert "feat: Add support for VoyageAI embeddings API" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2290 -* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2285 -* fix: export b2Plugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/2291 -* feat: Add an example service by @MonteCrypto999 in https://github.com/elizaOS/eliza/pull/2249 -* feat: Gitcoin passport by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2296 -* Fix: IME causes multiple messages on Enter (Fixes #2272) by @lincheoll in https://github.com/elizaOS/eliza/pull/2274 -* fix: fix derive key and update remote attestation by @HashWarlock in https://github.com/elizaOS/eliza/pull/2303 -* feat: Direct Client API - Add Delete Agent functionality by @jason51553262 in https://github.com/elizaOS/eliza/pull/2267 -* docs: Update README.md by @lalalune in https://github.com/elizaOS/eliza/pull/2309 -* fix: farcaster memory by @CryptoGraffe in https://github.com/elizaOS/eliza/pull/2307 -* feat: add getMemoryByIds to database adapters by @bbopar in https://github.com/elizaOS/eliza/pull/2293 -* feat: support load character from character_url by @v1xingyue in https://github.com/elizaOS/eliza/pull/2281 -* feat: (echochambers) add dead room detection and conversation starter by @augchan42 in https://github.com/elizaOS/eliza/pull/2248 -* chore: Update README.md by @wtfsayo in https://github.com/elizaOS/eliza/pull/2280 -* refactor: farcaster client env configuration by @sin-bufan in https://github.com/elizaOS/eliza/pull/2087 -* feat: Onchain Agent Transformer - transform any Eliza agents into unstoppable Solidity smart contracts deployed on 10+ blockchains by @eternal-ai-org in https://github.com/elizaOS/eliza/pull/2319 -* feat: add Dex Screener plugin with token price action, evaluators, an… by @hellopleasures in https://github.com/elizaOS/eliza/pull/1865 -* refactor: websearch into a service by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2195 -* fix: correct OPENROUTER_API_KEY env in config by @everimbaq in https://github.com/elizaOS/eliza/pull/2324 -* fix: docker images+compose and broken documentation by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2347 -* Fix github client README.md by @thomasWos in https://github.com/elizaOS/eliza/pull/2346 -* feat: groq image vision provider by @rferrari in https://github.com/elizaOS/eliza/pull/2342 -* improvement: using strict types to avoid erorrs like issue 2164 by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2220 -* fix: formatting in Browser section of README.md by @derrekcoleman in https://github.com/elizaOS/eliza/pull/2336 -* Update README_TR.md by @sukrucildirr in https://github.com/elizaOS/eliza/pull/2334 -* feat: (ragKnowledge) Enhance RAG knowledge handling by @augchan42 in https://github.com/elizaOS/eliza/pull/2351 -* feat: add instagram client by @Lukapetro in https://github.com/elizaOS/eliza/pull/1964 -* docs: Update README_FR.md by @omahs in https://github.com/elizaOS/eliza/pull/2356 -* fix: esure RA Action reply does not hallucinate by @HashWarlock in https://github.com/elizaOS/eliza/pull/2355 -* fix: align base url in client if api runs on a different port by @C0ldSmi1e in https://github.com/elizaOS/eliza/pull/2353 -* feat: add safe_mode (& cfg_scale) for venice image generation by @proteanx in https://github.com/elizaOS/eliza/pull/2354 -* fix: Update package.json of core package by @kesar in https://github.com/elizaOS/eliza/pull/2301 -* chore: Reorganizing README translations into a dedicated i18n directory structure by @0xnogo in https://github.com/elizaOS/eliza/pull/2149 -* chore: Prep 0.1.9-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2359 -* feat: Enable Multiple remote character urls by @leeran7 in https://github.com/elizaOS/eliza/pull/2328 -* chore: lint by @odilitime in https://github.com/elizaOS/eliza/pull/2368 -* fix: Fix typo in import statement for Solana AgentKit plugin Update i… by @defitricks in https://github.com/elizaOS/eliza/pull/2370 -* feat: dexscreener trending by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2325 -* fix: Prevent app crash when REMOTE_CHARACTER_URLS is undefined by @tcm390 in https://github.com/elizaOS/eliza/pull/2384 -* Startup Error: ENV misconfig by @0xSero in https://github.com/elizaOS/eliza/pull/2378 -* fix: check whether REMOTE_CHARACTER_URLS env is defined in starting agent by @dev-whoan in https://github.com/elizaOS/eliza/pull/2382 -* Fix typo by @ericlehong in https://github.com/elizaOS/eliza/pull/2385 -* fix: set default Squid Router plugin throttle to 1000 by @Archethect in https://github.com/elizaOS/eliza/pull/2386 -* chore: improve descriptions by @crStiv in https://github.com/elizaOS/eliza/pull/2394 -* feat: adding tests for plugin-solana by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2345 -* feat: atoma provider by @francis2tm in https://github.com/elizaOS/eliza/pull/2082 -* chore: invoke exit code 0 after positive cleanup by @erise133 in https://github.com/elizaOS/eliza/pull/2398 -* fix: lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2400 -* feat: adding tests for slack client. Moving existing tests to new __tests__ directory. by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2404 -* feat: better S3 flexibility by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2379 -* feat: adding tests for github client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2407 -* feat: injective plugin by @enigmarikki in https://github.com/elizaOS/eliza/pull/1764 -* feat: Integrate Livepeer LLM provider by @UD1sto in https://github.com/elizaOS/eliza/pull/2154 -* chore: remove tate character by @wtfsayo in https://github.com/elizaOS/eliza/pull/2425 -* refactor: dockerize smoke tests by @twilwa in https://github.com/elizaOS/eliza/pull/2420 -* feat: coinbase agentkit plugin for eliza by @sweetmantech in https://github.com/elizaOS/eliza/pull/2298 -* feat: add workflow to block minified JS by @twilwa in https://github.com/elizaOS/eliza/pull/2417 -* feat: Code In Plugin, load characters from blockchain by @zo-eth in https://github.com/elizaOS/eliza/pull/2371 -* docs: Add notes for weekly contributor meeting on 2025-01-14 by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2426 -* fix: Fix Incorrect Tweet ID Parameter Passed to sendTweet Function by @tcm390 in https://github.com/elizaOS/eliza/pull/2430 -* fix: quickstart.md conflicts by @wtfsayo in https://github.com/elizaOS/eliza/pull/2437 -* Update documentation links by @donatik27 in https://github.com/elizaOS/eliza/pull/2438 -* fix: typos in supabase seed file by @leopardracer in https://github.com/elizaOS/eliza/pull/2435 -* feat: Pyth Data Plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2434 -* fix: if VITE_SERVER_PORT is not defined, use default 3000 by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2433 -* fix: update zero Gravity (0G) link by @Hopium21 in https://github.com/elizaOS/eliza/pull/2441 -* feat: ibc transfer on cosmos blockchains by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2358 -* fix TEE Log plugin errors at agent startup by @bundinho in https://github.com/elizaOS/eliza/pull/2415 -* fix: missing import by @wtfsayo in https://github.com/elizaOS/eliza/pull/2444 -* feat: improvement to logger by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2396 -* feat:update heurist env var examples by @tsubasakong in https://github.com/elizaOS/eliza/pull/2428 -* Fix typos in docs by @RubinovaAn1097 in https://github.com/elizaOS/eliza/pull/2449 -* fix: Update error message and remove duplicate version field by @MarsonKotovi4 in https://github.com/elizaOS/eliza/pull/2445 -* fix: #2373 Fix image description by @ae9is in https://github.com/elizaOS/eliza/pull/2375 -* fix: spell/grammar errors in characters by @Pistasha in https://github.com/elizaOS/eliza/pull/2447 -* feat: Telegram autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2338 -* feat: add default logger level setting to set the logger level to dis… by @snobbee in https://github.com/elizaOS/eliza/pull/2451 -* feat: adding tests for instagram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2454 -* feat: create version.cmd for windows support by @savageops in https://github.com/elizaOS/eliza/pull/2442 -* revert: "refactor: dockerize smoke tests" by @twilwa in https://github.com/elizaOS/eliza/pull/2459 -* feat: Add features to the Solana Agent Kit by @thearyanag in https://github.com/elizaOS/eliza/pull/2458 -* chore: set openai as default character's provider by @wtfsayo in https://github.com/elizaOS/eliza/pull/2460 -* fix: OPENAI provider being overwritten by LLAMA_LOCAL on pnpm start by @tcm390 in https://github.com/elizaOS/eliza/pull/2465 -* Typo fix in read.me by @dedyshkaPexto in https://github.com/elizaOS/eliza/pull/2464 -* Fix spelling error by @Dimitrolito in https://github.com/elizaOS/eliza/pull/2456 -* fix: conditional use of useQuery in AgentRoute component to prevent runtime errors. by @carlos-cne in https://github.com/elizaOS/eliza/pull/2413 -* fix: resolve type error for children in animated.div component by @suleigolden in https://github.com/elizaOS/eliza/pull/2462 -* fix: SwapAction in evm-plugin by @B1boid in https://github.com/elizaOS/eliza/pull/2332 -* chore: add openai env to smokeTests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2472 -* test: adding test configuration and tests for redis adapter by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2470 -* feat: tests for supabase and sqlite db adapters by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2468 -* fix: linting errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2474 -* chore: remove eslint, prettier, tslint and replace with biome by @0xSero in https://github.com/elizaOS/eliza/pull/2439 -* feat: Sui supports the secp256k1/secp256r1 algorithms by @lispking in https://github.com/elizaOS/eliza/pull/2476 -* chore: edited the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2483 -* feat: Solana plugin improvement for flawless transfers by @sunsakis in https://github.com/elizaOS/eliza/pull/2340 -* chore: update createToken.ts by @eltociear in https://github.com/elizaOS/eliza/pull/2493 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2491 -* feat: introduce Dependency Injection to enhance developer experience by @btspoony in https://github.com/elizaOS/eliza/pull/2115 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2490 -* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2489 -* Update ElizaOS Documentation link by @Daulox92 in https://github.com/elizaOS/eliza/pull/2495 -* chore: handle test cases in version.sh file by @KoZivod88074 in https://github.com/elizaOS/eliza/pull/2485 -* feat: adding test configuration and test coverage for binance plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2482 -* feat: Implement character loading from multiple paths and enhance API… by @tercel in https://github.com/elizaOS/eliza/pull/2365 -* feat: Load multiple characters from a single remote url by @leeran7 in https://github.com/elizaOS/eliza/pull/2475 -* feat: Discord autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2335 -* feat: Add Extra Multimedia Support for Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/2510 -* test: api timeout handling for plugin-binance by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2504 -* feat: add support for NVIDIA inference for ElizaOS by @AIFlowML in https://github.com/elizaOS/eliza/pull/2512 -* feat(plugin-openai): add OpenAI integration for text generation by @0xrubusdata in https://github.com/elizaOS/eliza/pull/2463 -* chore: default coinbase agentkit plugin by @sweetmantech in https://github.com/elizaOS/eliza/pull/2505 -* docs: add docs/README_JA.md by @eltociear in https://github.com/elizaOS/eliza/pull/2515 -* fix: use coingecko headerKey from api config by @visionpixel in https://github.com/elizaOS/eliza/pull/2518 -* test: plugin-tee - adjusting project structure and new tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2508 -* docs: user ID with room ID in MemoryManager and other improvements by @Haisen772 in https://github.com/elizaOS/eliza/pull/2492 -* feat: plugin rabbi trader tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2520 -* chore: add eliza technical report/paper by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2517 -* plugin-tts: enhance TTS generation flow and caching by @bfontes in https://github.com/elizaOS/eliza/pull/2506 -* feat:add plugin-lightning by @jimtracy1007 in https://github.com/elizaOS/eliza/pull/2429 -* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2545 -* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2546 -* feat(plugin-devin): implement client-agnostic Devin plugin by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2549 -* feat: Updated READ.me file with pre-requisites to enable telegram bot by @neelkanani in https://github.com/elizaOS/eliza/pull/2547 -* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2551 -* feat: add anthropic image provider for vision by @BitWonka in https://github.com/elizaOS/eliza/pull/2524 -* feat: Add more actions to Abstract Plugin by @jonathangus in https://github.com/elizaOS/eliza/pull/2531 -* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2553 -* chore: optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2555 -* feat: add a way to create/store/restore agents in the filesystem by @maxcoto in https://github.com/elizaOS/eliza/pull/2389 -* chore(revert): optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2556 -* test configuration and tests for client-lens by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2534 -* feat(x spaces): Don't wait for mute, wait for silence by @tcm390 in https://github.com/elizaOS/eliza/pull/2576 -* feat: update integration tests workflow with improved caching by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2589 -* feat(plugin-agentkit): test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2573 -* feat(plugin-coingecko): coingecko trending advanced by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2568 -* feat(plugin-holdstation): add plugin holdstation swap by @cuongnguyenthai in https://github.com/elizaOS/eliza/pull/2596 -* Add 'node-compile-cache' to '.gitignore' by @jazzvaz in https://github.com/elizaOS/eliza/pull/2597 -* feat(plugin-farcaster): test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2567 -* fix:Incorrect boolean parsing for ENABLE_OPEN_AI_COMMUNITY_PLUGIN setting #2559 by @lincheoll in https://github.com/elizaOS/eliza/pull/2560 -* feat: add three new langs into TTS by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2562 -* docs: Add "What Did You Get Done This Week? #10" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2558 -* feat: Add Cronos Evm by @leejw51crypto in https://github.com/elizaOS/eliza/pull/2585 -* feat: add router nitro plugin by @RaveenaBhasin in https://github.com/elizaOS/eliza/pull/2590 -* feat(plugin-new): initia plugin + chore revert to integrationTests from stable release 0.1.7 by @boohyunsik in https://github.com/elizaOS/eliza/pull/2448 -* feat: nvidia-nim-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2599 -* fix: Add instruction to escape quotes on JSON generation by @lalalune in https://github.com/elizaOS/eliza/pull/2604 -* feat(new-plugin): 0x plugin to swap on evms by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2329 -* fix: add missing plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2626 -* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2627 -* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2629 -* feat: add plugin-bnb to support BNB chain by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/2278 -* chore: fix develop build and tests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2646 -* feat: plugin for OriginTrail Decentralized Knowledge Graph by @brkagithub in https://github.com/elizaOS/eliza/pull/2380 -* fix: Resolve chat error in openai-plugin (#2649) by @lincheoll in https://github.com/elizaOS/eliza/pull/2650 -* feat: Cosmos Plugin - IBC swap action by @stanislawkurzypBD in https://github.com/elizaOS/eliza/pull/2554 -* fix: a typo bug in conflux plugin by @siphonelee in https://github.com/elizaOS/eliza/pull/2654 -* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2670 -* feat(email-plugin): add email-plugin + improve: fixed avail plugin duplicate dependency by @jteso in https://github.com/elizaOS/eliza/pull/2645 -* chore(spelling-fixes): docs by @nnsW3 in https://github.com/elizaOS/eliza/pull/2669 -* feat(new-plugin): suno Eliza plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2656 -* Revert "feat(new-plugin): suno Eliza plugin" by @wtfsayo in https://github.com/elizaOS/eliza/pull/2673 -* feat: Implement runProcess function in test library by @VolodymyrBg in https://github.com/elizaOS/eliza/pull/2672 -* fix: remove wrong comment by @tcm390 in https://github.com/elizaOS/eliza/pull/2683 -* feat: chainbase plugin for eliza by @lxcong in https://github.com/elizaOS/eliza/pull/2162 -* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2685 -* feat: custom s3 endpoint url for 'plugin-node' by @dtbuchholz in https://github.com/elizaOS/eliza/pull/2176 -* chore: lint pass by @odilitime in https://github.com/elizaOS/eliza/pull/2580 -* feat(plugin-new): Official SimsAI Release V1.0 by @simsaidev in https://github.com/elizaOS/eliza/pull/2618 -* chore: fix types syntax issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2694 -* feat: add adapter-qdrant by @oxf71 in https://github.com/elizaOS/eliza/pull/2322 -* feat(new-plugin): suno music generation by @Freytes in https://github.com/elizaOS/eliza/pull/2679 -* feat(new-plugin): udio music generation for eliza by @Freytes in https://github.com/elizaOS/eliza/pull/2660 -* feat(new-plugin): Eliza OmniFlix Plugin by @OmniflixBlockEater in https://github.com/elizaOS/eliza/pull/2693 -* fix(ragKnowledge): Ensure scoped IDs are properly used to check for existing knowledge by @augchan42 in https://github.com/elizaOS/eliza/pull/2690 -* feat: Hyperbolic-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2701 -* Mostly aesthetic changes, fixed some wonky bullets and numbered lists. by @bealers in https://github.com/elizaOS/eliza/pull/2698 -* feat(new-plugin): eliza samsung smarthings plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2678 -* Improve GitBook Provider Output by Including Query Context by @Evan-zkLinkLabs in https://github.com/elizaOS/eliza/pull/2659 -* feat: Plugin football by @suleigolden in https://github.com/elizaOS/eliza/pull/2461 -* feat: [Space] improving handling of user ids and memory storage by @worksgoodcompany in https://github.com/elizaOS/eliza/pull/2686 -* fix: correct stt plugin userId type by @tcm390 in https://github.com/elizaOS/eliza/pull/2704 -* fix: Unexpected JSON Metadata in Twitter Bot Replies by @tcm390 in https://github.com/elizaOS/eliza/pull/2712 -* fix: remove duplicated handlePendingTweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2715 -* feat: add error message by @tcm390 in https://github.com/elizaOS/eliza/pull/2717 -* Remove the log as it may potentially cause the app to crash by @tcm390 in https://github.com/elizaOS/eliza/pull/2716 -* feat: improve twitter parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2730 -* feat: move cleanJsonResponse to parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2732 -* fix: delete plugin-bootstrap sex message, because it will cause some apis sensitive alerts by @klren0312 in https://github.com/elizaOS/eliza/pull/2748 -* feat: add lit plugin by @dezcalimese in https://github.com/elizaOS/eliza/pull/2703 -* feat(plugin-holdstation): add plugin holdstation swap by @dev-holdstation in https://github.com/elizaOS/eliza/pull/2741 -* feat: Restrict discord bot to respond only in allowed channels (#2742) by @lincheoll in https://github.com/elizaOS/eliza/pull/2743 -* chore: adds hyperliquid env variables to env example by @alex1092 in https://github.com/elizaOS/eliza/pull/2736 -* feat: Add Sei Plugin by @mj850 in https://github.com/elizaOS/eliza/pull/2720 -* feat(ton-plugin): add debug scripts and fix the transfer by @jinbangyi in https://github.com/elizaOS/eliza/pull/2744 -* chore(core/evaluators): source example links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/2724 -* fix: resolve @ai-sdk/provider version conflicts by @antman1p in https://github.com/elizaOS/eliza/pull/2714 -* Bug/fix ton plugin by @ajkraus04 in https://github.com/elizaOS/eliza/pull/2755 -* fix: ton plugin build issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2757 -* feat: biome automation via python with reporting by @AIFlowML in https://github.com/elizaOS/eliza/pull/2733 -* chore: Use latest allora-sdk version in the Allora Plugin by @conache in https://github.com/elizaOS/eliza/pull/2707 -* feat(new-plugin): adding Imgflip plugin for generating memes using the imgflip.com API by @krustevalexander in https://github.com/elizaOS/eliza/pull/2711 -* feat: Add plugin-ethstorage by @iteyelmp in https://github.com/elizaOS/eliza/pull/2737 -* feat: minimal workflow to resolve ephemeral check by @twilwa in https://github.com/elizaOS/eliza/pull/2735 -* feat: support mina blockchain by @lispking in https://github.com/elizaOS/eliza/pull/2702 -* client-eliza-home: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2719 -* feat: create /.turbo/config.json by @twilwa in https://github.com/elizaOS/eliza/pull/2768 -* feat: Add Amazon Bedrock as LLM provider by @ebaizel in https://github.com/elizaOS/eliza/pull/2769 -* Fix path in all files by @LouisVannobel in https://github.com/elizaOS/eliza/pull/2763 -* feat(new-plugin): added zerion plugin by @pranav-singhal in https://github.com/elizaOS/eliza/pull/2766 -* feat: add moralis plugin by @bharathbabu-moralis in https://github.com/elizaOS/eliza/pull/2764 -* feat(edriziai): Add Edriziai Startup Mentor AI Assistant by @ccross2 in https://github.com/elizaOS/eliza/pull/2687 -* docs: add docs on configuring secrets for multi agent workflows. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2632 -* feat(new-plugin): adding intelligent email evaluation and automation by @Cooops in https://github.com/elizaOS/eliza/pull/2709 -* feat(new-plugin): add Form chain plugin by @tmarwen in https://github.com/elizaOS/eliza/pull/2728 -* feat: added Ankr plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2773 -* feat(new-plugin): bittensor bitmind api for eliza by @benliang99 in https://github.com/elizaOS/eliza/pull/2682 -* feat: Add plugin-dcap by @Liao1 in https://github.com/elizaOS/eliza/pull/2638 -* chore: enable turbo cache by @wtfsayo in https://github.com/elizaOS/eliza/pull/2775 -* fix: make template message footer more explicit by @HashWarlock in https://github.com/elizaOS/eliza/pull/2774 -* docs: add one click deployment to docs by @KanishkKhurana in https://github.com/elizaOS/eliza/pull/2631 -* feat: Add swap & improvements for multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2651 -* chore: allow custom TEE log path by @batudo in https://github.com/elizaOS/eliza/pull/2616 -* feat(new-adapter): mongo-db adaptor by @jobyid in https://github.com/elizaOS/eliza/pull/1427 -* chore(plugin-coinbase): Update tokenContract.ts by @AdventureSeeker987 in https://github.com/elizaOS/eliza/pull/2781 -* chore(add-tests): plugin abstract: test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2621 -* feat(client-alexa): Basic Alexa skill notification by @brandon1525 in https://github.com/elizaOS/eliza/pull/2564 -* feat(new-plugin): quick intel plugin for token security analysis by @azep-ninja in https://github.com/elizaOS/eliza/pull/2391 -* feat: add Mind Network plugin by @zy-bc-ai in https://github.com/elizaOS/eliza/pull/2431 -* fix: goal updating bug in the goal evaluator's handler of plugin-bootstrap by @Alirun in https://github.com/elizaOS/eliza/pull/2725 -* fix: ethers/viem issue in mind network plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2783 -* fix: client-twitter homeTimeline name parse bug by @JhChoy in https://github.com/elizaOS/eliza/pull/2789 -* fix: topics formatting bug at composeState by @JhChoy in https://github.com/elizaOS/eliza/pull/2788 -* Fix: DTS Error mismatch LanguageModelV1interface/Version in ai-sdk mistral model by @juanc07 in https://github.com/elizaOS/eliza/pull/2782 -* feat: plugin Solana web3.js V2 & automated LPing on Orca by @calintje in https://github.com/elizaOS/eliza/pull/2136 -* feat: news-plugin by @ileana-pr in https://github.com/elizaOS/eliza/pull/1248 -* fix: bug in goal objectives update lookup logic by @Alirun in https://github.com/elizaOS/eliza/pull/2791 -* fix: adding exclusion for extra folder for faster future rebase by @AIFlowML in https://github.com/elizaOS/eliza/pull/2813 -* feat: Add Access Token Management to MultiversX Plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2810 -* chore: plugin-0g test configuration and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2805 -* test: plugin-0x test configuration and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2807 -* fix: akash splash by @AIFlowML in https://github.com/elizaOS/eliza/pull/2816 -* fix: nvidia nim environment by @AIFlowML in https://github.com/elizaOS/eliza/pull/2817 -* feat: improve message parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2772 -* fix: plugin-zksync-era multiple errors and issues as documented by @AIFlowML in https://github.com/elizaOS/eliza/pull/2819 -* docs: Create client-discord readme.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2812 -* docs: Update client-telegram README.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2814 -* docs: update embedding function by @rubinovitz in https://github.com/elizaOS/eliza/pull/2821 -* feat: twitter post media by @tcm390 in https://github.com/elizaOS/eliza/pull/2818 -* fix: plugin-tts by @AIFlowML in https://github.com/elizaOS/eliza/pull/2829 -* fix: plugin-twitter by @AIFlowML in https://github.com/elizaOS/eliza/pull/2827 -* fix: plugin-udio by @AIFlowML in https://github.com/elizaOS/eliza/pull/2824 -* fix: plugin-video-generation Fixed multiple non criticla issues. by @AIFlowML in https://github.com/elizaOS/eliza/pull/2823 -* fix: plugin-zerion by @AIFlowML in https://github.com/elizaOS/eliza/pull/2822 -* feat(new-plugin): create gelato plugin relay by @anirudhmakhana in https://github.com/elizaOS/eliza/pull/2799 -* fix: still run Farcaster client loop if error by @rubinovitz in https://github.com/elizaOS/eliza/pull/2830 -* feat: add new readmes, move some others for consistency by @madjin in https://github.com/elizaOS/eliza/pull/2828 -* btcfun Plugin for Eliza by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2797 -* feat: XMTP Client by @humanagent in https://github.com/elizaOS/eliza/pull/2786 -* feat(new-plugin): trikon plugin for eliza by @AmriteshTrikon in https://github.com/elizaOS/eliza/pull/2653 -* chore(update-plugin-initialization): btcfun & trikon plugin by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2643 -* fix: plugin-thirdweb by @AIFlowML in https://github.com/elizaOS/eliza/pull/2833 -* fix(deps): update dependency cookie to v0.7.0 [security] by @renovate in https://github.com/elizaOS/eliza/pull/2834 -* fix: plugin-ton by @AIFlowML in https://github.com/elizaOS/eliza/pull/2832 -* fix: plugin-tee-marlin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2837 -* fix: plugin-tee-veriafiable-log by @AIFlowML in https://github.com/elizaOS/eliza/pull/2836 -* fix: akash splash bis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2838 -* fix: plugin-story by @AIFlowML in https://github.com/elizaOS/eliza/pull/2844 -* fix: plugin-sui by @AIFlowML in https://github.com/elizaOS/eliza/pull/2843 -* fix: plugin-suno by @AIFlowML in https://github.com/elizaOS/eliza/pull/2840 -* fix(deps): update bs58 version to resolve integration test dependency issues by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2848 -* feat(new-plugin): A plugin for the Zilliqa blockchain by @rrw-zilliqa in https://github.com/elizaOS/eliza/pull/2842 -* refactor: simplify and fix exports in Imgflip meme generation plugin. by @krustevalexander in https://github.com/elizaOS/eliza/pull/2846 -* feat: client for Telegram account by @tgaru in https://github.com/elizaOS/eliza/pull/2839 -* chore(add-tests): plugin 3d generation: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2850 -* chore(add-tests): plugin anyone: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2854 -* feat(new-plugin): support apro plugin by @fifahuihua in https://github.com/elizaOS/eliza/pull/2794 -* feat(new-plugin): add arbitrage plugin with example character by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2784 -* feat(new-plugin): deva client integration by @stopmalone in https://github.com/elizaOS/eliza/pull/1238 -* fix: single quote handle bug at parseJsonArray by @JhChoy in https://github.com/elizaOS/eliza/pull/2802 -* fix: fix merge conflict by @tcm390 in https://github.com/elizaOS/eliza/pull/2873 -* fix: null check by @tcm390 in https://github.com/elizaOS/eliza/pull/2878 -* fix: default character openai => llamalocal by @odilitime in https://github.com/elizaOS/eliza/pull/2880 -* fix: LOG_JSON_FORMAT env var setting by @odilitime in https://github.com/elizaOS/eliza/pull/2881 -* fix: fix abstract package.json by @odilitime in https://github.com/elizaOS/eliza/pull/2882 -* chore: bump version to 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2883 -* fix: client server port by @tcm390 in https://github.com/elizaOS/eliza/pull/2886 -* Add more data when scrapping tweets by @viv-cheung in https://github.com/elizaOS/eliza/pull/2644 -* Update pnpm to v9.15.0 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2888 -* Update dependency systeminformation to v5.23.8 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2887 -* fet: use axios to fetch price and support two types private key by @v1xingyue in https://github.com/elizaOS/eliza/pull/2879 -* fix: plugin-omniflix by @AIFlowML in https://github.com/elizaOS/eliza/pull/2902 -* fix: plugin-open-weather by @AIFlowML in https://github.com/elizaOS/eliza/pull/2899 -* fix: plugin-opacity by @AIFlowML in https://github.com/elizaOS/eliza/pull/2900 -* fix: plugin-openai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2898 -* fix(patch): pnpm/@solana-developers to fix @coral-xyz 'BN' export by @wtfsayo in https://github.com/elizaOS/eliza/pull/2901 -* fix: plugin-primus by @AIFlowML in https://github.com/elizaOS/eliza/pull/2893 -* fix: plugin-quai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2892 -* fix: plugin-quick-intel by @AIFlowML in https://github.com/elizaOS/eliza/pull/2890 -* fix: plugin-sei by @AIFlowML in https://github.com/elizaOS/eliza/pull/2877 -* fix: plugin-sgx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2872 -* fix: plugin-starknet by @AIFlowML in https://github.com/elizaOS/eliza/pull/2866 -* fix: plugin-spheron by @AIFlowML in https://github.com/elizaOS/eliza/pull/2870 -* fix: plugin-squid-router by @AIFlowML in https://github.com/elizaOS/eliza/pull/2868 -* Update LICENSE by @maximevtush in https://github.com/elizaOS/eliza/pull/2903 -* fix: plugin-arbitrage by @AIFlowML in https://github.com/elizaOS/eliza/pull/2905 -* chore: fix spell errors by @Pricstas in https://github.com/elizaOS/eliza/pull/2909 -* feat(arbitrage): improve gas price optimization and volume calculation by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2869 -* chore(add-tests): plugin-asterai -> test coverage and config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2860 -* ci: changes to allow package scoping to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/2928 -* fix: missing version prop in package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/2929 -* fix: invalid npm package naming convention by @shakkernerd in https://github.com/elizaOS/eliza/pull/2930 -* chore: inconsistent folder naming conventipn by @shakkernerd in https://github.com/elizaOS/eliza/pull/2931 -* feat: add public access to packages. by @shakkernerd in https://github.com/elizaOS/eliza/pull/2933 -* fix template typos by @michavie in https://github.com/elizaOS/eliza/pull/2932 -* feat: new model provider for LM Studio by @eric2hen in https://github.com/elizaOS/eliza/pull/2913 -* fix: plugin-nft-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2934 -* fix: building error by @tcm390 in https://github.com/elizaOS/eliza/pull/2938 -* fix: plugin-news by @AIFlowML in https://github.com/elizaOS/eliza/pull/2940 -* fix: plugin-nft-collection by @AIFlowML in https://github.com/elizaOS/eliza/pull/2937 -* fix: plugin-near by @AIFlowML in https://github.com/elizaOS/eliza/pull/2941 -* fix: plugin-movement by @AIFlowML in https://github.com/elizaOS/eliza/pull/2943 -* fix: plugin-multiversx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2942 -* fix: remove dead code by @tcm390 in https://github.com/elizaOS/eliza/pull/2945 -* fix: add missing plugins in package.json by @tcm390 in https://github.com/elizaOS/eliza/pull/2947 -* fix: doesn't work in tweet post template by @tcm390 in https://github.com/elizaOS/eliza/pull/2951 -* fix: plugin-massa by @AIFlowML in https://github.com/elizaOS/eliza/pull/2955 -* fix-plugin-mina by @AIFlowML in https://github.com/elizaOS/eliza/pull/2954 -* fix: mind-network by @AIFlowML in https://github.com/elizaOS/eliza/pull/2953 -* fix: plugin-moralis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2952 -* fix: remove unnecessary @ts-expect-error directive in chat component by @wonseokjung in https://github.com/elizaOS/eliza/pull/2950 -* feat(plugin-di): add `Dependency Injection` support for services and clients, and di plugin samples to _examples as new folder by @btspoony in https://github.com/elizaOS/eliza/pull/2855 -* fix: handle whitespace in quote conversion by @tcm390 in https://github.com/elizaOS/eliza/pull/2961 -* fix: plugin-letzai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2960 -* fix: plugin-lightning by @AIFlowML in https://github.com/elizaOS/eliza/pull/2959 -* fix: plugin-lit by @AIFlowML in https://github.com/elizaOS/eliza/pull/2957 -* fix: plugin-obsidian by @AIFlowML in https://github.com/elizaOS/eliza/pull/2906 -* fix: plugin-router-nitro by @AIFlowML in https://github.com/elizaOS/eliza/pull/2884 -* fix: ensure action tweet replies to agent's initial tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2966 -* fix: plugin-lensnetwork by @AIFlowML in https://github.com/elizaOS/eliza/pull/2965 -* chore: bump pnpm for remaining workflows by @wtfsayo in https://github.com/elizaOS/eliza/pull/2968 -* fix(lint): plugin-intiface by @AIFlowML in https://github.com/elizaOS/eliza/pull/2971 -* fix(lint): plugin-iq6900 by @AIFlowML in https://github.com/elizaOS/eliza/pull/2970 -* fix: plugin-irys by @AIFlowML in https://github.com/elizaOS/eliza/pull/2969 -* fix(lint): plugin-injective by @AIFlowML in https://github.com/elizaOS/eliza/pull/2973 -* fix: plugin-initia by @AIFlowML in https://github.com/elizaOS/eliza/pull/2974 -* fix(lint): plugin-imgflip by @AIFlowML in https://github.com/elizaOS/eliza/pull/2976 -* fix(lint): plugin-image-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2978 -* feat(chore): plugin-arbitrage test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2983 -* feat: improve instagram client by @derrix060 in https://github.com/elizaOS/eliza/pull/2975 -* feat(chore): plugin-apro -> test coverage and test config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2980 -* fix README's CONTRIBUTING.md link in plugin-multiversx package by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2985 -* docs: fix broken links to github by @yaruno in https://github.com/elizaOS/eliza/pull/2987 -* Update lpmanager.character.json by @Dahka2321 in https://github.com/elizaOS/eliza/pull/2921 -* chore: correction typos chat_2024-12-04.md by @futreall in https://github.com/elizaOS/eliza/pull/2986 -* feat(more-actions): Lit Protocol plugin by @madschristensen99 in https://github.com/elizaOS/eliza/pull/2912 -* fix: re-enable wtfsayonara's patch by @odilitime in https://github.com/elizaOS/eliza/pull/2993 -* chore: lockfile audit by @odilitime in https://github.com/elizaOS/eliza/pull/2994 -* Update of the complete translation of README_FR.md [FR] by @YohanGH in https://github.com/elizaOS/eliza/pull/2964 -* feat (chore): plugin avalanche test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2999 -* feat (chore): plugin avail test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2997 -* feat (chore): plugin-autonome test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2992 -* fix: OpenAI embedding issue by @ileana-pr in https://github.com/elizaOS/eliza/pull/3003 -* fix: don't start services twice, improve logging by @odilitime in https://github.com/elizaOS/eliza/pull/3007 -* fix: deepgram transcription null check by @tcm390 in https://github.com/elizaOS/eliza/pull/3014 -* fix: llava model parsing Issue by @tcm390 in https://github.com/elizaOS/eliza/pull/3008 -* fix(lint): plugin-hyperliquid by @AIFlowML in https://github.com/elizaOS/eliza/pull/3011 -* fix(lint): plugin-holdstation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3015 -* fix(lint): plugin-goplus by @AIFlowML in https://github.com/elizaOS/eliza/pull/3016 -* chore(lint-BIOME): Improving errors and warnings by @0xSero in https://github.com/elizaOS/eliza/pull/2990 -* fix: client-slack & adapter-postgres: Ensure the connection between user and room before creating a memory,… by @maxime in https://github.com/elizaOS/eliza/pull/3006 -* fix: change handleAnthropic default mode to auto by @Jesscha in https://github.com/elizaOS/eliza/pull/3018 -* fix: spelling issue by @sky-coderay in https://github.com/elizaOS/eliza/pull/3041 -* fix(lint): plugin-ethstorage by @AIFlowML in https://github.com/elizaOS/eliza/pull/3039 -* fix(lint): plugin-evm by @AIFlowML in https://github.com/elizaOS/eliza/pull/3038 -* fix(lint): plugin-flow by @AIFlowML in https://github.com/elizaOS/eliza/pull/3036 -* fix(lint): plugin-football by @AIFlowML in https://github.com/elizaOS/eliza/pull/3035 -* fix(lint): plugin-form by @AIFlowML in https://github.com/elizaOS/eliza/pull/3033 -* fix(lint): plugin-fuel by @AIFlowML in https://github.com/elizaOS/eliza/pull/3028 -* fix(lint): plugin-gelato by @AIFlowML in https://github.com/elizaOS/eliza/pull/3027 -* fix(lint): plugin-genlayer by @AIFlowML in https://github.com/elizaOS/eliza/pull/3025 -* fix(lint): plugin-giphy by @AIFlowML in https://github.com/elizaOS/eliza/pull/3024 -* fix(lint): plugin-goat by @AIFlowML in https://github.com/elizaOS/eliza/pull/3019 -* fix(lint): plugin-gitcoin-passport by @AIFlowML in https://github.com/elizaOS/eliza/pull/3022 -* fix(lint): plugin-gitbook by @AIFlowML in https://github.com/elizaOS/eliza/pull/3023 -* feat: add Fleek Eliza deployment to Readme_CN by @tobySolutions in https://github.com/elizaOS/eliza/pull/3048 -* fix: correct regex by @tcm390 in https://github.com/elizaOS/eliza/pull/3054 -* fix: Message id collision in Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/3053 -* fix: ImageVisionModelProvider Not Applied in Runtime for Image Description Service by @tcm390 in https://github.com/elizaOS/eliza/pull/3056 -* fix: handle unsupported image provider by @tcm390 in https://github.com/elizaOS/eliza/pull/3057 -* feat: use Aggregator swap sui tokens by @v1xingyue in https://github.com/elizaOS/eliza/pull/3012 -* fix: plugin-devin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3070 -* fix: plugin-binance lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3089 -* fix: plugin-birdeye lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3088 -* fix: plugin-bittensor lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3087 -* fix: plugin-Chainbase lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3085 -* fix: plugin-coingecko lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3084 -* fix: plugin-coinmarketcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3082 -* fix: plugin-conflux lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3080 -* fix: plugin-cosmos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3077 -* fix: plugin-cronos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3076 -* fix: plugin-bnb lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3086 -* fix: Rename file with typo in MVX plugin by @PhyByte in https://github.com/elizaOS/eliza/pull/3026 -* docs: Add Arabic translation for README by @EmanHerawy in https://github.com/elizaOS/eliza/pull/3081 -* fix: plugin-cronoszkevm lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3075 -* fix: plugin-dcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3074 -* fix: plugin-b2 lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3091 -* fix: plugin-depin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3073 -* fix: plugin-dexscreener lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3069 -* fix: the unexpected corrections for plugin-di caused by biome lint by @btspoony in https://github.com/elizaOS/eliza/pull/3052 -* fix: fix-plugin-di lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3066 -* fix: plugin-avalanche lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3092 -* fix: plugin-echochamber lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3063 -* fix: plugin-dkg lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3065 -* fix: plugin-mail lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3061 -* feat: 3049 add demo api access coingecko by @MichaelDeng03 in https://github.com/elizaOS/eliza/pull/3050 -* fix(lint): email-automation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3044 -* fix: plugin-avail by @AIFlowML in https://github.com/elizaOS/eliza/pull/3094 -* docs(packages/adapters): navigate section links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/3005 -* fix: fixed build error in plugin-email-automation by @samarth30 in https://github.com/elizaOS/eliza/pull/3097 -* fix: plugin-icp refactored by @AIFlowML in https://github.com/elizaOS/eliza/pull/3010 -* fix: plugin-asterai by @AIFlowML in https://github.com/elizaOS/eliza/pull/3101 -* fix: plugin-autonome-v1 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3098 -* fix: plugin-arthera-biome by @AIFlowML in https://github.com/elizaOS/eliza/pull/3102 -* fix: plugin-aptos by @AIFlowML in https://github.com/elizaOS/eliza/pull/3104 -* docs: Add "What Did You Get Done This Week? 11" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3103 -* fix: fixing the error parsing json when an array is a value in a JSON… by @maxime in https://github.com/elizaOS/eliza/pull/3113 -* chore: updated .gitignore + removed build files by @wtfsayo in https://github.com/elizaOS/eliza/pull/3117 -* fix: auto-scrolling issue in client by @tcm390 in https://github.com/elizaOS/eliza/pull/3115 -* fix: plugin-apro by @AIFlowML in https://github.com/elizaOS/eliza/pull/3106 -* feat (chore): plugin-chainbase test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3072 -* feat (chore): plugin bittensor test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3064 -* feat (chore): plugin-bootstrap: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3068 -* fix: docker build command by skipping eslint files by @jonathangus in https://github.com/elizaOS/eliza/pull/3110 -* fix: export dexScreenerPlugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/3120 -* fix:chore(plugin-chainbase): add missing comma in package.json by @akugone in https://github.com/elizaOS/eliza/pull/3118 -* fix: remove duplicate litPlugin import by @shakkernerd in https://github.com/elizaOS/eliza/pull/3121 -* chore: dev => main 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2361 - -#### New Contributors - -
-View New Contributors -* @adacapo21 made their first contribution in https://github.com/elizaOS/eliza/pull/2199 -* @gene-zhan made their first contribution in https://github.com/elizaOS/eliza/pull/1369 -* @Stumble made their first contribution in https://github.com/elizaOS/eliza/pull/2228 -* @oxlupo made their first contribution in https://github.com/elizaOS/eliza/pull/2260 -* @VitalikBerashvili made their first contribution in https://github.com/elizaOS/eliza/pull/2256 -* @Hack666r made their first contribution in https://github.com/elizaOS/eliza/pull/2255 -* @KacperKoza343 made their first contribution in https://github.com/elizaOS/eliza/pull/2240 -* @thetechnocratic made their first contribution in https://github.com/elizaOS/eliza/pull/1710 -* @Firbydude made their first contribution in https://github.com/elizaOS/eliza/pull/1442 -* @MonteCrypto999 made their first contribution in https://github.com/elizaOS/eliza/pull/2249 -* @lincheoll made their first contribution in https://github.com/elizaOS/eliza/pull/2274 -* @jason51553262 made their first contribution in https://github.com/elizaOS/eliza/pull/2267 -* @CryptoGraffe made their first contribution in https://github.com/elizaOS/eliza/pull/2307 -* @bbopar made their first contribution in https://github.com/elizaOS/eliza/pull/2293 -* @hellopleasures made their first contribution in https://github.com/elizaOS/eliza/pull/1865 -* @chuasonglin1995 made their first contribution in https://github.com/elizaOS/eliza/pull/2195 -* @everimbaq made their first contribution in https://github.com/elizaOS/eliza/pull/2324 -* @derrekcoleman made their first contribution in https://github.com/elizaOS/eliza/pull/2336 -* @sukrucildirr made their first contribution in https://github.com/elizaOS/eliza/pull/2334 -* @C0ldSmi1e made their first contribution in https://github.com/elizaOS/eliza/pull/2353 -* @0xnogo made their first contribution in https://github.com/elizaOS/eliza/pull/2149 -* @leeran7 made their first contribution in https://github.com/elizaOS/eliza/pull/2328 -* @defitricks made their first contribution in https://github.com/elizaOS/eliza/pull/2370 -* @0xSero made their first contribution in https://github.com/elizaOS/eliza/pull/2378 -* @dev-whoan made their first contribution in https://github.com/elizaOS/eliza/pull/2382 -* @ericlehong made their first contribution in https://github.com/elizaOS/eliza/pull/2385 -* @crStiv made their first contribution in https://github.com/elizaOS/eliza/pull/2394 -* @francis2tm made their first contribution in https://github.com/elizaOS/eliza/pull/2082 -* @enigmarikki made their first contribution in https://github.com/elizaOS/eliza/pull/1764 -* @sweetmantech made their first contribution in https://github.com/elizaOS/eliza/pull/2298 -* @donatik27 made their first contribution in https://github.com/elizaOS/eliza/pull/2438 -* @leopardracer made their first contribution in https://github.com/elizaOS/eliza/pull/2435 -* @Hopium21 made their first contribution in https://github.com/elizaOS/eliza/pull/2441 -* @bundinho made their first contribution in https://github.com/elizaOS/eliza/pull/2415 -* @RubinovaAn1097 made their first contribution in https://github.com/elizaOS/eliza/pull/2449 -* @MarsonKotovi4 made their first contribution in https://github.com/elizaOS/eliza/pull/2445 -* @ae9is made their first contribution in https://github.com/elizaOS/eliza/pull/2375 -* @Pistasha made their first contribution in https://github.com/elizaOS/eliza/pull/2447 -* @dedyshkaPexto made their first contribution in https://github.com/elizaOS/eliza/pull/2464 -* @Dimitrolito made their first contribution in https://github.com/elizaOS/eliza/pull/2456 -* @carlos-cne made their first contribution in https://github.com/elizaOS/eliza/pull/2413 -* @suleigolden made their first contribution in https://github.com/elizaOS/eliza/pull/2462 -* @B1boid made their first contribution in https://github.com/elizaOS/eliza/pull/2332 -* @lispking made their first contribution in https://github.com/elizaOS/eliza/pull/2476 -* @Olexandr88 made their first contribution in https://github.com/elizaOS/eliza/pull/2483 -* @sunsakis made their first contribution in https://github.com/elizaOS/eliza/pull/2340 -* @Daulox92 made their first contribution in https://github.com/elizaOS/eliza/pull/2495 -* @KoZivod88074 made their first contribution in https://github.com/elizaOS/eliza/pull/2485 -* @tercel made their first contribution in https://github.com/elizaOS/eliza/pull/2365 -* @0xrubusdata made their first contribution in https://github.com/elizaOS/eliza/pull/2463 -* @visionpixel made their first contribution in https://github.com/elizaOS/eliza/pull/2518 -* @Haisen772 made their first contribution in https://github.com/elizaOS/eliza/pull/2492 -* @bfontes made their first contribution in https://github.com/elizaOS/eliza/pull/2506 -* @jimtracy1007 made their first contribution in https://github.com/elizaOS/eliza/pull/2429 -* @devin-ai-integration made their first contribution in https://github.com/elizaOS/eliza/pull/2549 -* @neelkanani made their first contribution in https://github.com/elizaOS/eliza/pull/2547 -* @BitWonka made their first contribution in https://github.com/elizaOS/eliza/pull/2524 -* @maxcoto made their first contribution in https://github.com/elizaOS/eliza/pull/2389 -* @cuongnguyenthai made their first contribution in https://github.com/elizaOS/eliza/pull/2596 -* @leejw51crypto made their first contribution in https://github.com/elizaOS/eliza/pull/2585 -* @RaveenaBhasin made their first contribution in https://github.com/elizaOS/eliza/pull/2590 -* @boohyunsik made their first contribution in https://github.com/elizaOS/eliza/pull/2448 -* @brkagithub made their first contribution in https://github.com/elizaOS/eliza/pull/2380 -* @stanislawkurzypBD made their first contribution in https://github.com/elizaOS/eliza/pull/2554 -* @siphonelee made their first contribution in https://github.com/elizaOS/eliza/pull/2654 -* @jteso made their first contribution in https://github.com/elizaOS/eliza/pull/2645 -* @nnsW3 made their first contribution in https://github.com/elizaOS/eliza/pull/2669 -* @VolodymyrBg made their first contribution in https://github.com/elizaOS/eliza/pull/2672 -* @lxcong made their first contribution in https://github.com/elizaOS/eliza/pull/2162 -* @dtbuchholz made their first contribution in https://github.com/elizaOS/eliza/pull/2176 -* @simsaidev made their first contribution in https://github.com/elizaOS/eliza/pull/2618 -* @oxf71 made their first contribution in https://github.com/elizaOS/eliza/pull/2322 -* @OmniflixBlockEater made their first contribution in https://github.com/elizaOS/eliza/pull/2693 -* @bealers made their first contribution in https://github.com/elizaOS/eliza/pull/2698 -* @Evan-zkLinkLabs made their first contribution in https://github.com/elizaOS/eliza/pull/2659 -* @worksgoodcompany made their first contribution in https://github.com/elizaOS/eliza/pull/2686 -* @klren0312 made their first contribution in https://github.com/elizaOS/eliza/pull/2748 -* @dezcalimese made their first contribution in https://github.com/elizaOS/eliza/pull/2703 -* @dev-holdstation made their first contribution in https://github.com/elizaOS/eliza/pull/2741 -* @alex1092 made their first contribution in https://github.com/elizaOS/eliza/pull/2736 -* @mj850 made their first contribution in https://github.com/elizaOS/eliza/pull/2720 -* @guspan-tanadi made their first contribution in https://github.com/elizaOS/eliza/pull/2724 -* @ajkraus04 made their first contribution in https://github.com/elizaOS/eliza/pull/2755 -* @krustevalexander made their first contribution in https://github.com/elizaOS/eliza/pull/2711 -* @iteyelmp made their first contribution in https://github.com/elizaOS/eliza/pull/2737 -* @ebaizel made their first contribution in https://github.com/elizaOS/eliza/pull/2769 -* @LouisVannobel made their first contribution in https://github.com/elizaOS/eliza/pull/2763 -* @pranav-singhal made their first contribution in https://github.com/elizaOS/eliza/pull/2766 -* @bharathbabu-moralis made their first contribution in https://github.com/elizaOS/eliza/pull/2764 -* @ccross2 made their first contribution in https://github.com/elizaOS/eliza/pull/2687 -* @LinuxIsCool made their first contribution in https://github.com/elizaOS/eliza/pull/2632 -* @Cooops made their first contribution in https://github.com/elizaOS/eliza/pull/2709 -* @tmarwen made their first contribution in https://github.com/elizaOS/eliza/pull/2728 -* @benliang99 made their first contribution in https://github.com/elizaOS/eliza/pull/2682 -* @Liao1 made their first contribution in https://github.com/elizaOS/eliza/pull/2638 -* @KanishkKhurana made their first contribution in https://github.com/elizaOS/eliza/pull/2631 -* @batudo made their first contribution in https://github.com/elizaOS/eliza/pull/2616 -* @jobyid made their first contribution in https://github.com/elizaOS/eliza/pull/1427 -* @AdventureSeeker987 made their first contribution in https://github.com/elizaOS/eliza/pull/2781 -* @brandon1525 made their first contribution in https://github.com/elizaOS/eliza/pull/2564 -* @zy-bc-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2431 -* @Alirun made their first contribution in https://github.com/elizaOS/eliza/pull/2725 -* @JhChoy made their first contribution in https://github.com/elizaOS/eliza/pull/2789 -* @juanc07 made their first contribution in https://github.com/elizaOS/eliza/pull/2782 -* @calintje made their first contribution in https://github.com/elizaOS/eliza/pull/2136 -* @elpulpo0 made their first contribution in https://github.com/elizaOS/eliza/pull/2810 -* @actuallyrizzn made their first contribution in https://github.com/elizaOS/eliza/pull/2812 -* @rubinovitz made their first contribution in https://github.com/elizaOS/eliza/pull/2821 -* @anirudhmakhana made their first contribution in https://github.com/elizaOS/eliza/pull/2799 -* @Nevermore-Ray made their first contribution in https://github.com/elizaOS/eliza/pull/2797 -* @humanagent made their first contribution in https://github.com/elizaOS/eliza/pull/2786 -* @AmriteshTrikon made their first contribution in https://github.com/elizaOS/eliza/pull/2653 -* @rrw-zilliqa made their first contribution in https://github.com/elizaOS/eliza/pull/2842 -* @tgaru made their first contribution in https://github.com/elizaOS/eliza/pull/2839 -* @fifahuihua made their first contribution in https://github.com/elizaOS/eliza/pull/2794 -* @mmarfinetz made their first contribution in https://github.com/elizaOS/eliza/pull/2784 -* @stopmalone made their first contribution in https://github.com/elizaOS/eliza/pull/1238 -* @viv-cheung made their first contribution in https://github.com/elizaOS/eliza/pull/2644 -* @maximevtush made their first contribution in https://github.com/elizaOS/eliza/pull/2903 -* @Pricstas made their first contribution in https://github.com/elizaOS/eliza/pull/2909 -* @michavie made their first contribution in https://github.com/elizaOS/eliza/pull/2932 -* @eric2hen made their first contribution in https://github.com/elizaOS/eliza/pull/2913 -* @wonseokjung made their first contribution in https://github.com/elizaOS/eliza/pull/2950 -* @derrix060 made their first contribution in https://github.com/elizaOS/eliza/pull/2975 -* @yaruno made their first contribution in https://github.com/elizaOS/eliza/pull/2987 -* @Dahka2321 made their first contribution in https://github.com/elizaOS/eliza/pull/2921 -* @futreall made their first contribution in https://github.com/elizaOS/eliza/pull/2986 -* @madschristensen99 made their first contribution in https://github.com/elizaOS/eliza/pull/2912 -* @YohanGH made their first contribution in https://github.com/elizaOS/eliza/pull/2964 -* @maxime made their first contribution in https://github.com/elizaOS/eliza/pull/3006 -* @Jesscha made their first contribution in https://github.com/elizaOS/eliza/pull/3018 -* @sky-coderay made their first contribution in https://github.com/elizaOS/eliza/pull/3041 -* @tobySolutions made their first contribution in https://github.com/elizaOS/eliza/pull/3048 -* @PhyByte made their first contribution in https://github.com/elizaOS/eliza/pull/3026 -* @EmanHerawy made their first contribution in https://github.com/elizaOS/eliza/pull/3081 -* @MichaelDeng03 made their first contribution in https://github.com/elizaOS/eliza/pull/3050 -* @akugone made their first contribution in https://github.com/elizaOS/eliza/pull/3118 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 +#### Technical Improvements +- Replaced AgentRuntime with interface to extend client capabilities (PR #2388) +- Implemented Turbo optimizations for build performance (PR #2503) +- Updated pnpm version in Docker build (PR #3158) +- Added various fixes for plugin compatibility and configuration ---- +#### Breaking Changes +- Plugin architecture now uses dynamic loading instead of static imports +- All plugins moved out of core codebase into separate packages +- Changed dependency structure for plugin initialization -## v0.1.8-alpha.1 (January 31, 2025) +#### Deprecated Features +- Static plugin imports are no longer supported +- Legacy verifiable inference concept removed (now plugin-based) -#### What's Changed +This version represents a significant step toward a more modular, extensible architecture while adding support for additional AI models and improving the knowledge processing capabilities. -* feats: Add 0G to the blockchain sector (diagram update) by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2204 -* fix(plugin-depin): sentientAI description by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/2668 - -**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.8+build.1...v0.1.8-alpha.1 +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 --- -## v0.1.8+build.1 (January 12, 2025) - -Minor update to [v0.1.8](https://github.com/elizaOS/eliza/releases/tag/v0.1.8) +## v0.25.6-alpha.1 (2025-02-06) -Fixes: -- docker image build -- actually bump version so npm will publish a v0.1.8 -- security: Implement file upload security (#1753) #1806 -- twitter-client: clean up mention deduplication #2185 -- postgres adapter migration extension creation which already exists at this point #2188 -- Missing LETZAI model #2187 +#### Summary +This alpha release introduces versioning changes (year.week format), enhances social media integration capabilities, adds new blockchain plugins, and fixes various issues across multiple plugins. The release focuses on improving media handling for messaging platforms and expanding blockchain functionality. -#### What's Changed +#### Major Features -* fix: release 0.1.8 fixes by @odilitime in https://github.com/elizaOS/eliza/pull/2184 -* docs: Add Persian README File by @ali-moha in https://github.com/elizaOS/eliza/pull/2182 -* fix: Missing LETZAI model by @daizhengxue in https://github.com/elizaOS/eliza/pull/2187 -* fix postgres adapter migration extension creation which already exists at this point by @web3gh in https://github.com/elizaOS/eliza/pull/2188 -* fix(client-twitter): clean up mention deduplication by @nhodges in https://github.com/elizaOS/eliza/pull/2185 -* feat(security): Implement file upload security (#1753) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1806 -* chore: Prep 0.1.8.build.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2193 -* chore: 0.1.8.build.1 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2194 +#### Social Media & Messaging +- Added image URL support for outbound tweets/messages (PR #3122) +- Added configuration toggle for Twitter post generation (PR #3219) +- New Spanish-speaking Trump sample character (PR #3119) +- Action suppression capability for Twitter, Discord, and Telegram (PRs #3286, #3284, #3285) -#### New Contributors +#### Blockchain Integrations +- TON Plugin: Added NFT collection, item creation, metadata change and transfer functionality (PR #3211) +- MultiversX Plugin: Added CREATE_POOL action (PR #3209) +- Added herotag support for MultiversX plugin (PR #3238) +- Coingecko advanced features for various pools by network (PR #3170) -
-View New Contributors -* @ali-moha made their first contribution in https://github.com/elizaOS/eliza/pull/2182 -
+#### New Plugins +- Added Edwin plugin (PR #3045) +- Added Desk Exchange plugin (PR #3096) +- Enhanced Quick-Intel plugin (PR #3208) -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 +#### Bug Fixes +- Fixed OpenAI and Vercel AI packages to resolve O1 errors (PR #3146) +- Resolved duplicate plugins issue (PR #3126) +- Updated provider-utils for better compatibility (PR #3189) +- Improved attribute extraction from raw text (PR #3190) +- Fixed "think" tag from Venice (PR #3203) +- Enhanced Slack attachments handling (PR #3194) +- Updated pnpm version in Docker build (PR #3158) +- Removed duplicated dependencies (PR #3215) +- Fixed DenyLoginSubtask functionality (PR #3278) +- Implemented RAG optimizations for context handling (PR #3248) +- Fixed Google API key handling (PR #3274) + +#### Developer Improvements +- Added test configurations for multiple plugins (CoinGecko, Cronos, Conflux) +- Fixed Docker and types issues (PR #3220) +- Improved OpenAI-like provider endpoint resolution (PR #3281) +- Enhanced JSON normalization process (PR #3301) +- Fixed various unit tests for parsing and models (PRs #3311, #3312) +- Added model configuration reading from character files (PR #3313) +- Set package publishing access to public (PR #3330) + +#### Documentation Updates +- Updated documentation for plugins (PR #3324) +- Fixed broken links in contributing guide (PR #3269) +- Added GitHub issues link to contribution guidelines (PR #3268) +- Fixed various typos and improved consistency (PRs #3111, #3270, #3271) + +This alpha release introduces the new versioning scheme that uses year.week format (25.6) and prepares for significant architecture changes planned for the stable release. + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 --- -## v0.1.8 (January 12, 2025) +## v0.1.9 (2025-02-01) + +#### Summary +This release significantly expands Eliza's client ecosystem, introduces numerous blockchain integrations, enhances AI model support, and improves platform stability. Major additions include Instagram, Telegram, and XMTP clients, Discord and Telegram autonomous agent enhancements, and support for multiple blockchain networks. + +#### Major Features + +#### New Clients & Communication +- Instagram client implementation (PR #1964) +- Telegram account client (PR #2839) +- XMTP client for decentralized messaging (PR #2786) +- Twitter media post capabilities (PR #2818) +- Discord autonomous agent enhancement (PR #2335) +- Telegram autonomous agent enhancement (PR #2338) +- Direct Client API with agent deletion functionality (PR #2267) + +#### AI & LLM Integrations +- NVIDIA inference support (PR #2512) +- Livepeer LLM provider integration (PR #2154) +- Amazon Bedrock as LLM provider (PR #2769) +- Added Birdeye plugin for market data (PR #1417) + +#### Blockchain Integrations +- Solana improvements: flawless transfers (PR #2340), Agent Kit features (PR #2458) +- EVM ecosystem: OZ governance (PR #1710), ETH storage (PR #2737), cross-chain swaps via Squid Router (PR #1482) +- Added support for multiple chains: Gravity (PR #2228), Cronos (PR #2585), BNB (PR #2278) +- Sui updates: Aggregator swap for tokens (PR #3012), secp256k1/secp256r1 algorithm support (PR #2476) +- Cosmos: IBC transfer (PR #2358) and IBC swap functionality (PR #2554) +- Injective plugin implementation (PR #1764) +- Added Mina blockchain support (PR #2702) +- CoinGecko price per address functionality (PR #2262) +- Dex Screener plugin with price actions (PR #1865) and trending features (PR #2325) + +#### Critical Bug Fixes +- DeepSeek API key configuration issue (PR #2186) +- Windows path resolution in pnpm build client (PR #2240) +- IME multiple messages on Enter issue (PR #2274) +- Fixed key derivation and remote attestation (PR #2303) +- Prevented app crash with undefined REMOTE_CHARACTER_URLS (PR #2384) +- Resolved AI-SDK provider version conflicts (PR #2714) +- Fixed Ethers/viem issue in Mind Network plugin (PR #2783) +- Message ID collision in Telegram Client (PR #3053) +- Fixed image vision model provider application (PR #3056) +- Improved unsupported image provider handling (PR #3057) +- Resolved JSON parsing error with array values (PR #3113) + +#### Client Improvements +- Tweet ID parameter correction (PR #2430) +- Twitter bot replies metadata handling (PR #2712) +- Home timeline name parsing fix (PR #2789) +- Topics formatting bug resolution (PR #2951) +- Auto-scrolling improvements (PR #3115) +- Action tweet reply functionality (PR #2966) + +#### Infrastructure Enhancements +- Docker build command optimization (PR #3110) +- Service startup optimization (PR #3007) +- Sqlite error with zero-length vectors (PR #1984) +- RAG knowledge handling with Postgres (PR #2153) +- OpenAI embedding issue resolution (PR #3003) + +This release represents a major expansion of Eliza's capabilities across multiple platforms and blockchain networks, with significant improvements to agent autonomy and stability. + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 -#### What's Changed +--- -#### Features - -- TTS (Text2Speech) with over 15 languages support! #2110 -- Image descriptions into client-twitter #1775 -- Add Heurist embedding model #2093 -- Add Cloudflare AI Gateway support #821 -- Add Mistral AI as new model provider #2137 -- Add DeepSeek AI provider support to Eliza #2067 -- Support TEE logging and support running eliza in Intel SGX #1470 -- Pro API support, trending coins API #2068 -- Add Irys plugin #1708 -- Add support autonome platform #2121 -- Add Akash Network plugin with autonomous deployment capabilities #2111 -- Add Lens Network Plugin #2101 -- Add plugin-hyperliquid #2141 -- Add asterai plugin #2045 -- Add massa-plugin #1582 -- Add Quai integration #2083 -- Primus zkTLS plugin to fully verify agent activities #2086 -- Solana transaction more lenient (wait for confirmed instead of finalized) #2053 - -#### Fixes - -- Fix plugin loading from a character.json file #2095 -- prevent repeated login by reusing client-twitter session #2129 -- fix the chat stuck in infinite loop #1755 -- fix client-discord join voice action #2160 -- replace invalid toghether ai medium model #2173 -- insert missing langdetect on plugin-tts package.json #2175 -- Apply model settings for images and remove duplicate files #2118 -- clientConfig.telegram.isPartOfTeam misstype #2103 -- fix starknet plugin by replacing walletProvider with portfolio provider #2029 -- correct SUI/USD price calculation #2150 -- deepseek support in getTokenForProvider #2179 -- Supabase updates #2100 -- Koloxarto/fix ragknowledge for postgres #2153 -- case-sensitive column reference in knowledge table CHECK constraint #2058 -- syntax issue on autonome plugin and lock file update #2131 -- lens export name and duplicate imports #2142 -- Revert "feat: Proof of Pizza - Agentic Dominos Ordering" #2075 - -Complete changelog: -* fix: add default export to plugin-image-generation by @jonathanmv in https://github.com/elizaOS/eliza/pull/1831 -* Update .env.example by @bitcoinbender in https://github.com/elizaOS/eliza/pull/1829 -* chore: update develop from main by @shakkernerd in https://github.com/elizaOS/eliza/pull/1823 -* feat(models): update Google model configurations by @gmh5225 in https://github.com/elizaOS/eliza/pull/1815 -* improvement: replacing console.log with elizaLogger by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1834 -* Update README_KOR.md by @web3isthefuture in https://github.com/elizaOS/eliza/pull/1835 -* refactor: typo in readme by @MagikHolder in https://github.com/elizaOS/eliza/pull/1832 -* Fix faq link on contributing.md by @manotoor in https://github.com/elizaOS/eliza/pull/1847 -* Create README.md by @RobertSloan22 in https://github.com/elizaOS/eliza/pull/1787 -* Update c3po.character.json by @macfly-base in https://github.com/elizaOS/eliza/pull/1827 -* Feat/genlayer plugin by @AgustinRamiroDiaz in https://github.com/elizaOS/eliza/pull/975 -* fix: broken ci docs missed frozen pnpm file out-of-sync by @marcellodesales in https://github.com/elizaOS/eliza/pull/1798 -* chore: update bootstrap plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1836 -* correct faq docs link in both contribution md files by @MacsDickinson in https://github.com/elizaOS/eliza/pull/1839 -* Feat: add infera as an inference provide by @inferanetwork in https://github.com/elizaOS/eliza/pull/1860 -* feat: add avail plugin by @robin-rrt in https://github.com/elizaOS/eliza/pull/1241 -* feat: Add Stargaze plugin by @daniel-farina in https://github.com/elizaOS/eliza/pull/1861 -* feat: add cosmos plugin by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1826 -* feat: Implement a plugin that can retrieve Marlin TEE remote attestations by @roshanrags in https://github.com/elizaOS/eliza/pull/935 -* docs: Add DAO donation ask & dev discord by @odilitime in https://github.com/elizaOS/eliza/pull/1867 -* fix: Fix postinstall script by @odilitime in https://github.com/elizaOS/eliza/pull/1872 -* docs: add Romanian README translation by @pedronovikovborges in https://github.com/elizaOS/eliza/pull/1770 -* test: adding more tests for goals,memory and provider. Fixing generation.test.ts by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1840 -* fix: remove twitter profile caching (#1638) by @augchan42 in https://github.com/elizaOS/eliza/pull/1782 -* feat: Add devcontainer by @jazzvaz in https://github.com/elizaOS/eliza/pull/1807 -* fix(solana token provider): await cached data by @bentatum in https://github.com/elizaOS/eliza/pull/1828 -* chore: support more debians distros by @odilitime in https://github.com/elizaOS/eliza/pull/1875 -* feat: refactor model config by @tcm390 in https://github.com/elizaOS/eliza/pull/1805 -* feat: added new plugin - zktls - reclaim by @Gajesh2007 in https://github.com/elizaOS/eliza/pull/1558 -* Feat: Support wildcard in TWITTER_TARGET_USERS 1883 by @augchan42 in https://github.com/elizaOS/eliza/pull/1884 -* feat: add remote attestation action by @HashWarlock in https://github.com/elizaOS/eliza/pull/1885 -* feat: Use recommended settings in jupiter swap by @Arrowana in https://github.com/elizaOS/eliza/pull/1882 -* Fixed broken API Documentation URL by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1881 -* feat: add OpenWeather plugin by @kylebuildsstuff in https://github.com/elizaOS/eliza/pull/1880 -* test: adding test setup for telegram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1879 -* chore(core): enable strict null checks by @bentatum in https://github.com/elizaOS/eliza/pull/1878 -* fix: remove case sensitive path by @zhourunlai in https://github.com/elizaOS/eliza/pull/1892 -* feat: hyperfy support by @odilitime in https://github.com/elizaOS/eliza/pull/1896 -* Add Dutch (Nederlands) translation by @xzrfax in https://github.com/elizaOS/eliza/pull/1909 -* fix: twitter result obj undefined properties by @zhourunlai in https://github.com/elizaOS/eliza/pull/1905 -* chore: fix integrations and smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1893 -* fix: add callback to the evaluators for client-telegram by @RatakondalaArun in https://github.com/elizaOS/eliza/pull/1908 -* chore(client-discord): fix SUMMARIZE prompt by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/1916 -* fix(core): check evaluators for null by @bentatum in https://github.com/elizaOS/eliza/pull/1918 -* fix: resolved a bunch of type related errors and ensure project compiles by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1917 -* feats: diagram update by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1907 -* feat: Optimize Agent Action Processing by Prioritizing Timelines and Limiting Actions Per Cycle by @tcm390 in https://github.com/elizaOS/eliza/pull/1824 -* Feature/add binance plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1812 -* Fix typo Update CHANGELOG.md by @petryshkaCODE in https://github.com/elizaOS/eliza/pull/1922 -* feat: add GoPlus Security Plugin to enhance security for agent by @0xbeekeeper in https://github.com/elizaOS/eliza/pull/1898 -* API route update by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1923 -* fix: handle empty input text to avoid memory content empty error by @zhourunlai in https://github.com/elizaOS/eliza/pull/1919 -* test: adding tests for discord-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1927 -* docs: Add "What Did You Get Done This Week? #8" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1894 -* fix: Limit the number of timelines fetched by @tcm390 in https://github.com/elizaOS/eliza/pull/1931 -* fix: rm unused variable X_SERVER_URL by @proteanx in https://github.com/elizaOS/eliza/pull/1930 -* feat: Make templates in composeContext dynamic by @jonathangus in https://github.com/elizaOS/eliza/pull/1467 -* docs: it is processAction instead of triggerAction by @threewebcode in https://github.com/elizaOS/eliza/pull/1937 -* feat: solana token deploy using solana agent kit by @renlulu in https://github.com/elizaOS/eliza/pull/1373 -* chore(plugin-conflux): remove unused imports by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1941 -* feat(plugin-cronoszkevm): rm not used imports by @sinecose in https://github.com/elizaOS/eliza/pull/1744 -* feat: support for eternalai provider can make request with chain_id extra data in body by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1938 -* chore: more specific rpc urls by @0xRider in https://github.com/elizaOS/eliza/pull/1945 -* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1948 -* chore: add embedding tests by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1944 -* feat: new plugin Arthera Chain by @elpiarthera in https://github.com/elizaOS/eliza/pull/1818 -* fix: fixed error in C3PO and improved error handling feedback by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1951 -* feat: add pglite db adapter by @KONFeature in https://github.com/elizaOS/eliza/pull/1810 -* feat: Add fraxtal chain to evm by @kesar in https://github.com/elizaOS/eliza/pull/1954 -* feat: add coin price plugin (CoinMarketCap, CoinGecko & CoinCap) by @proteanx in https://github.com/elizaOS/eliza/pull/1808 -* fix: abstract readme by @cygaar in https://github.com/elizaOS/eliza/pull/1963 -* feat: improve twitter paragraph splitting if containing url by @darwintree in https://github.com/elizaOS/eliza/pull/1947 -* test: adding tests for twitter-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1959 -* test: adding tests for twitter plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1976 -* chore: Cleaner logs on agent startup by @velvet-shark in https://github.com/elizaOS/eliza/pull/1973 -* feat: anyone plugin to privatise network requests by @Saundr21 in https://github.com/elizaOS/eliza/pull/1960 -* fix: SQLITE ERROR, zero-lenght vectors not supported by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1984 -* fix: many fixes to the Telegram templates by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1982 -* test: changing test structure for core package. Fixing failling outdated tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1989 -* chore: Enable all EVM chains by default by @Minco-Yuga in https://github.com/elizaOS/eliza/pull/1981 -* chore: add debug logging for context by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1980 -* fix: Fix db init race condition affecting builds by @0x-jj in https://github.com/elizaOS/eliza/pull/1968 -* feat: add new plugin - spheron by @rekpero in https://github.com/elizaOS/eliza/pull/1966 -* feat: Add Allora plugin by @conache in https://github.com/elizaOS/eliza/pull/1955 -* fix: Added Local Embedding Manager to reuse Local embed model - Fixes High Ram Issues by @mbcse in https://github.com/elizaOS/eliza/pull/1950 -* feat: obsidian integration plugin by @sekmet in https://github.com/elizaOS/eliza/pull/1943 -* add thirdweb plugin by @iankm in https://github.com/elizaOS/eliza/pull/1418 -* feat: improvements for plugin-cosmos by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1934 -* fix: build on plugin spheron by @shakkernerd in https://github.com/elizaOS/eliza/pull/1995 -* fix: client twitter dryrun by @tcm390 in https://github.com/elizaOS/eliza/pull/1997 -* fix: resolve translation type issue by @odilitime in https://github.com/elizaOS/eliza/pull/1996 -* fix: fix .env.sample defaults by @odilitime in https://github.com/elizaOS/eliza/pull/1999 -* chore: update website url in lore.md by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1998 -* Add support for Movement Network by @Rahat-ch in https://github.com/elizaOS/eliza/pull/1621 -* docs: Optimizes Technical Docs for LLMs & Vectorization by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1993 -* feat: Separate Knowledge system + Multi-Agent RAG Optimization by @azep-ninja in https://github.com/elizaOS/eliza/pull/1620 -* feat: implement getKnowledge, searchKnowledge, createKnowledge, removeKnowledge and clearKnowledge methods by @shakkernerd in https://github.com/elizaOS/eliza/pull/2005 -* chore: Make `generateNewTweet` public by @hazelnutcloud in https://github.com/elizaOS/eliza/pull/1902 -* fix: remove legacy variables (XAI_MODEL, XAI_API_KEY & IMAGE_GEN) by @proteanx in https://github.com/elizaOS/eliza/pull/2001 -* Update plugins.md -- Allora README Fix by @kush-alloralabs in https://github.com/elizaOS/eliza/pull/2003 -* update: Readme and Comments by @rferrari in https://github.com/elizaOS/eliza/pull/2006 -* fix: Auto Client bug by @HashWarlock in https://github.com/elizaOS/eliza/pull/2007 -* chore(plugin-solana): replace console with elizaLogger by @sinecose in https://github.com/elizaOS/eliza/pull/1888 -* feat: make the birdeye api req optional by @kamalbuilds in https://github.com/elizaOS/eliza/pull/1895 -* feat: init DePIN plugin by @nicky-ru in https://github.com/elizaOS/eliza/pull/1874 -* fix: packages/adapter-postgres/schema.sql isShared needs double quote by @koofree in https://github.com/elizaOS/eliza/pull/2008 -* feat: Add approval mechanism for Twitter posts via Discord bot by @mbcse in https://github.com/elizaOS/eliza/pull/1876 -* feat: Giphy plugin - Add animated gif to conversations by @daniel-farina in https://github.com/elizaOS/eliza/pull/1873 -* Opacity Verifiable Interference zkTLS Plugin by @RonTuretzky in https://github.com/elizaOS/eliza/pull/1673 -* fix: remove near-solana slippage env conflict by @wtfsayo in https://github.com/elizaOS/eliza/pull/2016 -* feat: Update the Galadriel LLM integration to reflect their product updates by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2011 -* chore(ci): add pnpm lockfile consistency check workflow by @jonathanykh in https://github.com/elizaOS/eliza/pull/2015 -* feat: add telegram api root config in env by @dto-simba in https://github.com/elizaOS/eliza/pull/2014 -* feat: new plugin LetzAI by @mitchoz in https://github.com/elizaOS/eliza/pull/1868 -* fix: letzAi build issues by @wtfsayo in https://github.com/elizaOS/eliza/pull/2021 -* feat: plugin new RabbiTrader by @Freytes in https://github.com/elizaOS/eliza/pull/1785 -* Feature/add coinmarketcap plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1773 -* fix: remove defillama plugin & improve rabbi trader by @wtfsayo in https://github.com/elizaOS/eliza/pull/2027 -* Update README_RU.md by @WAGMIBRO in https://github.com/elizaOS/eliza/pull/2026 -* Update .env.example by @antman1p in https://github.com/elizaOS/eliza/pull/2031 -* fix: include schema.sql and seed.sql in package files by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2030 -* fix: 🚚 📚 move plugin-web-search readme to root dir by @marcellodesales in https://github.com/elizaOS/eliza/pull/1992 -* feat: full overhaul of client by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2038 -* fix: update slack client readme manifest by @AnonJon in https://github.com/elizaOS/eliza/pull/2044 -* fix: Update Key Derive in TEE by @HashWarlock in https://github.com/elizaOS/eliza/pull/2039 -* Revert "fix: Update Key Derive in TEE" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2049 -* fix: Categorize & Format .env.example by @proteanx in https://github.com/elizaOS/eliza/pull/2052 -* fix: update regex to allow Unicode characters in message processing by @taofengno1 in https://github.com/elizaOS/eliza/pull/2048 -* Fix: more specific rpc urls by @zhourunlai in https://github.com/elizaOS/eliza/pull/2018 -* feat: Proof of Pizza - Agentic Dominos Ordering by @bayological in https://github.com/elizaOS/eliza/pull/2042 -* Feature/plugin coingecko by @Lukapetro in https://github.com/elizaOS/eliza/pull/1761 -* feat: improve zkstack based plugins by @aalimsahin in https://github.com/elizaOS/eliza/pull/1821 -* feat: added nineteen.ai llm & image support by @tripathiarpan20 in https://github.com/elizaOS/eliza/pull/2022 -* feat: plugin-nft-generation support evm chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1763 -* fix: Bugfix in LetzAI Plugin -> missing named export and Plugin-type by @DanielWahl in https://github.com/elizaOS/eliza/pull/2062 -* Galadriel docs and .env.example update by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2061 -* fix: PGVector_embedding_validation (#1687) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1750 -* fix: fix multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2017 -* revert: #2048 by @wtfsayo in https://github.com/elizaOS/eliza/pull/2059 -* feat: support TEE logging and support running eliza in Intel SGX by @ShuochengWang in https://github.com/elizaOS/eliza/pull/1470 -* Update README_CN to match latest English README by @bxngxl in https://github.com/elizaOS/eliza/pull/2069 -* Fix: case-sensitive column reference in knowledge table CHECK constraint by @antman1p in https://github.com/elizaOS/eliza/pull/2058 -* docs: Update README_KOR.md by @YANGSEOKWOO in https://github.com/elizaOS/eliza/pull/2074 -* fix: Revert "feat: Proof of Pizza - Agentic Dominos Ordering" by @tcm390 in https://github.com/elizaOS/eliza/pull/2075 -* fix: rm unused imports by @mameikagou in https://github.com/elizaOS/eliza/pull/2112 -* chore: revert #1808 + add missing import for coin gecko plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2106 -* Add name and description to SttTtsPlugin by @mameikagou in https://github.com/elizaOS/eliza/pull/2117 -* fix: Apply model settings for images and remove duplicate files by @tcm390 in https://github.com/elizaOS/eliza/pull/2118 -* feat: pro api support, trending coins api by @Lukapetro in https://github.com/elizaOS/eliza/pull/2068 -* Add gemini to image vision by @web3gh in https://github.com/elizaOS/eliza/pull/2099 -* feat: Add Irys plugin by @Hugo-SEQUIER in https://github.com/elizaOS/eliza/pull/1708 -* fix: Fix plugin loading from a character.json file by @treppers in https://github.com/elizaOS/eliza/pull/2095 -* feat: add Heurist embedding model by @tsubasakong in https://github.com/elizaOS/eliza/pull/2093 -* fix: clientConfig.telegram.isPartOfTeam misstype by @rferrari in https://github.com/elizaOS/eliza/pull/2103 -* docs: Add Verified Inference docs by @maciejwitowski in https://github.com/elizaOS/eliza/pull/2125 -* fix: Update clients.md to fix package name by @prasadabhishek in https://github.com/elizaOS/eliza/pull/2091 -* feat: support autonome platform by @autonome-ai in https://github.com/elizaOS/eliza/pull/2121 -* fix: syntax issue on autonome plugin and lock file update by @wtfsayo in https://github.com/elizaOS/eliza/pull/2131 -* test: Integration Tests Enhancement and Coinbase Commerce Integration by @pgoos in https://github.com/elizaOS/eliza/pull/1767 -* fix: prevent repeated login by reusing client-twitter session by @tcm390 in https://github.com/elizaOS/eliza/pull/2129 -* fix: update lockfile and fix lint findings by @odilitime in https://github.com/elizaOS/eliza/pull/2128 -* feat: Add Akash Network plugin with autonomous deployment capabilities by @AIFlowML in https://github.com/elizaOS/eliza/pull/2111 -* feat: Lens Network Plugin by @pranjallyad in https://github.com/elizaOS/eliza/pull/2101 -* Docs improvements by @tudorpintea999 in https://github.com/elizaOS/eliza/pull/2138 -* fix: lens export name and duplicate imports by @tcm390 in https://github.com/elizaOS/eliza/pull/2142 -* Fix: Supabase updates by @antman1p in https://github.com/elizaOS/eliza/pull/2100 -* refactor: Optimize memory fetching by moving sorting and slicing to DB (PR #1531 remake) by @odilitime in https://github.com/elizaOS/eliza/pull/2135 -* feat: Add Cloudflare AI Gateway support by @w3-bounty in https://github.com/elizaOS/eliza/pull/821 -* docs: add readme portuguese version in docs by @rRogick in https://github.com/elizaOS/eliza/pull/2088 -* fix: eslint-fix-full-test-again by @AIFlowML in https://github.com/elizaOS/eliza/pull/2143 -* Fix: fix starknet plugin by replacing walletProvider with portfolio provider by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2029 -* feat: Image descriptions into interaction.ts by @denizekiz in https://github.com/elizaOS/eliza/pull/1775 -* feat: plugin-hyperliquid by @earlyvibz in https://github.com/elizaOS/eliza/pull/2141 -* feat: Add Mistral AI as new model provider by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2137 -* feat: Implement asterai plugin by @rellfy in https://github.com/elizaOS/eliza/pull/2045 -* feat: add massa-plugin by @peterjah in https://github.com/elizaOS/eliza/pull/1582 -* feat: add Quai integration by @0xalank in https://github.com/elizaOS/eliza/pull/2083 -* feat: Add DeepSeek AI provider support to Eliza by @daizhengxue in https://github.com/elizaOS/eliza/pull/2067 -* feat: Primus zkTLS plugin to fully verify agent activities by @xiangxiecrypto in https://github.com/elizaOS/eliza/pull/2086 -* fix: fix client-discord join voice action by @tcm390 in https://github.com/elizaOS/eliza/pull/2160 -* add github to client enumerations by @AnonJon in https://github.com/elizaOS/eliza/pull/2157 -* inheritance of character from parent using extends key by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/2159 -* fix: correct SUI/USD price calculation by @ChainRex in https://github.com/elizaOS/eliza/pull/2150 -* feat: solana transaction more lenient by @zhourunlai in https://github.com/elizaOS/eliza/pull/2053 -* chore: Add UUID tests and fix version 5 bits by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1362 -* Update git command for checking latest release by @velvet-shark in https://github.com/elizaOS/eliza/pull/1705 -* chore: add conditionals for supabase to agent directory by @antman1p in https://github.com/elizaOS/eliza/pull/2032 -* chore: bump develop lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/2166 -* feat: TTS(Text2Speech) with over 15 languages support! by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2110 -* test: moving uuid.tests to correct __tests__ directory by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2168 -* tests: coinbase plugin - adding tests for coinbase plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2170 -* Fix: replace invalid toghether ai medium model by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2173 -* fix: insert missing langdetect on plugin-tts package.json by @rferrari in https://github.com/elizaOS/eliza/pull/2175 -* fix(client-twitter): add mention deduplication utility by @nhodges in https://github.com/elizaOS/eliza/pull/2178 -* feat: 🎈 perf(vscode): Set file nesting for md and DockerFile by @AAAkater in https://github.com/elizaOS/eliza/pull/2177 -* fix: deepseek support in getTokenForProvider by @Riroaki in https://github.com/elizaOS/eliza/pull/2179 -* fix: remove problematic redundant uuid conversion and add api input param validations to api server by @jonathanykh in https://github.com/elizaOS/eliza/pull/2051 -* fix: fix the chat stuck in infinite loop by @zoe27 in https://github.com/elizaOS/eliza/pull/1755 -* fix: Koloxarto/fix ragknowledge for postgres by @web3gh in https://github.com/elizaOS/eliza/pull/2153 -* chore: lint and fix pass on develop by @odilitime in https://github.com/elizaOS/eliza/pull/2180 -* chore: Prep v0.1.8 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2171 - -#### New Contributors - -
-View New Contributors -* @jonathanmv made their first contribution in https://github.com/elizaOS/eliza/pull/1831 -* @bitcoinbender made their first contribution in https://github.com/elizaOS/eliza/pull/1829 -* @web3isthefuture made their first contribution in https://github.com/elizaOS/eliza/pull/1835 -* @MagikHolder made their first contribution in https://github.com/elizaOS/eliza/pull/1832 -* @manotoor made their first contribution in https://github.com/elizaOS/eliza/pull/1847 -* @RobertSloan22 made their first contribution in https://github.com/elizaOS/eliza/pull/1787 -* @macfly-base made their first contribution in https://github.com/elizaOS/eliza/pull/1827 -* @AgustinRamiroDiaz made their first contribution in https://github.com/elizaOS/eliza/pull/975 -* @MacsDickinson made their first contribution in https://github.com/elizaOS/eliza/pull/1839 -* @inferanetwork made their first contribution in https://github.com/elizaOS/eliza/pull/1860 -* @robin-rrt made their first contribution in https://github.com/elizaOS/eliza/pull/1241 -* @daniel-farina made their first contribution in https://github.com/elizaOS/eliza/pull/1861 -* @mgacek-blockydevs made their first contribution in https://github.com/elizaOS/eliza/pull/1826 -* @roshanrags made their first contribution in https://github.com/elizaOS/eliza/pull/935 -* @pedronovikovborges made their first contribution in https://github.com/elizaOS/eliza/pull/1770 -* @jazzvaz made their first contribution in https://github.com/elizaOS/eliza/pull/1807 -* @bentatum made their first contribution in https://github.com/elizaOS/eliza/pull/1828 -* @Gajesh2007 made their first contribution in https://github.com/elizaOS/eliza/pull/1558 -* @Arrowana made their first contribution in https://github.com/elizaOS/eliza/pull/1882 -* @JoeyKhd made their first contribution in https://github.com/elizaOS/eliza/pull/1881 -* @kylebuildsstuff made their first contribution in https://github.com/elizaOS/eliza/pull/1880 -* @xzrfax made their first contribution in https://github.com/elizaOS/eliza/pull/1909 -* @RatakondalaArun made their first contribution in https://github.com/elizaOS/eliza/pull/1908 -* @bodhi-crypo made their first contribution in https://github.com/elizaOS/eliza/pull/1916 -* @petryshkaCODE made their first contribution in https://github.com/elizaOS/eliza/pull/1922 -* @0xbeekeeper made their first contribution in https://github.com/elizaOS/eliza/pull/1898 -* @threewebcode made their first contribution in https://github.com/elizaOS/eliza/pull/1937 -* @shlokkhemani made their first contribution in https://github.com/elizaOS/eliza/pull/1944 -* @elpiarthera made their first contribution in https://github.com/elizaOS/eliza/pull/1818 -* @KONFeature made their first contribution in https://github.com/elizaOS/eliza/pull/1810 -* @kesar made their first contribution in https://github.com/elizaOS/eliza/pull/1954 -* @velvet-shark made their first contribution in https://github.com/elizaOS/eliza/pull/1973 -* @Saundr21 made their first contribution in https://github.com/elizaOS/eliza/pull/1960 -* @Laurentiu-Andronache made their first contribution in https://github.com/elizaOS/eliza/pull/1982 -* @Minco-Yuga made their first contribution in https://github.com/elizaOS/eliza/pull/1981 -* @0x-jj made their first contribution in https://github.com/elizaOS/eliza/pull/1968 -* @rekpero made their first contribution in https://github.com/elizaOS/eliza/pull/1966 -* @conache made their first contribution in https://github.com/elizaOS/eliza/pull/1955 -* @mbcse made their first contribution in https://github.com/elizaOS/eliza/pull/1950 -* @sekmet made their first contribution in https://github.com/elizaOS/eliza/pull/1943 -* @iankm made their first contribution in https://github.com/elizaOS/eliza/pull/1418 -* @Rahat-ch made their first contribution in https://github.com/elizaOS/eliza/pull/1621 -* @hazelnutcloud made their first contribution in https://github.com/elizaOS/eliza/pull/1902 -* @kush-alloralabs made their first contribution in https://github.com/elizaOS/eliza/pull/2003 -* @rferrari made their first contribution in https://github.com/elizaOS/eliza/pull/2006 -* @kamalbuilds made their first contribution in https://github.com/elizaOS/eliza/pull/1895 -* @koofree made their first contribution in https://github.com/elizaOS/eliza/pull/2008 -* @RonTuretzky made their first contribution in https://github.com/elizaOS/eliza/pull/1673 -* @wtfsayo made their first contribution in https://github.com/elizaOS/eliza/pull/2016 -* @kristjanpeterson1 made their first contribution in https://github.com/elizaOS/eliza/pull/2011 -* @jonathanykh made their first contribution in https://github.com/elizaOS/eliza/pull/2015 -* @dto-simba made their first contribution in https://github.com/elizaOS/eliza/pull/2014 -* @mitchoz made their first contribution in https://github.com/elizaOS/eliza/pull/1868 -* @WAGMIBRO made their first contribution in https://github.com/elizaOS/eliza/pull/2026 -* @antman1p made their first contribution in https://github.com/elizaOS/eliza/pull/2031 -* @brauliolomeli made their first contribution in https://github.com/elizaOS/eliza/pull/2030 -* @AnonJon made their first contribution in https://github.com/elizaOS/eliza/pull/2044 -* @taofengno1 made their first contribution in https://github.com/elizaOS/eliza/pull/2048 -* @bayological made their first contribution in https://github.com/elizaOS/eliza/pull/2042 -* @tripathiarpan20 made their first contribution in https://github.com/elizaOS/eliza/pull/2022 -* @DanielWahl made their first contribution in https://github.com/elizaOS/eliza/pull/2062 -* @ShuochengWang made their first contribution in https://github.com/elizaOS/eliza/pull/1470 -* @bxngxl made their first contribution in https://github.com/elizaOS/eliza/pull/2069 -* @YANGSEOKWOO made their first contribution in https://github.com/elizaOS/eliza/pull/2074 -* @mameikagou made their first contribution in https://github.com/elizaOS/eliza/pull/2112 -* @web3gh made their first contribution in https://github.com/elizaOS/eliza/pull/2099 -* @Hugo-SEQUIER made their first contribution in https://github.com/elizaOS/eliza/pull/1708 -* @maciejwitowski made their first contribution in https://github.com/elizaOS/eliza/pull/2125 -* @prasadabhishek made their first contribution in https://github.com/elizaOS/eliza/pull/2091 -* @autonome-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2121 -* @pranjallyad made their first contribution in https://github.com/elizaOS/eliza/pull/2101 -* @tudorpintea999 made their first contribution in https://github.com/elizaOS/eliza/pull/2138 -* @w3-bounty made their first contribution in https://github.com/elizaOS/eliza/pull/821 -* @rRogick made their first contribution in https://github.com/elizaOS/eliza/pull/2088 -* @Jonatan-Chaverri made their first contribution in https://github.com/elizaOS/eliza/pull/2029 -* @earlyvibz made their first contribution in https://github.com/elizaOS/eliza/pull/2141 -* @rellfy made their first contribution in https://github.com/elizaOS/eliza/pull/2045 -* @peterjah made their first contribution in https://github.com/elizaOS/eliza/pull/1582 -* @0xalank made their first contribution in https://github.com/elizaOS/eliza/pull/2083 -* @xiangxiecrypto made their first contribution in https://github.com/elizaOS/eliza/pull/2086 -* @ChainRex made their first contribution in https://github.com/elizaOS/eliza/pull/2150 -* @nhodges made their first contribution in https://github.com/elizaOS/eliza/pull/2178 -* @AAAkater made their first contribution in https://github.com/elizaOS/eliza/pull/2177 -* @Riroaki made their first contribution in https://github.com/elizaOS/eliza/pull/2179 -* @zoe27 made their first contribution in https://github.com/elizaOS/eliza/pull/1755 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 +## v0.1.8+build.1 (2025-01-12) ---- +#### Summary +This is a minor update to v0.1.8 focusing on critical fixes for security, Docker builds, and specific module issues. It addresses file upload security, PostgreSQL migration problems, and Twitter client functionality. -## v0.1.7 (January 04, 2025) +#### Key Fixes +- Fixed Docker image build process +- Updated version numbering for proper npm publication as v0.1.8 +- Implemented security improvements for file uploads (PR #1806) +- Fixed Twitter client mention deduplication (PR #2185) +- Resolved PostgreSQL adapter migration extension creation issue (PR #2188) +- Added missing LETZAI model support (PR #2187) -#### What's Changed +#### Documentation +- Added Persian README file (PR #2182) -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 -* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 -* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 -* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 -* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 -* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 -* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 -* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 -* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 -* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 -* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 -* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 -* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 -* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 -* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 -* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 -* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 -* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 -* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 -* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 -* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 -* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 -* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 -* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 -* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 -* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 -* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 -* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 -* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 -* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 -* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 -* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 -* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 -* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 -* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 -* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 -* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 -* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 -* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 -* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 -* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 -* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 -* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 -* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 -* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 -* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 -* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 -* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 -* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 -* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 -* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 -* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 -* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 -* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 -* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 -* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 -* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 -* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 -* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 -* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 -* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 -* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 -* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 -* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 -* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 -* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 -* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 -* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 -* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 -* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 -* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 -* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 -* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 -* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 -* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 -* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 -* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 -* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 -* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 -* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 -* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 -* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 -* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 -* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 -* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 -* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 -* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 -* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 -* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 -* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 -* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 -* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 -* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 -* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 -* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 -* feat: add autoscroll chat client by @swizzmagik in https://github.com/elizaOS/eliza/pull/1538 -* docs: Polish readme by @yanushevitz in https://github.com/elizaOS/eliza/pull/1537 -* Update README_CN - Model Configuration by @RedHorse823 in https://github.com/elizaOS/eliza/pull/1535 -* docs: fix grammar/typos in README by @SK1989sL in https://github.com/elizaOS/eliza/pull/1534 -* Fix: make twitter engagement criteria in prompt more focused on relevance to topics/interests/character by @e-fu in https://github.com/elizaOS/eliza/pull/1533 -* feat: improve stale pr/issue messages by @monilpat in https://github.com/elizaOS/eliza/pull/1540 -* fix: twitter usernames can start with numbers by @odilitime in https://github.com/elizaOS/eliza/pull/1541 -* Fix jsdoc automation build issue & parametrize PR branch target by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1547 -* fix: Telegram Bad Request: can't parse entities by @azep-ninja in https://github.com/elizaOS/eliza/pull/1546 -* Chore: Refactor Imports. Improve PR Template by @mgunnin in https://github.com/elizaOS/eliza/pull/1545 -* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1549 -* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1548 -* feat: add theme toggle functionality with dark and light mode support by @zkfriendly in https://github.com/elizaOS/eliza/pull/1555 -* docs: Add "What Did You Get Done This Week? #7" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1559 -* feat: (example) script to show how to add system prompt and templates to eliza with character file by @HashWarlock in https://github.com/elizaOS/eliza/pull/1554 -* feat: parse files through prettier by @shakkernerd in https://github.com/elizaOS/eliza/pull/1573 -* fix: init 768 dimension in database for gaianet by @L-jasmine in https://github.com/elizaOS/eliza/pull/1572 -* docs: overview and preview of technical report by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1574 -* feat: add TEE support for plugin-env by @samuveth in https://github.com/elizaOS/eliza/pull/1571 -* Update agents.md - minor update by @yorkerhodes3 in https://github.com/elizaOS/eliza/pull/1579 -* refactor(plugin-conflux): output detailed invalid content by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1602 -* fix: tweak transfer template of plugin-evm by @zkvm in https://github.com/elizaOS/eliza/pull/1604 -* feat: add experimental telemetry model option by @zhourunlai in https://github.com/elizaOS/eliza/pull/1603 -* docs: README.md files for plugins by @ileana-pr in https://github.com/elizaOS/eliza/pull/1601 -* feat: use tavily sdk by @zhourunlai in https://github.com/elizaOS/eliza/pull/1599 -* docs: add readme spanish version in docs by @salazarsebas in https://github.com/elizaOS/eliza/pull/1594 -* feat: add docs for image generation plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1591 -* docs: fix Contributing Guide by @0xFloyd in https://github.com/elizaOS/eliza/pull/1589 -* feat: update volcengine model by @zhourunlai in https://github.com/elizaOS/eliza/pull/1586 -* fix: update plugin-solana workspace dependencies by @shakkernerd in https://github.com/elizaOS/eliza/pull/1609 -* fix: Google API Key not passing from character file by @azep-ninja in https://github.com/elizaOS/eliza/pull/1607 -* add plugins to the key components section of the faq by @cole-gillespie in https://github.com/elizaOS/eliza/pull/1614 -* add an client-direct endpoint to get memories by agentid and roomid by @treppers in https://github.com/elizaOS/eliza/pull/1581 -* fix: Double Responses from Continue Action by @azep-ninja in https://github.com/elizaOS/eliza/pull/1606 -* Fix double spaced tweets in Post.ts by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1626 -* feat: Select a transcription provider based on the character settings. by @tcm390 in https://github.com/elizaOS/eliza/pull/1625 -* fix: turbo deps for plugin-evm by @odilitime in https://github.com/elizaOS/eliza/pull/1627 -* feat: Twitter Spaces Integration by @slkzgm in https://github.com/elizaOS/eliza/pull/1550 -* fix: corrected path for image upload by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/1632 -* chore: update viem dependency version in plugin-evm and plugin-goat by @bertux in https://github.com/elizaOS/eliza/pull/1637 -* fix: lockfile wasn't updated after dependency + bring viem to root level package.json by @monilpat in https://github.com/elizaOS/eliza/pull/1642 -* fix: Fix bug in plugin-bootstrap/src/evaluators/facts.ts by @metakai1 in https://github.com/elizaOS/eliza/pull/1648 -* Add README_AR.md by @xMariem in https://github.com/elizaOS/eliza/pull/1634 -* Added Hungarian README by @mdominikd in https://github.com/elizaOS/eliza/pull/1645 -* fix: activate web-search plugin in agents/ by @cmadaanaya in https://github.com/elizaOS/eliza/pull/1577 -* fix: 1634 fix image description service by @nusk0 in https://github.com/elizaOS/eliza/pull/1667 -* fix: Seperated imageModelProvider and imageVisionModelProvider for ImageDescriptioServices by @denizekiz in https://github.com/elizaOS/eliza/pull/1664 -* fix: Update Supabase schema.sql by @0xRider in https://github.com/elizaOS/eliza/pull/1660 -* feat: add docs for story plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1672 -* fix: add web search to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1676 -* fix: 1668 fix twitter image link by @nusk0 in https://github.com/elizaOS/eliza/pull/1671 -* chore(docs): rename ai16z/eliza to elizaOS/eliza by @9547 in https://github.com/elizaOS/eliza/pull/1679 -* fix: smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1695 -* feat: Plugin sui support for suiprivatekey0x account by @v1xingyue in https://github.com/elizaOS/eliza/pull/1693 -* docs: update README.md spelling by @SK1989sL in https://github.com/elizaOS/eliza/pull/1690 -* chore: twitter username validation message by @daizhengxue in https://github.com/elizaOS/eliza/pull/1698 -* Update README_KOR.md: Added missing sections and improved Korean translations for clarity by @gnujoow in https://github.com/elizaOS/eliza/pull/1683 -* fix(core): trimTokens no need to await by @9547 in https://github.com/elizaOS/eliza/pull/1686 -* chore: update web search plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1688 -* EVM plugin wallet provider and transfer action improvements by @nicky-ru in https://github.com/elizaOS/eliza/pull/1701 -* fix: Url fix in imagedescriptionservice by @denizekiz in https://github.com/elizaOS/eliza/pull/1696 -* feat: improve GOAT integration by allowing tool calling when using generateText by @0xaguspunk in https://github.com/elizaOS/eliza/pull/1403 -* fix: postgres-adapter - remove nonsensical schema check by @ryanleecode in https://github.com/elizaOS/eliza/pull/1377 -* fix: disable trust provider for PostGres db by @swizzmagik in https://github.com/elizaOS/eliza/pull/1536 -* fix: multiple web search import in agent by @shakkernerd in https://github.com/elizaOS/eliza/pull/1718 -* chore(zksync-era): rm not used imports by @9547 in https://github.com/elizaOS/eliza/pull/1716 -* fix: add echochambers to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1719 -* docs: update faq.md by @TresFlames in https://github.com/elizaOS/eliza/pull/1746 -* docs: update README_KOR.md by @osrm in https://github.com/elizaOS/eliza/pull/1739 -* docs: add Serbian README translation by @marsic3 in https://github.com/elizaOS/eliza/pull/1757 -* fix: Support for Non-OpenAI Models in Token Trimming by @tcm390 in https://github.com/elizaOS/eliza/pull/1605 -* fix: build lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/1759 -* fix(client): improve Windows compatibility for Vite dev server by @gmh5225 in https://github.com/elizaOS/eliza/pull/1760 -* feat: use custom conditions for live monorepo types by @ryanleecode in https://github.com/elizaOS/eliza/pull/1365 -* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1740 -* feat(plugin-near): replace console.log to eliza logger by @sinecose in https://github.com/elizaOS/eliza/pull/1745 -* Agentic Eliza Plugin Documenter - Multilingual (e.g., English, Spanish, French) by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1675 -* 🐛 fix plugins.md formatting for docs with dockerized docs validation by @marcellodesales in https://github.com/elizaOS/eliza/pull/1722 -* fix: line break handling in chat by @swizzmagik in https://github.com/elizaOS/eliza/pull/1784 -* chore: remove unused import and var by @shakkernerd in https://github.com/elizaOS/eliza/pull/1797 -* bug : Removed FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1795 -* fix(client-slack): implement Media type properties in message attachments #1384 by @AIFlowML in https://github.com/elizaOS/eliza/pull/1741 -* fix(postgres): Handle vector extension creation properly (#1561) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1743 -* Revert "fix(postgres): Handle vector extension creation properly (#1561)" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1799 -* fix: standardize ACTION_INTERVAL unit to minutes in twitter client by @sin-bufan in https://github.com/elizaOS/eliza/pull/1738 -* refactor: client api by @aalimsahin in https://github.com/elizaOS/eliza/pull/1713 -* feat: Simulate discord typing while generating a response by @dxlliv in https://github.com/elizaOS/eliza/pull/1712 -* fix: bugfix. the port 80 is not listening use 3000 by @jmikedupont2 in https://github.com/elizaOS/eliza/pull/1616 -* chore: install with no frozen-lockfile flag by @shakkernerd in https://github.com/elizaOS/eliza/pull/1802 -* fix: generation tests for trimTokens by @shakkernerd in https://github.com/elizaOS/eliza/pull/1803 -* chore: bump version to v.0.1.7 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1804 -* chore: Develop => main for 1.7.0 release by @odilitime in https://github.com/elizaOS/eliza/pull/1717 - -#### New Contributors - -
-View New Contributors -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 -* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 -* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 -* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 -* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 -* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 -* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 -* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 -* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 -* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 -* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 -* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 -* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 -* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 -* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 -* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 -* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 -* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 -* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 -* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 -* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 -* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 -* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 -* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 -* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 -* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 -* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 -* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 -* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 -* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 -* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 -* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 -* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 -* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 -* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 -* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 -* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 -* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 -* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 -* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 -* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 -* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 -* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 -* @yanushevitz made their first contribution in https://github.com/elizaOS/eliza/pull/1537 -* @RedHorse823 made their first contribution in https://github.com/elizaOS/eliza/pull/1535 -* @SK1989sL made their first contribution in https://github.com/elizaOS/eliza/pull/1534 -* @mgunnin made their first contribution in https://github.com/elizaOS/eliza/pull/1545 -* @zkfriendly made their first contribution in https://github.com/elizaOS/eliza/pull/1555 -* @yorkerhodes3 made their first contribution in https://github.com/elizaOS/eliza/pull/1579 -* @bendanzhentan made their first contribution in https://github.com/elizaOS/eliza/pull/1602 -* @zhourunlai made their first contribution in https://github.com/elizaOS/eliza/pull/1603 -* @salazarsebas made their first contribution in https://github.com/elizaOS/eliza/pull/1594 -* @0xFloyd made their first contribution in https://github.com/elizaOS/eliza/pull/1589 -* @cole-gillespie made their first contribution in https://github.com/elizaOS/eliza/pull/1614 -* @treppers made their first contribution in https://github.com/elizaOS/eliza/pull/1581 -* @slkzgm made their first contribution in https://github.com/elizaOS/eliza/pull/1550 -* @ShreyGanatra made their first contribution in https://github.com/elizaOS/eliza/pull/1632 -* @bertux made their first contribution in https://github.com/elizaOS/eliza/pull/1637 -* @metakai1 made their first contribution in https://github.com/elizaOS/eliza/pull/1648 -* @xMariem made their first contribution in https://github.com/elizaOS/eliza/pull/1634 -* @mdominikd made their first contribution in https://github.com/elizaOS/eliza/pull/1645 -* @cmadaanaya made their first contribution in https://github.com/elizaOS/eliza/pull/1577 -* @nusk0 made their first contribution in https://github.com/elizaOS/eliza/pull/1667 -* @0xRider made their first contribution in https://github.com/elizaOS/eliza/pull/1660 -* @daizhengxue made their first contribution in https://github.com/elizaOS/eliza/pull/1698 -* @gnujoow made their first contribution in https://github.com/elizaOS/eliza/pull/1683 -* @affaan-m made their first contribution in https://github.com/elizaOS/eliza/pull/1688 -* @TresFlames made their first contribution in https://github.com/elizaOS/eliza/pull/1746 -* @osrm made their first contribution in https://github.com/elizaOS/eliza/pull/1739 -* @marsic3 made their first contribution in https://github.com/elizaOS/eliza/pull/1757 -* @gmh5225 made their first contribution in https://github.com/elizaOS/eliza/pull/1760 -* @sinecose made their first contribution in https://github.com/elizaOS/eliza/pull/1745 -* @marcellodesales made their first contribution in https://github.com/elizaOS/eliza/pull/1722 -* @aalimsahin made their first contribution in https://github.com/elizaOS/eliza/pull/1713 -* @dxlliv made their first contribution in https://github.com/elizaOS/eliza/pull/1712 -* @jmikedupont2 made their first contribution in https://github.com/elizaOS/eliza/pull/1616 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 +This build release provides essential fixes that improve security and stability without introducing new features. --- -## v0.1.7-alpha.2 (December 28, 2024) - -#### Features - -- New default character ([#1453](https://github.com/elizaOS/eliza/pull/1453)) -- Handle long tweets ([#1339](https://github.com/elizaOS/eliza/pull/1339), [#1520](https://github.com/elizaOS/eliza/pull/1520)) -- Custom System Prompt Support for plugin-image-generation ([#839](https://github.com/elizaOS/eliza/pull/839)) -- Add /:agentId/speak endpoint for text-to-speech ([#1528](https://github.com/elizaOS/eliza/pull/1528)) -- Add Livepeer Image Provider ([#1525](https://github.com/elizaOS/eliza/pull/1525)) -- Add Text to 3D function ([#1446](https://github.com/elizaOS/eliza/pull/1446)) -- Add GitBook Plugin provider ([#1126](https://github.com/elizaOS/eliza/pull/1126)) -- Add abstract plugin ([#1225](https://github.com/elizaOS/eliza/pull/1225)) -- Add avalanche plugin ([#842](https://github.com/elizaOS/eliza/pull/842)) -- Add FerePro plugin ([#1502](https://github.com/elizaOS/eliza/pull/1502)) -- Add Cronos ZKEVM plugin ([#1464](https://github.com/elizaOS/eliza/pull/1464)) -- Add plugin for Cronos ZKEVM ([#1464](https://github.com/elizaOS/eliza/pull/1464)) -- Add Venice style presets & option to remove watermark ([#1410](https://github.com/elizaOS/eliza/pull/1410)) -- Client-GitHub retry ([#1425](https://github.com/elizaOS/eliza/pull/1425)) -- Add ModelConfiguration to Character ([#1455](https://github.com/elizaOS/eliza/pull/1455)) -- Use OPENAI_API_URL for custom API endpoint ([#1522](https://github.com/elizaOS/eliza/pull/1522)) - -#### Fixes - -- Multiple Agents running at the same time on localhost ([#1415](https://github.com/elizaOS/eliza/pull/1415)) -- tags in templates/examples empty when passed to LLM ([#1305](https://github.com/elizaOS/eliza/pull/1305)) -- Postgres adapter settings not being applied ([#1379](https://github.com/elizaOS/eliza/pull/1379)) -- ImageModelProvider API key selection fallback ([#1272](https://github.com/elizaOS/eliza/pull/1272)) -- Swap and bridge actions in plugin-evm ([#1456](https://github.com/elizaOS/eliza/pull/1456)) -- Twitter search feature ([#1433](https://github.com/elizaOS/eliza/pull/1433)) -- Twitter dry run mode and configuration logging ([#1498](https://github.com/elizaOS/eliza/pull/1498)) -- Fix Twitter plugin interaction prompts ([#1469](https://github.com/elizaOS/eliza/pull/1469)) -- LowerCase bug and environment cleanup in Twitter client ([#1514](https://github.com/elizaOS/eliza/pull/1514)) -- Cleaner prompts in Twitter plugin ([#1472](https://github.com/elizaOS/eliza/pull/1472)) -- Twitter login notifications, incorrect cookie management ([#1330](https://github.com/elizaOS/eliza/pull/1330)) -- Duplicate tweet log ([#1402](https://github.com/elizaOS/eliza/pull/1402)) -- Explicitly set env in each step ([#1374](https://github.com/elizaOS/eliza/pull/1374)) -- Incorrect link redirection issue ([#1443](https://github.com/elizaOS/eliza/pull/1443)) -- Remove code duplication in getGoals call ([#1450](https://github.com/elizaOS/eliza/pull/1450)) -- Client type identification with test coverage ([#1490](https://github.com/elizaOS/eliza/pull/1490)) -- Required incremental option in TypeScript configuration ([#1485](https://github.com/elizaOS/eliza/pull/1485)) - -#### Complete Changelog - -* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 -* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 -* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 -* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 -* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 -* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 -* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 -* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 -* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 -* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 -* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 -* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 -* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 -* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 -* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 -* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 -* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 -* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 -* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 -* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 -* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 -* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 -* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 -* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 -* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 -* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 -* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 -* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 -* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 -* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 -* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 -* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 -* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 -* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 -* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 -* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 -* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 -* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 -* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 -* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 -* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 -* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 -* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 -* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 -* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 -* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 -* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 -* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 -* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 -* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 -* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 -* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 -* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 -* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 -* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 -* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 -* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 -* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 -* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 -* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 -* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 -* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 -* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 -* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 -* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 -* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 -* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 -* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 -* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 -* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 -* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 -* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 -* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 -* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 -* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 -* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 -* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 -* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 -* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 -* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 -* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 -* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 -* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 -* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 -* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 -* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 -* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 -* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 -* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 -* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 -* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 -* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 -* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 -* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 - -#### New Contributors - -
-View New Contributors -* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 -* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 -* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 -* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 -* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 -* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 -* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 -* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 -* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 -* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 -* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 -* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 -* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 -* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 -* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 -* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 -* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 -* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 -* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 -* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 -* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 -* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 -* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 -* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 -* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 -* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 -* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 -* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 -* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 -* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 -* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 -* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 -* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 -* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 -* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 -* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 -* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 -* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 -* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 -* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 -* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 -* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 +## v0.1.8-alpha.1 (2025-01-01) ---- +#### Summary +This minor alpha release contains blockchain sector diagram updates and plugin description corrections. -## v0.1.7-alpha.1 (December 22, 2024) +#### Changes +- Added 0G to blockchain sector diagram (PR #2204) +- Fixed SentientAI description in plugin-depin (PR #2668) -#### What's Changed +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 - -#### New Contributors - -
-View New Contributors -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 -
- -#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.2 +--- -#### What's Changed +## Version 0.1.8 (2025-01-12) + +#### Major Features +- **TTS (Text2Speech)**: Added support for over 15 languages (#2110) +- **AI Providers**: + - Added Cloudflare AI Gateway support (#821) + - Integrated Mistral AI as a new model provider (#2137) + - Added DeepSeek AI provider (#2067) + - Added Heurist embedding model (#2093) +- **Infrastructure**: + - Added support for TEE logging and Intel SGX (#1470) + - Implemented Pro API support with trending coins API (#2068) +- **Blockchain Plugins**: + - Added Irys plugin (#1708) + - Added Akash Network plugin with autonomous deployment capabilities (#2111) + - Added Lens Network Plugin (#2101) + - Added Hyperliquid plugin (#2141) + - Added Asterai plugin (#2045) + - Added Massa plugin (#1582) + - Added Quai integration (#2083) + - Implemented Primus zkTLS plugin to verify agent activities (#2086) + - Modified Solana transactions to be more lenient (wait for confirmed instead of finalized) (#2053) -* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 -* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 -* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 -* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 -* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 -* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 -* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 -* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 -* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 -* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 -* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 -* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 -* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 -* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 -* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 -* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 -* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 -* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 -* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 - -#### New Contributors - -* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 -* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 -* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 -* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 -* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 -* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 - -**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 +#### Bug Fixes +- Fixed plugin loading from character.json files (#2095) +- Prevented repeated login by reusing client-twitter session (#2129) +- Fixed chat getting stuck in infinite loop (#1755) +- Fixed client-discord join voice action (#2160) +- Replaced invalid together.ai medium model (#2173) +- Fixed missing langdetect in plugin-tts package.json (#2175) +- Fixed model settings for images and removed duplicate files (#2118) +- Fixed clientConfig.telegram.isPartOfTeam type (#2103) +- Fixed starknet plugin by replacing walletProvider with portfolio provider (#2029) +- Corrected SUI/USD price calculation (#2150) +- Fixed DeepSeek support in getTokenForProvider (#2179) +- Updated Supabase components (#2100) +- Fixed RAG knowledge for Postgres (#2153) +- Fixed case-sensitive column reference in knowledge table CHECK constraint (#2058) + +#### Technical Improvements +- Applied syntax fixes for autonome plugin and updated lock file (#2131) +- Fixed lens export name and duplicate imports (#2142) +- Fixed double responses from Continue Action (#1606) +- Fixed double spaced tweets in Post.ts (#1626) +- Added ability to select transcription provider based on character settings (#1625) +- Fixed image description service (#1667) +- Separated imageModelProvider and imageVisionModelProvider for ImageDescriptionServices (#1664) +- Updated Supabase schema.sql (#1660) +- Fixed Twitter image link issues (#1671) + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 --- -## v0.1.6-alpha.5 (December 21, 2024) +## Version 0.1.7 (2025-01-04) -#### What's Changed +#### New Features +- **UI/UX**: + - Added text to 3D function (#1446) + - Added custom system prompt support for image generation (#839) + - Added /:agentId/speak endpoint for text-to-speech (#1528) + - Added Livepeer Image Provider (#1525) + - Added autoscroll chat client (#1538) + - Added theme toggle with dark/light mode support (#1555) + +- **Plugins and Integration**: + - Added Abstract plugin (#1225) + - Added Avalanche plugin (#842) + - Added Cronos ZKEVM plugin (#1464) + - Added GitBook Plugin provider (#1126) + - Added Venice style presets & watermark removal option (#1410) + - Added FerePro plugin (#1502) + - Added Fuel plugin (#1512) + +- **Development**: + - Added ModelConfiguration to Character for temperature/response control (#1455) + - Added support for custom OpenAI API endpoint via OPENAI_API_URL (#1522) + - Added client-github retry functionality (#1425) + - Added dynamic watch paths for agent development (#931) + - Added Redis Cache Implementation (#1279, #1295) + +#### Client Improvements +- **Twitter**: + - Enhanced Twitter client with cookie validation and retry (#856) + - Improved Tweet handling for long content (#1339, #1520) + - Enhanced Twitter Post Action Implementation (#1422) + - Improved Twitter client dry run mode and configuration (#1498) + - Fixed Twitter engagement criteria in prompt (#1533) + +- **Discord/Telegram**: + - Added Discord Team features (#1032) + - Added Telegram Team features (#1033) + - Added parse mode=Markdown for Telegram output (#1229) + - Fixed multiple Discord bots joining voice channels (#1156) + +#### Bug Fixes +- Fixed multiple agents running on localhost simultaneously (#1415) +- Fixed image model provider API key selection fallback (#1272) +- Fixed empty tags in templates/examples passed to LLM (#1305) +- Fixed postgres adapter settings not being applied (#1379) +- Fixed swap and bridge actions in plugin-evm (#1456) +- Fixed Twitter search feature (#1433) +- Fixed duplicate twitter posts (#1472) +- Fixed client type identification with test coverage (#1490) +- Fixed Twitter username validation to allow numbers (#1541) + +#### Technical Improvements +- Improved TypeScript configuration with incremental option (#1485) +- Improved chat formatting for line breaks (#1483) +- Extended parseBooleanFromText function with additional values (#1501) +- Made express payload limit configurable (#1245) +- Made Twitter login retry attempts configurable (#1244) +- Added callback to the runtime evaluate method (#938) +- Synced UI Client with server port env (#1239) + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 -* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 -* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 -* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 -* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 -* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 -* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 -* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 -* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 -* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 -* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 -* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 -* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 -* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 -* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 -* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 -* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 -* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 -* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 -* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 -* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 -* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 -* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 -* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 -* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 -* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 -* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 -* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 -* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 -* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 -* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 -* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 -* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 -* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 -* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 -* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 -* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 -* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 -* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 -* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 -* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 -* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 -* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 -* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 -* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 -* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 -* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 -* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 -* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 -* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 - -#### New Contributors - -
-View New Contributors -* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 -* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 -* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 -* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 -* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 -* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 -* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 -* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 -* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 -* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 -* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 -* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 -* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 -* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 -* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 -* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 --- -## v0.1.6 (December 21, 2024) +## Version 0.1.7-alpha.2 (2024-12-28) + +#### New Components +- Added a new default character (#1453) +- Added Text to 3D function (#1446) +- Added /:agentId/speak endpoint for text-to-speech functionality (#1528) +- Added Livepeer Image Provider for image generation (#1525) +- Added support for Custom System Prompts in plugin-image-generation (#839) + +#### Content Handling +- Improved handling of long tweets (#1339, #1520) +- Enhanced Twitter Post Action Implementation (#1422) +- Added image features to react chat client (#1481) +- Improved chat formatting for line breaks (#1483) + +#### Plugins +- Added GitBook Plugin provider (#1126) +- Added Abstract plugin (#1225) +- Added Avalanche plugin (#842) +- Added FerePro plugin (#1502) +- Added Cronos ZKEVM plugin (#1464) +- Added Fuel plugin (#1512) +- Added Venice style presets with option to remove watermark (#1410) +- Added AlienX chain to plugin-evm (#1438) + +#### Client Improvements +- Enhanced client-github with retry capability (#1425) +- Enhanced client-direct functionality (#1479) +- Added client-discord chat_with_attachment action flexibility to use any tiktoken model (#1408) +- Implemented timeline fetching for followed accounts in Twitter client (#1475) + +#### Technical Enhancements +- Added ModelConfiguration to Character for adjusting temperature, response length & penalties (#1455) +- Added support for custom OpenAI API endpoint via OPENAI_API_URL (#1522) +- Extended parseBooleanFromText function with additional boolean values (#1501) +- Added agentic JSDoc generation (#1343) +- Added support for passing secrets through environment (#1454) + +#### Twitter Client +- Fixed duplicate tweet log (#1402) +- Fixed duplicate twitter post issues (#1472) +- Fixed search feature in twitter client (#1433) +- Improved Twitter client dry run mode and configuration logging (#1498) +- Improved interaction prompts in the Twitter plugin (#1469) +- Fixed client-twitter lowercase bug and environment cleanup (#1514) +- Fixed ENABLE_ACTION_PROCESSING logic in Twitter client (#1463) +- Fixed Twitter login notifications and cookie management (#1330) + +#### System Issues +- Fixed multiple agents running simultaneously on localhost (#1415) +- Fixed postgres adapter settings not being applied (#1379) +- Fixed imageModelProvider API key selection fallback (#1272) +- Fixed empty tags in templates/examples when passed to LLM (#1305) +- Fixed swap and bridge actions in plugin-evm (#1456) +- Fixed incorrect link redirection issue (#1443) +- Fixed code duplication in getGoals call (#1450) +- Improved client type identification with test coverage (#1490) +- Added required incremental option and fixed TypeScript configuration (#1485) +- Fixed type imports from 'elizaos' (#1492) + +#### Documentation and Testing +- Added documentation for plugin-nft-generation (#1327) +- Added readme files for ton plugin (#1496) and websearch plugin (#1494) +- Added CODE_OF_CONDUCT.md (#1487) +- Fixed documentation links in eliza-in-tee.md (#1500) +- Added Cleanstart options for new database (#1449) + + +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 -#### What's Changed +--- -* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 -* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 -* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 -* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 -* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 -* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 -* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 -* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 -* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 -* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 -* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 -* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 -* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 -* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 -* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 -* use github access token by @tcm390 in https://github.com/ai16z/eliza/pull/825 -* loading indicator by @tcm390 in https://github.com/ai16z/eliza/pull/827 -* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 -* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 -* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 -* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 -* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 -* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 -* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 -* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 -* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 -* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 -* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 -* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 -* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 -* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 -* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 -* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 -* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 -* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 -* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 -* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 -* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 -* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 -* fix: re-enable coverage report upload to Codecov in CI workflow by @snobbee in https://github.com/ai16z/eliza/pull/880 -* chore: disable building docs on build command by @shakkernerd in https://github.com/ai16z/eliza/pull/884 -* feat: Add Flow Blockchain plugin by @btspoony in https://github.com/ai16z/eliza/pull/874 -* chore: enhance dev script, performance improvement and add help message by @shakkernerd in https://github.com/ai16z/eliza/pull/887 -* chore: added more help message to the important notice text. by @shakkernerd in https://github.com/ai16z/eliza/pull/891 -* chore: improved dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/892 -* fix: twitter actions not triggering by @cygaar in https://github.com/ai16z/eliza/pull/903 -* chore: update models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/890 -* fix: evaluation json parsing by @cygaar in https://github.com/ai16z/eliza/pull/907 -* docs: Add What Did You Get Done This Week #4 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/895 -* feat: create README_TH.md by @asianviking in https://github.com/ai16z/eliza/pull/918 -* feat: update gaianet config by @L-jasmine in https://github.com/ai16z/eliza/pull/915 -* feat: allow users to configure models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/910 -* chore: Consistent language for Community & Contact link label by @golryang in https://github.com/ai16z/eliza/pull/899 -* chore: deprecate text based way of generating JSON by @monilpat in https://github.com/ai16z/eliza/pull/920 -* fix: Farcater client cleanup and fixed response logic by @sayangel in https://github.com/ai16z/eliza/pull/914 -* feat: MAX_TWEET_LENGTH env implementation by @onur-saf in https://github.com/ai16z/eliza/pull/912 -* feat: implement advanced coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/725 -* feat: add dynamic watch paths for agent development by @samuveth in https://github.com/ai16z/eliza/pull/931 -* fix: use of Heurist model env vars by @boxhock in https://github.com/ai16z/eliza/pull/924 -* fix: update quickstart and .env.example by @oxSaturn in https://github.com/ai16z/eliza/pull/932 -* feat: add readContract / invokeContract functionality to Coinbase plugin by @monilpat in https://github.com/ai16z/eliza/pull/923 -* fix: telegram response memory userId to agentId by @bmgalego in https://github.com/ai16z/eliza/pull/948 -* feat: Config eternalai model from env by @genesis-0000 in https://github.com/ai16z/eliza/pull/927 -* feat: add hyperbolic api to eliza by @meppsilon in https://github.com/ai16z/eliza/pull/828 -* docs: add WSL installation guide by @ileana-pr in https://github.com/ai16z/eliza/pull/946 -* fix: Revert "docs: add WSL installation guide" by @monilpat in https://github.com/ai16z/eliza/pull/959 -* Fix farcaster client process action issue by @sin-bufan in https://github.com/ai16z/eliza/pull/963 -* fix(agent): correct EVM plugin activation condition by @0xAsten in https://github.com/ai16z/eliza/pull/962 -* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/ai16z/eliza/pull/960 -* feat: Supports upload files to AWS S3. by @xwxtwd in https://github.com/ai16z/eliza/pull/941 -* fix: update package name in faq by @oxSaturn in https://github.com/ai16z/eliza/pull/937 -* feat: process all responses actions by @bmgalego in https://github.com/ai16z/eliza/pull/940 -* chore: 947 add other evm chains to wallet by @n00b21337 in https://github.com/ai16z/eliza/pull/949 -* feat: add dev script to plugin-aptos by @asianviking in https://github.com/ai16z/eliza/pull/956 -* feat: Add hyperbolic env vars to override model class by @meppsilon in https://github.com/ai16z/eliza/pull/974 -* chore: pass env variables when setting up GOAT and update GOAT readme by @0xaguspunk in https://github.com/ai16z/eliza/pull/898 -* feat: Add TEE Mode to Solana Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/835 -* chore: fix broken lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/977 -* fix: revert llamacloud endpoint change by @odilitime in https://github.com/ai16z/eliza/pull/954 -* feat: add callback handler to runtime evaluate method by @bmgalego in https://github.com/ai16z/eliza/pull/938 -* fix: docker trying to filter out missing docs package by @odilitime in https://github.com/ai16z/eliza/pull/978 -* chore: rename intiface plugin by @odilitime in https://github.com/ai16z/eliza/pull/955 -* feat: allow character.json settings models for open router by @odilitime in https://github.com/ai16z/eliza/pull/953 -* LinkedIn Client by @bkellgren in https://github.com/ai16z/eliza/pull/973 -* fix: a typo in characterfile.md by @oxSaturn in https://github.com/ai16z/eliza/pull/986 -* fix: Goat Plugin + AWS S3 Service error when env vars absent by @jnaulty in https://github.com/ai16z/eliza/pull/985 -* docs: add WSL Setup Guide to documentation by @ileana-pr in https://github.com/ai16z/eliza/pull/983 -* chore: add how to startup chat ui by @yodamaster726 in https://github.com/ai16z/eliza/pull/976 -* feat: flow update generate object by @btspoony in https://github.com/ai16z/eliza/pull/929 -* feat : github image cicd by @v1xingyue in https://github.com/ai16z/eliza/pull/889 -* feat: Add NanoGPT provider by @dylan1951 in https://github.com/ai16z/eliza/pull/926 -* fix: Fix Twitter Search Logic and Add Galadriel Image Model by @dontAskVI in https://github.com/ai16z/eliza/pull/994 -* feat: create README_DE.md by @GottliebFreudenreich in https://github.com/ai16z/eliza/pull/995 -* test: adding parsing tests. changed files parsing.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/996 -* feat: allow users to configure models for openai and anthropic by @oxSaturn in https://github.com/ai16z/eliza/pull/999 -* fix: typo initialize by @cryptofish7 in https://github.com/ai16z/eliza/pull/1000 -* fix: add callback to action in farcaster client by @sin-bufan in https://github.com/ai16z/eliza/pull/1002 -* chore: Bring Develop up to date with HEAD by @odilitime in https://github.com/ai16z/eliza/pull/1006 -* feat: twitter client enhancements by @tharak123455 in https://github.com/ai16z/eliza/pull/913 -* docs: Add templates documentation to the project by @Lukapetro in https://github.com/ai16z/eliza/pull/1013 -* feat: Plugin evm multichain by @nicky-ru in https://github.com/ai16z/eliza/pull/1009 -* test: Initial release of smoke/integration tests + testing framework by @jzvikart in https://github.com/ai16z/eliza/pull/993 -* docs: "AI Agent Dev School Part 4" livestream notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1015 -* chore: Twitter search switch by @odilitime in https://github.com/ai16z/eliza/pull/1003 -* feat: improve Twitter client with action processing by @dorianjanezic in https://github.com/ai16z/eliza/pull/1007 -* fix: refactor contributor page by @tcm390 in https://github.com/ai16z/eliza/pull/809 -* chore: Update CI configuration to enable test coverage and add covera… by @snobbee in https://github.com/ai16z/eliza/pull/1019 -* chore: Twitter fetchHomeTimeline rework by @odilitime in https://github.com/ai16z/eliza/pull/1021 -* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1024 -* feat: Add custom fetch logic for agent by @v1xingyue in https://github.com/ai16z/eliza/pull/1010 -* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1025 -* add echochambers by @savageops in https://github.com/ai16z/eliza/pull/997 -* chore: Push Develop into Main by @odilitime in https://github.com/ai16z/eliza/pull/1028 -* feat: create example folder with example plugin by @monilpat in https://github.com/ai16z/eliza/pull/1004 -* feat: add venice.ai api model provider by @proteanx in https://github.com/ai16z/eliza/pull/1008 -* feat: Add AI Agent Dev School Tutorial Link by @lalalune in https://github.com/ai16z/eliza/pull/1038 -* feat: Add Discord Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1032 -* docs: characterfile.md docs outdated with latest eliza version by @tqdpham96 in https://github.com/ai16z/eliza/pull/1042 -* feat: improve voice processing and add deepgram transcription option by @tcm390 in https://github.com/ai16z/eliza/pull/1026 -* fix: use pull_request_target for integration tests by @jnaulty in https://github.com/ai16z/eliza/pull/1035 -* feat: client-discord stop implementation / agent improvements by @odilitime in https://github.com/ai16z/eliza/pull/1029 -* fix: re-enable generateNewTweetLoop / lint fixes by @odilitime in https://github.com/ai16z/eliza/pull/1043 -* chore: release develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1045 -* chore: improve smokeTests environment validation and logging by @aramxc in https://github.com/ai16z/eliza/pull/1046 -* fix: add auto to clients in types to use client-auto by @HashWarlock in https://github.com/ai16z/eliza/pull/1050 -* feat: add/change change through REST api (client-direct) by @odilitime in https://github.com/ai16z/eliza/pull/1052 -* fix: discord client ci issues by @cygaar in https://github.com/ai16z/eliza/pull/1054 -* fix: Fix pnpm lockfiles by @jzvikart in https://github.com/ai16z/eliza/pull/1055 -* fix: Allow bot to post tweets with images generated by the imageGenerationPlugin by @tcm390 in https://github.com/ai16z/eliza/pull/1040 -* feat: Add Telegram Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1033 -* feat: add venice.ai image generation by @proteanx in https://github.com/ai16z/eliza/pull/1057 -* feat: improve X/Twitter login with cookie validation and retry mechanism by @arslanaybars in https://github.com/ai16z/eliza/pull/856 -* feat: create README_VI.md by @tqdpham96 in https://github.com/ai16z/eliza/pull/1058 -* Update docs (CONTRIBUTING.md) by @lessuselesss in https://github.com/ai16z/eliza/pull/1053 -* feat: add README_TH.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1034 -* feat: multiversx plugin by @mgavrila in https://github.com/ai16z/eliza/pull/860 -* feat: Add NEAR Protocol plugin by @serrrfirat in https://github.com/ai16z/eliza/pull/847 -* chore: commented out unused variables in solana swap action's plugin by @shakkernerd in https://github.com/ai16z/eliza/pull/1073 -* fix: incorrect eslint config file path by @shakkernerd in https://github.com/ai16z/eliza/pull/1074 -* feat: add plugin-ton by @jinbangyi in https://github.com/ai16z/eliza/pull/1039 -* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1075 -* chore: Update package.json by @Freytes in https://github.com/ai16z/eliza/pull/1031 -* chore: improve eslint by --cache by @shengxj1 in https://github.com/ai16z/eliza/pull/1056 -* fix: missing eslint config file by @shakkernerd in https://github.com/ai16z/eliza/pull/1076 -* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1077 -* Add slack plugin by @AIFlowML in https://github.com/ai16z/eliza/pull/859 -* fix: errors in swap action in plugin-near by @shakkernerd in https://github.com/ai16z/eliza/pull/1078 -* Adding plugin for ZKsync Era by @arose00 in https://github.com/ai16z/eliza/pull/906 -* fix: transfer action linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1079 -* chore: add npmignore file by @shakkernerd in https://github.com/ai16z/eliza/pull/1080 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1081 -* fix: eslint command by @shakkernerd in https://github.com/ai16z/eliza/pull/1082 -* chore: remove unnecessary packages by @shakkernerd in https://github.com/ai16z/eliza/pull/1083 -* fix: dynamic import of fs module by @shakkernerd in https://github.com/ai16z/eliza/pull/1084 -* chore: remove unused imports and rename runtime variable by @shakkernerd in https://github.com/ai16z/eliza/pull/1085 -* fix: client slack linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1086 -* fix: syntax error: invalid arithmetic operator by @shakkernerd in https://github.com/ai16z/eliza/pull/1088 -* chore: increase timeout to 3mins by @shakkernerd in https://github.com/ai16z/eliza/pull/1092 -* chore: kill pnpm start by @shakkernerd in https://github.com/ai16z/eliza/pull/1093 -* chore: debugging start behaviour by @shakkernerd in https://github.com/ai16z/eliza/pull/1094 -* docs: add README.md to plugin-evm by @nicky-ru in https://github.com/ai16z/eliza/pull/1095 -* fix: return types of createAgent & startAgent by @BlockJuic3 in https://github.com/ai16z/eliza/pull/1097 -* feat: Smoke Test script by @shakkernerd in https://github.com/ai16z/eliza/pull/1101 -* feat: allow users to configure models for grok by @oxSaturn in https://github.com/ai16z/eliza/pull/1091 -* test: adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/998 -* chore: improving client typing by @BalanaguYashwanth in https://github.com/ai16z/eliza/pull/1036 -* fix: handle no termination message by @shakkernerd in https://github.com/ai16z/eliza/pull/1102 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1103 -* fix: Fixed twitter posts include from including `/n` in the text by @Titan-Node in https://github.com/ai16z/eliza/pull/1070 -* fix: add missing imports by @shakkernerd in https://github.com/ai16z/eliza/pull/1104 -* chore: improve formatting of .env.example for better readability by @guzus in https://github.com/ai16z/eliza/pull/897 -* feat: Lens client by @imthatcarlos in https://github.com/ai16z/eliza/pull/1098 -* feat: Add plugin-nft-generation: create Solana NFT collections. by @xwxtwd in https://github.com/ai16z/eliza/pull/1011 -* Documentation: Plugin list numbering and titles by @brunocalmels in https://github.com/ai16z/eliza/pull/1107 -* feat: add plugin-sui by @jnaulty in https://github.com/ai16z/eliza/pull/934 -* feat: plugin-story by @jacob-tucker in https://github.com/ai16z/eliza/pull/1030 -* Fix/charity by @awidearray in https://github.com/ai16z/eliza/pull/852 -* Feat: Update community section of docs by @madjin in https://github.com/ai16z/eliza/pull/1111 -* fix: Revert "Feat: Update community section of docs" by @monilpat in https://github.com/ai16z/eliza/pull/1112 -* feat: New docs for community section by @madjin in https://github.com/ai16z/eliza/pull/1114 -* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1115 -* fix: load image from diff endpoints by @qgpcybs in https://github.com/ai16z/eliza/pull/837 -* feat: Updated characters types, Discord & Telegram enhancements by @azep-ninja in https://github.com/ai16z/eliza/pull/957 -* FAL image settings escape hatch by @daojonesceo in https://github.com/ai16z/eliza/pull/814 -* fix: add more heplful default agents (Dobby and C3PO) by @n00b21337 in https://github.com/ai16z/eliza/pull/1124 -* fix: discord client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1125 -* fix: Refactor to prevent unnecessary lockfile changes by @monilpat in https://github.com/ai16z/eliza/pull/1120 -* fix: fix the name by @n00b21337 in https://github.com/ai16z/eliza/pull/1133 -* feat: Add `chatapi.akash.network` to available list of model providers (FREE LLAMA API ACCESS!) by @MbBrainz in https://github.com/ai16z/eliza/pull/1131 -* feat: add support for handlebars templating engine as an option by @erise133 in https://github.com/ai16z/eliza/pull/1136 -* clean newlines for new tweet by @owlcode in https://github.com/ai16z/eliza/pull/1141 -* fix: telegram client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1140 -* fix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash by @FWangZil in https://github.com/ai16z/eliza/pull/965 -* feat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana by @0xNerd in https://github.com/ai16z/eliza/pull/1135 -* chore: remove comment by @shakkernerd in https://github.com/ai16z/eliza/pull/1143 -* fix: remove docker compose command since Docker file already runs by @rarepepi in https://github.com/ai16z/eliza/pull/1139 -* fix: improve fomo integration by @odilitime in https://github.com/ai16z/eliza/pull/1147 -* chore: fix PR #1147 by @odilitime in https://github.com/ai16z/eliza/pull/1148 -* chore: Merge monday, merging develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1144 -* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 -* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 -* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 -* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 -* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 -* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 -* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 -* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 -* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 -* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 -* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 -* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 -* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 -* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 -* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 -* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 -* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 -* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 -* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 -* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 -* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 -* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 -* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 -* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 -* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 -* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 -* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 -* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 -* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 -* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 -* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 -* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 -* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 -* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 -* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 -* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 -* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 -* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 -* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 -* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 -* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 -* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 -* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 -* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 -* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 -* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 -* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 -* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 -* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 -* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 -* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 -* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 -* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 -* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 -* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 -* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 -* fix: remove clients from default character by @shakkernerd in https://github.com/ai16z/eliza/pull/1297 -* fix: default character model to LLAMALOCAL by @shakkernerd in https://github.com/ai16z/eliza/pull/1299 -* feat: release version 0.1.6 by @shakkernerd in https://github.com/ai16z/eliza/pull/1300 - -#### New Contributors - -
-View New Contributors -* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 -* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 -* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 -* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 -* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 -* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 -* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 -* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 -* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 -* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 -* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 -* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 -* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 -* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 -* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 -* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 -* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 -* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 -* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 -* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 -* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 -* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 -* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 -* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 -* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 -* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 -* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 -* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 -* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 -* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 -* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 -* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 -* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 -* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 -* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 -* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 -* @aramxc made their first contribution in https://github.com/ai16z/eliza/pull/1046 -* @arslanaybars made their first contribution in https://github.com/ai16z/eliza/pull/856 -* @derRizzMeister made their first contribution in https://github.com/ai16z/eliza/pull/1034 -* @mgavrila made their first contribution in https://github.com/ai16z/eliza/pull/860 -* @serrrfirat made their first contribution in https://github.com/ai16z/eliza/pull/847 -* @jinbangyi made their first contribution in https://github.com/ai16z/eliza/pull/1039 -* @shengxj1 made their first contribution in https://github.com/ai16z/eliza/pull/1056 -* @AIFlowML made their first contribution in https://github.com/ai16z/eliza/pull/859 -* @arose00 made their first contribution in https://github.com/ai16z/eliza/pull/906 -* @BlockJuic3 made their first contribution in https://github.com/ai16z/eliza/pull/1097 -* @BalanaguYashwanth made their first contribution in https://github.com/ai16z/eliza/pull/1036 -* @Titan-Node made their first contribution in https://github.com/ai16z/eliza/pull/1070 -* @guzus made their first contribution in https://github.com/ai16z/eliza/pull/897 -* @imthatcarlos made their first contribution in https://github.com/ai16z/eliza/pull/1098 -* @brunocalmels made their first contribution in https://github.com/ai16z/eliza/pull/1107 -* @jacob-tucker made their first contribution in https://github.com/ai16z/eliza/pull/1030 -* @qgpcybs made their first contribution in https://github.com/ai16z/eliza/pull/837 -* @daojonesceo made their first contribution in https://github.com/ai16z/eliza/pull/814 -* @MbBrainz made their first contribution in https://github.com/ai16z/eliza/pull/1131 -* @erise133 made their first contribution in https://github.com/ai16z/eliza/pull/1136 -* @owlcode made their first contribution in https://github.com/ai16z/eliza/pull/1141 -* @FWangZil made their first contribution in https://github.com/ai16z/eliza/pull/965 -* @0xNerd made their first contribution in https://github.com/ai16z/eliza/pull/1135 -* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 -* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 -* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 -* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 -* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 -* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 -* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 -* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 -* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 -* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 -* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 -* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 -* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 -* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 -* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 -* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 +## Version 0.1.7-alpha.1 (2024-12-22) ---- +#### Core Changes +- **Package Structure**: Changed package name from `@elizaos/eliza` to `@elizaos/core` (#1357) +- **Branding**: Introduced elizaOS branding and structure (#1352) +- **Documentation**: Updated documentation links to point to https://elizaOS.github.io/eliza/ (#1353) -## v0.1.6-alpha.4 (December 17, 2024) +#### Model Support +- Added support for Google models (#1310) +- Added OLLAMA model to the getTokenForProvider class (#1338) -#### What's Changed +#### Client Improvements +- Bumped agent-twitter-client version to v0.0.17 (#1311) +- Updated farcaster client max cast length (#1347) +- Implemented MAX_TWEET_LENGTH setting for Twitter posts (#1323) +- Removed TWITTER_COOKIES environment variable (#1288) + +#### Technical Fixes +- Fixed turbo configuration to resolve "cannot find package" error (#1307) +- Set default value for cache store (#1308) +- Added lint script for plugin-evm and fixed lint errors (#1171) +- Fixed postgres adapter schema (#1345) +- Removed token requirement for gaianet (#1306) -* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 -* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 +#### Technical Notes +This alpha release focuses primarily on structural changes to the codebase, renaming the core package, and fixing technical issues. It sets the groundwork for the more feature-rich alpha.2 release. -**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.3...v0.1.6-alpha.4 +#### Full Changelog +https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 --- -## v0.1.6-alpha.3 (December 17, 2024) +## Version 0.1.6-alpha.5 (2024-12-21) + + +#### Caching +- **Redis Integration**: Added Redis Cache Implementation (#1279) +- **Enhanced Caching**: Added general caching support for Redis (#1295) + +#### Platform Enhancements +- Added parse mode=Markdown to enhance telegram bot output (#1229) +- Made scripts dash compatible for better shell compatibility (#1165) +- Made Twitter login retry times configurable via environment variables (#1244) +- Made express payload limit configurable (#1245) +- Upgraded Tavily API with comprehensive input and constrained token consumption (#1246) + +#### Discord & Telegram +- Fixed issue allowing multiple bots to join Discord voice channels (#1156) +- Enabled Telegram bots to post messages with images generated by imageGenerationPlugin (#1220) + +#### Model & Provider Issues +- Fixed handling of unsupported model provider: claude_vertex (#1258) +- Added missing claude vertex case to handleProvider (#1293) +- Fixed local_llama key warning (#1250) + +#### Client & UI +- Fixed client.push issue for Slack client verification (#1182) +- Synced UI Client with server port environment variable (#1239) +- Fixed ENABLE_ACTION_PROCESSING logic (#1268) +- Improved Twitter post generation prompt (#1217) +- Fixed issue where twitterShouldRespondTemplate fails when defined as a string in JSON Character Config (#1242) + +#### Database & Testing +- Fixed postgres requirement for user to exist before adding a participant (#1219) +- Fixed CircuitBreaker.ts implementation (#1226) +- Added integration tests fixes (#1177, #1291) +- Fixed output checkable variable for conditional tests (#1294) + +#### Documentation & Internationalization +- Added German README (#1262) +- Added Twitter automation label notice documentation (#1254) +- Updated README for French, Spanish, and Italian languages (#1236) +- Updated Chinese README with more details (#1196, #1201) + +#### Technical Improvements +- Fixed build and dependency issues +- Improved error handling when token retrieval fails (#1214) +- Added optional chaining on search to avoid startup errors when search is disabled (#1202) +- Improved script output with clearer command instructions (#1163, #1218) +- Fixed visibility issue for GitHub image CI/CD workflow (#1243) +- Improved handling of summary files in caching (#1205) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 -#### What's Changed +--- -* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 -* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 -* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 -* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 -* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 +## Version 0.1.6 (2024-12-21) + + +#### Blockchain & Web3 Integration +- **New Blockchain Plugins**: + - Added Flow Blockchain plugin (#874) + - Added Aptos plugin (#818) + - Added MultiversX plugin (#860) + - Added NEAR Protocol plugin (#847) + - Added TON plugin (#1039) + - Added ZKsync Era plugin (#906) + - Added SUI plugin (#934) + - Added TEE Mode to Solana Plugin (#835) + - Enabled agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana (#1135) + +- **Coinbase Integration**: + - Added Coinbase ERC20, ERC721, ERC1155 token deployment/invocation (#803) + - Implemented advanced Coinbase trading functionality (#725) + - Added readContract/invokeContract functionality (#923) + - Added webhook support and testing examples (#801) + +#### Social Media & Messaging +- **Twitter/X Improvements**: + - Enhanced X/Twitter login with cookie validation and retry mechanism (#856) + - Improved Twitter client with action processing (#1007) + - Fixed Twitter Search Logic (#994) + - Implemented MAX_TWEET_LENGTH environment variable (#912) + - Fixed issues with Twitter posts including newlines (#1070, #1141) + - Allowed bots to post tweets with images from imageGenerationPlugin (#1040) + +- **New Clients**: + - Added working Farcaster client with Neynar integration (#570, #914) + - Added LinkedIn Client (#973) + - Added Lens client (#1098) + - Implemented Discord and Telegram Team features (#1032, #1033) + +#### AI & Model Support +- **Model Providers**: + - Added NanoGPT provider (#926) + - Added Galadriel Image Model (#994) + - Added Akash.network provider for free LLAMA API access (#1131) + - Added Venice.ai API model provider (#1008) and image generation (#1057) + - Added Hyperbolic API (#828) with environment variable overrides (#974) + - Configured EternalAI model from environment variables (#927) + +- **Voice & Media**: + - Improved voice processing and added Deepgram transcription option (#1026) + - Added support for handlebars templating engine (#1136) + - Added client-discord stop implementation (#1029) + - Added NFT generation plugin for Solana collections (#1011) + - Added plugin-story for narrative generation (#1030) + +#### System Improvements +- **Caching & Infrastructure**: + - Implemented Redis Cache (#1279, #1295) + - Added circuit breaker pattern for database operations (#812) + - Added support for AWS S3 file uploads (#941) + - Added dynamic watch paths for agent development (#931) + - Fixed multiple bots joining Discord voice channels (#1156) + +- **API & Interface**: + - Added REST API for client-direct to change agent settings (#1052) + - Added custom fetch logic for agent (#1010) + - Fixed Twitter posts with images generated by plugins (#1040) + - Made express payload limit configurable (#1245) + - Added callback handler to runtime evaluate method (#938) + +#### Testing & Development Improvements +- Implemented Smoke Test scripts (#1101) +- Added initial release of smoke/integration tests + testing framework (#993) +- Enabled test coverage reporting to Codecov (#880, #1019) +- Enhanced GitHub image CI/CD workflow (#889) +- Improved development scripts with better help messages (#887, #892) +- Created example folder with example plugin (#1004) +- Allowed users to configure models for Groq (#910), Grok (#1091), OpenAI and Anthropic (#999) +- Added plugin for EVM multichain support (#1009) -**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.2...v0.1.6-alpha.3 +#### Bug Fixes +- Fixed issues with Twitter client login and auth (#1158) +- Fixed direct-client ability to start agents (#1154) +- Fixed plugin loading from character.json files (#784) +- Fixed parameter parsing in plugin-evm TransferAction (#965) +- Fixed various client issues (Slack, Discord, Telegram, Farcaster) +- Fixed model provider issues for Claude Vertex (#1258, #1293) +- Fixed Twitter post generation and interaction (#1217, #1242) +- Fixed telegram response memory userId to agentId (#948) + +#### Documentation & Internationalization +- Added README translations (German, Vietnamese, Thai) +- Added templates documentation (#1013) +- Added WSL Setup Guide (#983) +- Added README for plugin-evm (#1095) +- Added documentation for community section (#1114) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 --- -## v0.1.6-alpha.2 (December 17, 2024) - -December 16th 2024 release - -#### Features (feat) - -- allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana #1135 -- add support for handlebars templating engine as an option #1136 -- Add Discord Team features #1032 -- Add Telegram Team features #1033 -- Updated characters types, Discord & Telegram enhancements #957 -- Plugin evm multichain #1009 -- add plugin-sui #934 -- add plugin-ton #1039 -- Add NEAR Protocol plugin #847 -- multiversx plugin #860 -- add plugin-nft-generation: create Solana NFT collections #1011 -- Lens client #1098 -- allow users to configure models for grok #1091 -- Smoke Test script #1101 -- plugin-story #1030 -- add venice.ai image generation #1057 -- improve X/Twitter login with cookie validation and retry mechanism #856 -- add/change change through REST api (client-direct) #1052 -- twitter client enhancements #913 -- github image cicd #889 -- add README_TH.md in docs directory #1034 -- Adding plugin for ZKsync Era #906 -- Add slack plugin #859 - -#### Fixes (fix) - -- improve fomo integration #1147 -- Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash #965 -- telegram client duplicate function removal #1140 -- discord client duplicate function removal #1125 -- Docker default non-interactive mode for Cloud instances #796 -- Use LARGE models for responses #853 -- load image from diff endpoints #837 -- fix the name #1133 -- add more helpful default agents (Dobby and C3PO) #1124 -- Refactor to prevent unnecessary lockfile changes #1120 -- add missing imports #1104 -- Fixed twitter posts include from including /n in the text #1070 -- handle no termination message #1102 -- return types of createAgent & startAgent #1097 -- syntax error: invalid arithmetic operator #1088 -- client slack linting errors #1086 -- dynamic import of fs module #1084 -- transfer action linting errors #1079 -- errors in swap action in plugin-near #1078 -- remove unnecessary devDependencies #1077 -- missing eslint config file #1076 -- Allow bot to post tweets with images generated by the imageGenerationPlugin #1040 -- discord client ci issues #1054 -- Fix pnpm lockfiles #1055 -- add auto to clients in types to use client-auto #1050 - -#### Chores (chore) - -- fix PR #1147 #1148 -- remove comment #1143 -- fix broken pnpm lockfile #1115 -- fix broken pnpm lockfile #1103 -- debugging start behaviour #1094 -- kill pnpm start #1093 -- increase timeout to 3mins #1092 -- remove unused imports and rename runtime variable #1085 -- remove unnecessary packages #1083 -- fix broken pnpm lockfile #1081 -- add npmignore file #1080 -- commented out unused variables in solana swap action's plugin #1073 -- improve eslint by --cache #1056 -- Update package.json #1031 -- improve smokeTests environment validation and logging #1046 -- improve formatting of .env.example for better readability #897 - -#### Documentation (docs) - -- add README.md to plugin-evm #1095 -- New docs for community section #1114 -- Update docs (CONTRIBUTING.md) #1053 -- Update community section of docs #1111 -- Plugin list numbering and titles #1107 - -#### Tests (test) - -- adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts #998 - -#### Other (Misc) -- clean newlines for new tweet #1141 -- FAL image settings escape hatch #814 -- Revert "Feat: Update community section of docs" #1112 -- Fix/charity #852 +## v0.1.6-alpha.4 (2024-12-17) + +#### Key Changes +- Fixed Twitter client login and authentication handling (#1158) + +## v0.1.6-alpha.3 (2024-12-17) + +#### Key Changes +- Added package version update script (#1150) +- Set fetch log level to debug for improved troubleshooting (#1153) +- Fixed direct-client functionality for starting agents (#1154) + +## v0.1.6-alpha.2 (2024-12-17) + +#### Major Features +- **Blockchain & DeFi:** + - Added FOMO.fund token creation/trading in plugin-solana (#1135) + - Added support for multiple blockchain platforms: + - MultiversX plugin (#860) + - NEAR Protocol plugin (#847) + - TON plugin (#1039) + - SUI plugin (#934) + - ZKsync Era plugin (#906) + - Enhanced EVM with multichain support (#1009) + +- **Client & Social Interaction:** + - Added Discord and Telegram Team features (#1032, #1033) + - Added Lens client integration (#1098) + - Improved X/Twitter login with cookie validation and retry (#856) + - Enhanced Twitter client with action processing (#913) + - Added Slack plugin (#859) + +- **Development & Testing:** + - Added Smoke Test script infrastructure (#1101) + - Added REST API for client-direct configuration (#1052) + - Added GitHub image CI/CD workflow (#889) + +- **Content Creation:** + - Added plugin-story for narrative generation (#1030) + - Added plugin-nft-generation for Solana NFT collections (#1011) + - Added Venice.ai image generation support (#1057) + - Added support for handlebars templating engine (#1136) + +#### Notable Fixes +- Fixed telegram and discord client duplicate functions (#1140, #1125) +- Improved FOMO integration for better performance (#1147) +- Fixed parameter parsing in plugin-evm TransferAction (#965) +- Fixed Twitter posts to remove newline characters (#1070, #1141) +- Enabled bots to post tweets with images from imageGenerationPlugin (#1040) +- Added helpful default agents (Dobby and C3PO) (#1124) + +## v0.1.6-alpha.1 (2024-12-13) + +#### Major Features +- **Blockchain & Web3:** + - Added Flow Blockchain plugin (#874) + - Added TEE Mode to Solana Plugin (#835) + - Enhanced Coinbase plugin with advanced trading (#725) + - Added readContract/invokeContract functionality (#923) + +- **Model Providers:** + - Added NanoGPT provider (#926) + - Added Venice.ai API model provider (#1008) + - Added Hyperbolic API integration (#828) with env var overrides (#974) + - Added configuration for EternalAI model from environment (#927) + +- **Development Tools:** + - Added callback handler to runtime evaluate method (#938) + - Added dynamic watch paths for agent development (#931) + - Added custom fetch logic for agent (#1010) + - Created example folder with sample plugin (#1004) + +- **Media & Content:** + - Improved voice processing with Deepgram transcription (#1026) + - Added MAX_TWEET_LENGTH environment variable control (#912) + +#### Key Fixes +- Fixed Twitter Search Logic and added Galadriel Image Model (#994) +- Fixed Telegram response memory userId to agentId (#948) +- Improved Farcaster client response logic (#914, #963) +- Corrected EVM plugin activation condition (#962) +- Re-enabled generateNewTweetLoop (#1043) + +#### Documentation +- Added templates documentation (#1013) +- Added Thai (TH) README translation (#918) +- Added WSL Setup Guide (#983) +- Added AI Agent Dev School Tutorial Link (#1038) --- -## v0.1.6-alpha.1 (December 13, 2024) -Week of December 9th 2024 release, Many bug fixes +## v0.1.5-alpha.5 (December 07, 2024) #### What's Changed +* feat: working farcaster client -#### Features -- Add Flow Blockchain plugin - [#874](https://github.com/ai16z/eliza/pull/874) -- Add hyperbolic API to Eliza - [#828](https://github.com/ai16z/eliza/pull/828) -- MAX_TWEET_LENGTH env implementation - [#912](https://github.com/ai16z/eliza/pull/912) -- Add advanced Coinbase trading - [#725](https://github.com/ai16z/eliza/pull/725) -- Add readContract/invokeContract functionality to Coinbase plugin - [#923](https://github.com/ai16z/eliza/pull/923) -- Add NanoGPT provider - [#926](https://github.com/ai16z/eliza/pull/926) -- Config eternalai model from env - [#927](https://github.com/ai16z/eliza/pull/927) -- Add hyperbolic env vars to override model class - [#974](https://github.com/ai16z/eliza/pull/974) -- Add TEE Mode to Solana Plugin - [#835](https://github.com/ai16z/eliza/pull/835) -- Add callback handler to runtime evaluate method - [#938](https://github.com/ai16z/eliza/pull/938) -- Add dynamic watch paths for agent development - [#931](https://github.com/ai16z/eliza/pull/931) -- Plugin evm multichain - [#1009](https://github.com/ai16z/eliza/pull/1009) -- Add venice.ai API model provider - [#1008](https://github.com/ai16z/eliza/pull/1008) -- Improve Twitter client with action processing - [#1007](https://github.com/ai16z/eliza/pull/1007) -- Add custom fetch logic for agent - [#1010](https://github.com/ai16z/eliza/pull/1010) -- Add Discord Team features - [#1032](https://github.com/ai16z/eliza/pull/1032) -- Improve voice processing and add deepgram transcription option - [#1026](https://github.com/ai16z/eliza/pull/1026) -- Create example folder with example plugin - [#1004](https://github.com/ai16z/eliza/pull/1004) - -#### Fixes -- Re-enable coverage report upload to Codecov in CI workflow - [#880](https://github.com/ai16z/eliza/pull/880) -- Twitter actions not triggering - [#903](https://github.com/ai16z/eliza/pull/903) -- Evaluation JSON parsing - [#907](https://github.com/ai16z/eliza/pull/907) -- Telegram response memory userId to agentId - [#948](https://github.com/ai16z/eliza/pull/948) -- Farcaster client cleanup and fixed response logic - [#914](https://github.com/ai16z/eliza/pull/914) -- Use MAX_TWEET_LENGTH from setting - [#960](https://github.com/ai16z/eliza/pull/960) -- Correct EVM plugin activation condition - [#962](https://github.com/ai16z/eliza/pull/962) -- Docker trying to filter out missing docs package - [#978](https://github.com/ai16z/eliza/pull/978) -- Re-enable generateNewTweetLoop / lint fixes - [#1043](https://github.com/ai16z/eliza/pull/1043) -- Fix Twitter Search Logic and add Galadriel Image Model - [#994](https://github.com/ai16z/eliza/pull/994) -- Fix farcaster client process action issue - [#963](https://github.com/ai16z/eliza/pull/963) -- Fix typo in characterfile.md - [#986](https://github.com/ai16z/eliza/pull/986) -- Fix typo initialize - [#1000](https://github.com/ai16z/eliza/pull/1000) -- Fix package name in FAQ - [#937](https://github.com/ai16z/eliza/pull/937) - -#### Chores -- Disable building docs on build command - [#884](https://github.com/ai16z/eliza/pull/884) -- Enhance dev script, performance improvement, and add help message - [#887](https://github.com/ai16z/eliza/pull/887) -- Improve dev command - [#892](https://github.com/ai16z/eliza/pull/892) -- Consistent language for Community & Contact link label - [#899](https://github.com/ai16z/eliza/pull/899) -- Fix broken lockfile - [#977](https://github.com/ai16z/eliza/pull/977) -- Pass env variables when setting up GOAT and update GOAT readme - [#898](https://github.com/ai16z/eliza/pull/898) -- Deprecate text-based way of generating JSON - [#920](https://github.com/ai16z/eliza/pull/920) -- Bring Develop up to date with HEAD - [#1006](https://github.com/ai16z/eliza/pull/1006) -- Push Develop into Main - [#1028](https://github.com/ai16z/eliza/pull/1028) -- Release develop into main - [#1045](https://github.com/ai16z/eliza/pull/1045) - -#### Docs -- Add What Did You Get Done This Week #4 summaries and timestamps - [#895](https://github.com/ai16z/eliza/pull/895) -- Add templates documentation to the project - [#1013](https://github.com/ai16z/eliza/pull/1013) -- Update README.md - [#1024](https://github.com/ai16z/eliza/pull/1024) and [#1025](https://github.com/ai16z/eliza/pull/1025) -- Create README_TH.md - [#918](https://github.com/ai16z/eliza/pull/918) -- Add AI Agent Dev School Tutorial Link - [#1038](https://github.com/ai16z/eliza/pull/1038) -- Add WSL Setup Guide to documentation - [#983](https://github.com/ai16z/eliza/pull/983) - -#### Tests -- Initial release of smoke/integration tests + testing framework - [#993](https://github.com/ai16z/eliza/pull/993) -- Adding parsing tests. Changed files parsing.test.ts - [#996](https://github.com/ai16z/eliza/pull/996) - - -#### New Contributors -
-New Contributors -* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 -* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 -* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 -* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 -* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 -* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 -* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 -* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 -* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 -* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 -* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 -* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 -* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 -* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 -* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 -* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 -* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 -* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 -* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 -* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 -* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 -* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 -* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 -* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.5...v0.1.6-alpha.1 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 --- -## v0.1.5-alpha.5 (December 07, 2024) +## v0.1.5-alpha.4 (2024-12-06) -#### What's Changed -* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 +- **Blockchain & Web3:** + - Added Coinbase ERC20, ERC721, and ERC1155 token deployment/invocation plugin (#803) + - Added Coinbase webhook functionality with examples and testing (#801) + - Added Aptos blockchain plugin (#818) -
-New Contributors -* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 -
+- **Model & Performance:** + - Configured system to use LARGE models for responses (#853) + - Added Google model environment variables (#875) -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 +- **Testing & Documentation:** + - Added environment and knowledge tests (#862) + - Added AI Agent Dev School summaries and timestamps (#877) + - Updated quickstart documentation with common issue solutions (#861, #872) + - Fixed plugins documentation (#848) + - Updated Node version in local-development.md (#850) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 --- -## v0.1.5-alpha.4 (December 06, 2024) +## v0.1.5-alpha.3 (2024-12-04) -#### What's Changed -* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 -* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 -* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 -* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 -* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 -* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 -* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 -* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 -* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 -* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 -* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 -* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 -* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 -* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 - -#### New Contributors - -
-New Contributors -* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 -* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 -* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 -* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 -* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 +- **Core Infrastructure:** + - Added circuit breaker pattern for database operations (#812) + - Fixed Twitter cache expiration issues (#824) + - Pinned all node dependencies and updated @solana/web3.js to safe version (#832) + +- **Development Workflow:** + - Fixed lerna publish command (#811) + - Fixed Docker setup documentation (#826) + - Reverted viem package version (#834) + - Bumped @goat-sdk/plugin-erc20 version (#836) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 --- -## v0.1.5-alpha.3 (December 04, 2024) +## v0.1.5-alpha.0 (2024-12-03) -#### What's Changed -* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 -* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 -* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 -* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 -* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 -* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 -* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 -* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 -* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 +- **Plugin System:** + - Fixed plugin loading when configured with plugin name in character.json (#784) + - Improved actions samples random selection (#799) + +- **Image Generation:** + - Fixed TOGETHER/LLAMACLOUD image generation (#786) -#### New Contributors +- **Platform Improvements:** + - Made Docker use non-interactive mode for Cloud instances (#796) + - Fixed swap type error and user trust creation on first Telegram message (#800) + - Made UUID compatible with number types (#785) -
-New Contributors -* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 -
+- **Development Infrastructure:** + - Updated npm publication workflow (#805, #806, #807) + - Fixed dev command (#793) + - Fixed environment typo (#787) + - Updated Korean README to match latest English version (#789) -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 --- -## v0.1.5-alpha.0 (December 03, 2024) +## v0.1.5 (2024-12-02) + +#### Summary +This release introduces significant improvements to the Eliza framework with enhancements to database adapters, client interfaces, and plugin architecture. Notable additions include several new provider integrations, improved Twitter functionality, and expanded AI model support. + +#### Major Features + +#### Plugin System Enhancements +- Added 0G plugin for file storage (PR #416) +- Implemented Coinbase plugin with trading and payment capabilities (PR #608, #664) +- Added Conflux plugin support (PR #481) +- Added Buttplug.io integration (PR #517) +- Added TEE (Trusted Execution Environment) plugin (PR #632) +- Added Farcaster client support (PR #386) +- Added Starknet portfolio provider (PR #595) +- Added Goat plugin (PR #736) + +#### AI Model Providers +- Added decentralized inferencing for Eliza (LLAMA, Hermes, Flux) (PR #516) +- Added Galadriel LLM inference provider (PR #651) +- Added RedPill custom models support (PR #668) +- Added decentralized GenAI backend (PR #762) +- Added more AI providers: Ali Bailian (Qwen) and Volengine (Doubao, Bytedance) (PR #747) + +#### Knowledge Processing +- Improved knowledge embeddings (PR #472) +- Enhanced embedding search for non-openai models (PR #660) +- Increased knowledge context (PR #730) +- Added knowledge to state functionality (PR #600) +- Improved knowledge module exporting process (PR #609) + +#### Infrastructure Updates +- Implemented Cache Manager (PR #378) +- Added Docker setup improvements (PR #702) +- Added Turborepo for improved build performance (PR #670) +- Added code coverage configuration (PR #659) +- Improved database connection handling (PR #635) + +#### Client Improvements +- Twitter client refactoring and enhancements (PR #478, #722, #756, #763) +- Discord client improvements with voice support (PR #633, #688) +- Added WhatsApp integration (PR #626) +- Enhanced React client with agent selection and layout improvements (PR #536) +- Integrated Telegram client enhancements (PR #552, #662) +- Added GitHub client initialization (PR #456) -#### What's Changed -* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 -* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 -* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 -* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 -* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 -* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 -* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 -* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 -* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 -* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 -* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 -* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 -* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 - -#### New Contributors - -
-New Contributors -* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 -* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 -* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 -* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 -* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 +#### Bug Fixes +- Fixed PostgreSQL embedding issues (PR #425, #557) +- Resolved Discord permissions and voice issues (PR #662, #598) +- Fixed Twitter interaction handling (PR #622, #620, #729) +- Improved embeddings for messages with URLs (PR #671) +- Resolved database queries and memory handling (PR #606, #607, #572) +- Fixed token provider and simulation services (PR #547, #627) + +#### Technical Improvements +- Switched from tiktoken to js-tiktoken for worker compatibility (PR #703) +- Improved logging mechanisms (PR #688, #525) +- Enhanced browser service (PR #653) +- Fixed eslint configuration (PR #672) +- Improved template typing system (PR #479) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 --- -## v0.1.5 (December 02, 2024) +## v0.1.4-alpha.3 (2024-11-28) -#### What's Changed -* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 -* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 -* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 -* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 -* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 -* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 -* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 -* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 -* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 -* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 -* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 -* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 -* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 -* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 -* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 -* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 -* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 -* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 -* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 -* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 -* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 -* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 -* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 -* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 -* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 -* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 -* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 -* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 -* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 -* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 -* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 -* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 -* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 -* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 -* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 -* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 -* docs: add template and client configuration guide by @oguzserdar in https://github.com/ai16z/eliza/pull/510 -* Wrap `fastembed` in try catch to allow non node environments to build by @antpb in https://github.com/ai16z/eliza/pull/508 -* fix: husky and pre-commit by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/514 -* fix: lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/515 -* test: add linter to all packages and enable vitest by @snobbee in https://github.com/ai16z/eliza/pull/490 -* feat: add coinbase plugin starting with cb commerce functionality by @monilpat in https://github.com/ai16z/eliza/pull/513 -* fix: Gracefully Handle Add Participants Unique Constraint Error in Postgres by @VarKrishin in https://github.com/ai16z/eliza/pull/495 -* fix: Ollama fix by @yodamaster726 in https://github.com/ai16z/eliza/pull/524 -* fix: ollama local and llama local by @yodamaster726 in https://github.com/ai16z/eliza/pull/521 -* fix: Fix/telegram by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/530 -* fix(deps): update dependency @ai-sdk/anthropic to ^0.0.56 by @renovate in https://github.com/ai16z/eliza/pull/528 -* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/529 -* chore(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/526 -* fix(deps): update dependency @ai-sdk/openai to v1.0.4 by @renovate in https://github.com/ai16z/eliza/pull/533 -* fix(deps): update dependency @ai-sdk/google-vertex to ^0.0.43 by @renovate in https://github.com/ai16z/eliza/pull/532 -* fix: pass runtime to video service by @0xFlicker in https://github.com/ai16z/eliza/pull/535 -* fix: discord voice memory id not unique by @bmgalego in https://github.com/ai16z/eliza/pull/540 -* fix: db queries not using agentId in all memory queries by @bmgalego in https://github.com/ai16z/eliza/pull/539 -* fix: error in getGoals and remove coinbase package-lock.json by @bmgalego in https://github.com/ai16z/eliza/pull/545 -* fix: Use BigInt for tweet IDs in client-twitter by @wraitii in https://github.com/ai16z/eliza/pull/552 -* fix: add try catch to process action by @bmgalego in https://github.com/ai16z/eliza/pull/546 -* fix: generateText format consistency by @tomguluson92 in https://github.com/ai16z/eliza/pull/550 -* fix: bump echogarden to fix case sensitive issue by @0xFlicker in https://github.com/ai16z/eliza/pull/561 -* Improved Twitter Documentation by @grallc in https://github.com/ai16z/eliza/pull/559 -* fix: sql command by @0xFlicker in https://github.com/ai16z/eliza/pull/560 -* fix: remove db adapters depencies from core and remove plugin-node from telegram by @bmgalego in https://github.com/ai16z/eliza/pull/571 -* fix: add missing documents and knowledge memory managers to runtime interface by @bmgalego in https://github.com/ai16z/eliza/pull/572 -* fix: remove postinstall script from plugin-coinbase by @bmgalego in https://github.com/ai16z/eliza/pull/573 -* fix: postgres by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/557 -* fix: Token provider getHighestLiquidityPair by @bmgalego in https://github.com/ai16z/eliza/pull/547 -* Add community stream notes for WDYGDTW 2 by @YoungPhlo in https://github.com/ai16z/eliza/pull/580 -* feat: add new pages by @madjin in https://github.com/ai16z/eliza/pull/581 -* fix: Devex Fixes by @lalalune in https://github.com/ai16z/eliza/pull/583 -* feat: update api docs by @madjin in https://github.com/ai16z/eliza/pull/582 -* feat: Update packages by @lalalune in https://github.com/ai16z/eliza/pull/584 -* Update dependency @echogarden/espeak-ng-emscripten to v0.3.3 by @renovate in https://github.com/ai16z/eliza/pull/537 -* Update dependency @opendocsg/pdf2md to v0.1.32 by @renovate in https://github.com/ai16z/eliza/pull/538 -* Update dependency agent-twitter-client to v0.0.14 by @renovate in https://github.com/ai16z/eliza/pull/542 -* Update docusaurus monorepo to v3.6.3 by @renovate in https://github.com/ai16z/eliza/pull/543 -* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/544 -* feat: More package updates by @lalalune in https://github.com/ai16z/eliza/pull/585 -* Pin dependency vue to 3.5.13 by @renovate in https://github.com/ai16z/eliza/pull/527 -* feat: Shaw/realityspiral/coinbase fixes by @lalalune in https://github.com/ai16z/eliza/pull/586 -* feat: implement coinbase mass payments across base/sol/eth/pol/arb by @monilpat in https://github.com/ai16z/eliza/pull/569 -* Shaw/logger fixes by @lalalune in https://github.com/ai16z/eliza/pull/587 -* fix: missing updates for logger.ts by @yodamaster726 in https://github.com/ai16z/eliza/pull/525 -* fix: React Client fixes by @lalalune in https://github.com/ai16z/eliza/pull/588 -* feat: add agent selection, router and sidebar layout in React client by @vivoidos in https://github.com/ai16z/eliza/pull/536 -* fix: fixing failing goals, cache and token tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/522 -* fix: Shaw/fix zerog by @lalalune in https://github.com/ai16z/eliza/pull/589 -* feat: Add 0G plugin for file storage by @Wilbert957 in https://github.com/ai16z/eliza/pull/416 -* fix: enable test run in CI for core package by @pgoos in https://github.com/ai16z/eliza/pull/590 -* CS - first api hookups. by @justabot in https://github.com/ai16z/eliza/pull/564 -* feat: update sidebars by @madjin in https://github.com/ai16z/eliza/pull/593 -* Download updates by @justabot in https://github.com/ai16z/eliza/pull/594 -* feat: Farcaster Client by @bmgalego in https://github.com/ai16z/eliza/pull/386 -* Pr 33 by @MarcoMandar in https://github.com/ai16z/eliza/pull/596 -* fix: discord crash on sending message to null channel by @odilitime in https://github.com/ai16z/eliza/pull/598 -* fix: db queries in sqljs database adapter not using agentId by @bmgalego in https://github.com/ai16z/eliza/pull/606 -* fix: agent DirectClient is not a type by @odilitime in https://github.com/ai16z/eliza/pull/605 -* fix: add Memory Manager getMemoriesByRoomIds missing tableName param by @bmgalego in https://github.com/ai16z/eliza/pull/602 -* fix: time prompt to include UTC, convert to verbose english to help prompting by @odilitime in https://github.com/ai16z/eliza/pull/603 -* feat: add knowledge to state by @bmgalego in https://github.com/ai16z/eliza/pull/600 -* feat: Adding tests for actions and generation. Skiping test step in defaultCharacters by @ai16z-demirix in https://github.com/ai16z/eliza/pull/591 -* feat: sell simulation service by @MarcoMandar in https://github.com/ai16z/eliza/pull/597 -* fix: use correct getCachedEmbeddings query_field_sub_name by @bmgalego in https://github.com/ai16z/eliza/pull/607 -* fix: knowledge module exporting process by @bmgalego in https://github.com/ai16z/eliza/pull/609 -* fix: add client farcaster templates to character type by @bmgalego in https://github.com/ai16z/eliza/pull/610 -* feat: make node-plugin lazy-loaded for faster boot times by @bmgalego in https://github.com/ai16z/eliza/pull/599 -* chore(nvmrc): update Node.js version from v23.1.0 to v23.3.0 by @wolfcito in https://github.com/ai16z/eliza/pull/611 -* fix: Fix buttplug.io integration and merge by @lalalune in https://github.com/ai16z/eliza/pull/612 -* feat: Add buttplug.io integration by @8times4 in https://github.com/ai16z/eliza/pull/517 -* fix: Update and add Conflux by @lalalune in https://github.com/ai16z/eliza/pull/613 -* feat: add Conflux plugin by @darwintree in https://github.com/ai16z/eliza/pull/481 -* feat: Add decentralized inferencing for Eliza (LLAMA, Hermes, Flux) by @genesis-0000 in https://github.com/ai16z/eliza/pull/516 -* fix: memory similarity log & new knowledge ingestion by @yoniebans in https://github.com/ai16z/eliza/pull/616 -* feat: starknet portfolio provider by @milancermak in https://github.com/ai16z/eliza/pull/595 -* bugfix: Modify docker run error after agent folder move by @THtianhao in https://github.com/ai16z/eliza/pull/458 -* fix: handle when tweet_results is empty better by @odilitime in https://github.com/ai16z/eliza/pull/620 -* fix: small improvements to agent process exits by @cygaar in https://github.com/ai16z/eliza/pull/625 -* Feat/sell simulation by @MarcoMandar in https://github.com/ai16z/eliza/pull/627 -* fix: Add Tweet Response Deduplication Check by @tsubasakong in https://github.com/ai16z/eliza/pull/622 -* fix: node package builds by @cygaar in https://github.com/ai16z/eliza/pull/636 -* dicord bot voice by @tcm390 in https://github.com/ai16z/eliza/pull/633 -* feat: Initial TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/632 -* Notes for AI Agent Dev School #1 by @YoungPhlo in https://github.com/ai16z/eliza/pull/638 -* feat: Merge EVM and add character override by @lalalune in https://github.com/ai16z/eliza/pull/643 -* fix: Add docs, update providers for TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/640 -* fix: running a character.json fails when running per docs by @yodamaster726 in https://github.com/ai16z/eliza/pull/624 -* feat: support starkname by @irisdv in https://github.com/ai16z/eliza/pull/628 -* refactor: better db connection handling by @cygaar in https://github.com/ai16z/eliza/pull/635 -* add connection instruction for connecting with X by @zjasper666 in https://github.com/ai16z/eliza/pull/641 -* Feat/simulation sell types by @MarcoMandar in https://github.com/ai16z/eliza/pull/642 -* updates postgres setup instructions in docs by @DataRelic in https://github.com/ai16z/eliza/pull/645 -* Update ci.yaml by @snobbee in https://github.com/ai16z/eliza/pull/652 -* feat: improve browser service by @cygaar in https://github.com/ai16z/eliza/pull/653 -* added support for LlamaLocal's path outside plugin-node/dist by @dr-fusion in https://github.com/ai16z/eliza/pull/649 -* CS - adding better errors and readme. by @justabot in https://github.com/ai16z/eliza/pull/654 -* feat: implement coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/608 -* fix: pnpm-lock.yaml by @monilpat in https://github.com/ai16z/eliza/pull/664 -* feat: add minimal config file for code cov by @pgoos in https://github.com/ai16z/eliza/pull/659 -* fix: embedding search for non-openai models by @cygaar in https://github.com/ai16z/eliza/pull/660 -* feat: evm pubkey derivation by @St4rgarden in https://github.com/ai16z/eliza/pull/667 -* fix: add missing commands to quickstart by @0xaguspunk in https://github.com/ai16z/eliza/pull/665 -* Add Galadriel LLM Inference Provider by @dontAskVI in https://github.com/ai16z/eliza/pull/651 -* redpill custom models by @v1xingyue in https://github.com/ai16z/eliza/pull/668 -* feat: Add wallet history (transactions, balances) to coinbase providers by @monilpat in https://github.com/ai16z/eliza/pull/658 -* fix: discord permissions and duplicate reactions, new /joinchannel command by @augchan42 in https://github.com/ai16z/eliza/pull/662 -* feat: add image text model provider separation and fal.ai integration by @yoniebans in https://github.com/ai16z/eliza/pull/650 -* feat : whatsapp by @awidearray in https://github.com/ai16z/eliza/pull/626 -* feat: add ICP token creation support by @asDNSk in https://github.com/ai16z/eliza/pull/357 -* integrate tavily by @tcm390 in https://github.com/ai16z/eliza/pull/518 -* incorrect package install location Update plugins.md by @cryptoradagast in https://github.com/ai16z/eliza/pull/669 -* fix: eslint not working by @cygaar in https://github.com/ai16z/eliza/pull/672 -* fix: add missing viem dependency by @HashWarlock in https://github.com/ai16z/eliza/pull/674 -* fix: embeddings for messages with urls by @cygaar in https://github.com/ai16z/eliza/pull/671 -* Fix: run tests with coverage by @pgoos in https://github.com/ai16z/eliza/pull/676 -* feat: improve embeddings, models and connectivity by @augchan42 in https://github.com/ai16z/eliza/pull/677 -* fix: Make TEE Plugin available to launch agent & fix previous launch error by @HashWarlock in https://github.com/ai16z/eliza/pull/678 -* fix: getEmbeddingZeroVector calls by @cygaar in https://github.com/ai16z/eliza/pull/682 -* feat: add Turborepo by @lalalune in https://github.com/ai16z/eliza/pull/670 -* feat: make twitter client polling configurable by @cygaar in https://github.com/ai16z/eliza/pull/683 -* chore: remove unused packages introduced in #677 by @shakkernerd in https://github.com/ai16z/eliza/pull/693 -* Fix/logging issues by @augchan42 in https://github.com/ai16z/eliza/pull/688 -* chore: Remove web-agent folder - duplicate of client folder by @shakkernerd in https://github.com/ai16z/eliza/pull/699 -* fix: update docker image to support turbo and reduce build time by @HashWarlock in https://github.com/ai16z/eliza/pull/702 -* fix: Switch from tiktoken to js-tiktoken for worker compatibility by @antpb in https://github.com/ai16z/eliza/pull/703 -* fix: simplify linting dependencies by @cygaar in https://github.com/ai16z/eliza/pull/721 -* fix: twitter recent interactions by @cygaar in https://github.com/ai16z/eliza/pull/729 -* feat: add new pages, update sidebar by @madjin in https://github.com/ai16z/eliza/pull/728 -* feat: increase knowledge context by @cygaar in https://github.com/ai16z/eliza/pull/730 -* refactor: ClientBase to use a map for managing multiple Twitter clients by account identifier by @tcm390 in https://github.com/ai16z/eliza/pull/722 -* fix: move `fastembed` import to the isnode condition check by @antpb in https://github.com/ai16z/eliza/pull/709 -* chore: remove unused env var by @2pmflow in https://github.com/ai16z/eliza/pull/737 -* fix (core): message completion footer format by @CodingTux in https://github.com/ai16z/eliza/pull/742 -* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/744 -* fix: packagejson updated to latest agent-client 0.0.16 by @denizekiz in https://github.com/ai16z/eliza/pull/753 -* Add running with Gitpod by @v1xingyue in https://github.com/ai16z/eliza/pull/758 -* fix(deps): update dependency @ai-sdk/openai to v1.0.5 by @renovate in https://github.com/ai16z/eliza/pull/751 -* Update environment, add twitter quality of life updates by @lalalune in https://github.com/ai16z/eliza/pull/765 -* fix: improve twitter post content quality by @cygaar in https://github.com/ai16z/eliza/pull/763 -* fix(deps): update dependency tailwind-merge to v2.5.5 by @renovate in https://github.com/ai16z/eliza/pull/761 -* fix: recentPosts always empty by @tcm390 in https://github.com/ai16z/eliza/pull/756 -* feat: Pin dependencies and unify tsconfig by @lalalune in https://github.com/ai16z/eliza/pull/767 -* Update dependency dompurify to v3.2.2 by @renovate in https://github.com/ai16z/eliza/pull/548 -* Update dependency @supabase/supabase-js to v2.46.2 by @renovate in https://github.com/ai16z/eliza/pull/754 -* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/760 -* Update dependency uuid to v11.0.3 by @renovate in https://github.com/ai16z/eliza/pull/766 -* fix: follow-up improvements for ICP token creation (PR #357) by @asDNSk in https://github.com/ai16z/eliza/pull/757 -* feat: more dependency updates by @lalalune in https://github.com/ai16z/eliza/pull/771 -* fix(deps): replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.1 by @renovate in https://github.com/ai16z/eliza/pull/749 -* chore(deps): update dependency @eslint/js to v9.16.0 by @renovate in https://github.com/ai16z/eliza/pull/769 -* chore(deps): update dependency @vitest/eslint-plugin to v1.1.13 by @renovate in https://github.com/ai16z/eliza/pull/770 -* fix(deps): update sqlite related by @renovate in https://github.com/ai16z/eliza/pull/768 -* fix: Integrate jin's docs changes and rebuild docs with a16z by @lalalune in https://github.com/ai16z/eliza/pull/772 -* feat: Create community section by @madjin in https://github.com/ai16z/eliza/pull/745 -* Integrate goat plugin by @lalalune in https://github.com/ai16z/eliza/pull/773 -* feat: add goat plugin by @0xaguspunk in https://github.com/ai16z/eliza/pull/736 -* Add decentralized GenAI backend by @L-jasmine in https://github.com/ai16z/eliza/pull/762 -* Integrate more LLMs, fix case issue in switch by @lalalune in https://github.com/ai16z/eliza/pull/774 -* Merge more model providers and fix issues by @lalalune in https://github.com/ai16z/eliza/pull/775 -* feat: Add two more providers: Ali Bailian(Qwen) and Volengine(Doubao, Bytedance) by @btspoony in https://github.com/ai16z/eliza/pull/747 -* add simulator tutor for plugin-tee docs by @shelvenzhou in https://github.com/ai16z/eliza/pull/746 -* feat: (voice) enhance character card voice configuration support by @augchan42 in https://github.com/ai16z/eliza/pull/698 -* feat: donate 1% of coinbase transactions by default by @monilpat in https://github.com/ai16z/eliza/pull/759 -* Create docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/776 -* fix: Refactor image interface and update to move llama cloud -> together provider by @lalalune in https://github.com/ai16z/eliza/pull/777 -* fix: Text2Image interface refactored by @tomguluson92 in https://github.com/ai16z/eliza/pull/752 -* refactor: refactor dockerfile to reduce image and build time by @HashWarlock in https://github.com/ai16z/eliza/pull/782 -* feat: Update default character by @lalalune in https://github.com/ai16z/eliza/pull/781 - -#### New Contributors - -
-New Contributors -* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 -* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 -* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 -* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 -* @darwintree made their first contribution in https://github.com/ai16z/eliza/pull/446 -* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 -* @snobbee made their first contribution in https://github.com/ai16z/eliza/pull/463 -* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 -* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 -* @antpb made their first contribution in https://github.com/ai16z/eliza/pull/508 -* @VarKrishin made their first contribution in https://github.com/ai16z/eliza/pull/495 -* @yodamaster726 made their first contribution in https://github.com/ai16z/eliza/pull/524 -* @0xFlicker made their first contribution in https://github.com/ai16z/eliza/pull/535 -* @wraitii made their first contribution in https://github.com/ai16z/eliza/pull/552 -* @tomguluson92 made their first contribution in https://github.com/ai16z/eliza/pull/550 -* @grallc made their first contribution in https://github.com/ai16z/eliza/pull/559 -* @YoungPhlo made their first contribution in https://github.com/ai16z/eliza/pull/580 -* @Wilbert957 made their first contribution in https://github.com/ai16z/eliza/pull/416 -* @pgoos made their first contribution in https://github.com/ai16z/eliza/pull/590 -* @justabot made their first contribution in https://github.com/ai16z/eliza/pull/564 -* @wolfcito made their first contribution in https://github.com/ai16z/eliza/pull/611 -* @8times4 made their first contribution in https://github.com/ai16z/eliza/pull/517 -* @genesis-0000 made their first contribution in https://github.com/ai16z/eliza/pull/516 -* @yoniebans made their first contribution in https://github.com/ai16z/eliza/pull/616 -* @milancermak made their first contribution in https://github.com/ai16z/eliza/pull/595 -* @THtianhao made their first contribution in https://github.com/ai16z/eliza/pull/458 -* @cygaar made their first contribution in https://github.com/ai16z/eliza/pull/625 -* @irisdv made their first contribution in https://github.com/ai16z/eliza/pull/628 -* @zjasper666 made their first contribution in https://github.com/ai16z/eliza/pull/641 -* @DataRelic made their first contribution in https://github.com/ai16z/eliza/pull/645 -* @dr-fusion made their first contribution in https://github.com/ai16z/eliza/pull/649 -* @St4rgarden made their first contribution in https://github.com/ai16z/eliza/pull/667 -* @0xaguspunk made their first contribution in https://github.com/ai16z/eliza/pull/665 -* @dontAskVI made their first contribution in https://github.com/ai16z/eliza/pull/651 -* @augchan42 made their first contribution in https://github.com/ai16z/eliza/pull/662 -* @asDNSk made their first contribution in https://github.com/ai16z/eliza/pull/357 -* @cryptoradagast made their first contribution in https://github.com/ai16z/eliza/pull/669 -* @2pmflow made their first contribution in https://github.com/ai16z/eliza/pull/737 -* @CodingTux made their first contribution in https://github.com/ai16z/eliza/pull/742 -* @L-jasmine made their first contribution in https://github.com/ai16z/eliza/pull/762 -* @btspoony made their first contribution in https://github.com/ai16z/eliza/pull/747 -* @shelvenzhou made their first contribution in https://github.com/ai16z/eliza/pull/746 -* @Freytes made their first contribution in https://github.com/ai16z/eliza/pull/776 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 +#### Summary +This alpha release introduces initial improvements to the platform with focus on documentation, bug fixes, and foundational service enhancements. + +#### Major Features +- Created cache manager system (PR #378) +- Implemented Twitter client refactoring (PR #478) +- Added GitHub client initialization (PR #456) +- Introduced create-eliza-app utility (PR #462) + +#### Bug Fixes +- Fixed PostgreSQL embedding issues (PR #425) +- Fixed Twitter dry run functionality (PR #452) +- Resolved character path loading issues (PR #486, #487) +- Fixed agent type error and SQLite file environment handling (PR #484) + +#### Documentation +- Added best practices documentation (PR #463) +- Updated Twitter configuration examples (PR #476) +- Updated contributor guidelines (PR #468, #470) +- Added npm installation instructions to homepage (PR #459) + +#### Technical Improvements +- Enhanced knowledge embeddings (PR #472) +- Improved type safety (PR #494) +- Added template types (PR #479) +- Fixed package configuration issues (PR #488, #503, #504) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 --- -## v0.1.4-alpha.3 (November 28, 2024) +## v0.1.3-alpha.2 (2024-11-20) -#### What's Changed +#### Summary +This minor alpha release focuses on configuration and import fixes to prepare for npm publication. + +#### Bug Fixes +- Fixed configuration settings (PR #431) +- Resolved linting and import issues for npm compatibility (PR #433, #435) + +#### Technical Improvements +- Removed requirement for .env file to exist (PR #427) +- Updated pull request workflows (PR #429) -* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 -* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 -* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 -* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 -* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 -* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 -* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 -* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 -* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 -* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 -* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 -* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 -* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 -* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 -* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 -* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 -* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 -* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 -* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 -* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 -* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 -* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 -* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 -* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 -* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 -* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 -* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 -* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 -* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 -* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 -* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 -* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 -* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 -* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 -* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 -* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 - -#### New Contributors - -
-New Contributors -* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 -* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 -* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 -* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 -* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 -* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 -* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 --- -## v0.1.3-alpha.2 (November 20, 2024) +## v0.1.3 (2024-11-20) -#### What's Changed -* fix: configs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/431 -* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 -* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 -* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 -* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 -* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 +#### Summary +This release improves documentation, fixes critical import issues, and enhances Discord voice functionality. -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 +#### Bug Fixes +- Fixed import path issues (PR #435, #436) +- Adjusted default path following agent directory restructuring (PR #432) +- Corrected Discord voice permissions and settings (PR #444, #447) +- Fixed console logging issues (PR #440) +- Resolved linter issues (PR #397) ---- +#### Documentation +- Added comprehensive style guidelines to context (PR #441) +- Updated contributing documentation (PR #430) -## v0.1.3 (November 20, 2024) +#### Technical Improvements +- Fixed Discord bot default deafened state (PR #437) +- Improved error handling and logging (PR #433) -#### What's Changed -* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 -* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 -* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 -* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 -* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 -* fix: path by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/436 -* fix: since agent is moved out of packages, adjust default path by @odilitime in https://github.com/ai16z/eliza/pull/432 -* fix: Fix linter issues by @martincik in https://github.com/ai16z/eliza/pull/397 -* feat: add all the style guidelines to the context by @o-on-x in https://github.com/ai16z/eliza/pull/441 -* fix: fixes some console logs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/440 -* fix: The bot is by default deafened and we don't want that by @martincik in https://github.com/ai16z/eliza/pull/437 -* fix: unrug by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/444 -* fix: voice perms by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/447 - -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 --- -## v0.1.1 (November 20, 2024) +## v0.1.1 (2024-11-20) + +#### Summary +This major release implements significant architectural changes with a modular plugin system, expanded AI model support, multi-language capability, and improved knowledge processing features. + +#### Major Features + +#### Plugin System +- Abstracted Eliza into a package for NPM publication with plugin system (PR #214) +- Created various adapters, plugins, and clients (PR #225) +- Added Starknet plugin (PR #287) +- Implemented Unruggable plugin for token safety (PR #398, #418) +- Added video generation plugin (PR #394) + +#### AI Model Providers +- Added Groq API integration (PR #194) +- Implemented GROK beta support (PR #216) +- Added OLLAMA as model provider (PR #221) +- Added OpenRouter model provider (PR #245) +- Added Google model support (PR #246) +- Added Heurist API integration (PR #335) + +#### Blockchain Integration +- Implemented swap functionality (PR #197) +- Added token transfer action (PR #297) +- Added trust integration and database support (PR #248, #349) +- Created Starknet token transfer capability (PR #373) +- Added ICP token creation support (PR #357) + +#### Client Interfaces +- Fixed Discord voice and DMs (PR #203) +- Enhanced Telegram client functionality (PR #304, #308) +- Improved Twitter integration with context and spam reduction (PR #383) + +#### Infrastructure Updates +- Added PostgreSQL adapter (PR #247) +- Dockerized application for development and deployment (PR #293) +- Implemented services architecture (PR #412) +- Added logging improvements (PR #393) + +#### Multi-language Support +- Added Japanese README (PR #307) +- Added Korean and French README (PR #312) +- Added Portuguese README (PR #320) +- Added Spanish, Russian, Turkish, and Italian translations (PR #400, #380, #376, #411) -#### What's Changed -* Groq api integration by @juke in https://github.com/ai16z/eliza/pull/194 -* Updated documentation by @atvonsc in https://github.com/ai16z/eliza/pull/195 -* Major documentation updates by @madjin in https://github.com/ai16z/eliza/pull/199 -* swap Dao action initital by @MarcoMandar in https://github.com/ai16z/eliza/pull/196 -* Swap functionality by @lalalune in https://github.com/ai16z/eliza/pull/197 -* Add RedPill API Support by @HashWarlock in https://github.com/ai16z/eliza/pull/198 -* Fix Discord Voice and DMs by @lalalune in https://github.com/ai16z/eliza/pull/203 -* Shaw fix characters paths, .ts requirement and missings args by @lalalune in https://github.com/ai16z/eliza/pull/204 -* Implement grok beta by @MeDott29 in https://github.com/ai16z/eliza/pull/216 -* add the template overrides by @lalalune in https://github.com/ai16z/eliza/pull/207 -* lazy load llama by @lalalune in https://github.com/ai16z/eliza/pull/220 -* Abstracts Eliza into a Package to enble publishing onto NPM along with plugin system by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/214 -* Add OLLAMA as Model Provider by @o-on-x in https://github.com/ai16z/eliza/pull/221 -* models.gguf stored in models file, & tsconfig changes for ref @eliza/core & other things by @o-on-x in https://github.com/ai16z/eliza/pull/224 -* plugin-image-generation tsconfig.json fix & ollama error handling by @o-on-x in https://github.com/ai16z/eliza/pull/228 -* Update Docs by @madjin in https://github.com/ai16z/eliza/pull/231 -* update docs by @madjin in https://github.com/ai16z/eliza/pull/233 -* move code out to plugins, adapters and clients by @lalalune in https://github.com/ai16z/eliza/pull/225 -* Added OpenRouter model provider by @o-on-x in https://github.com/ai16z/eliza/pull/245 -* Support google models in generation by @parzival418 in https://github.com/ai16z/eliza/pull/246 -* trust integration by @MarcoMandar in https://github.com/ai16z/eliza/pull/248 -* Working PostGres Adapter by @cvartanian in https://github.com/ai16z/eliza/pull/247 -* use openai embeddings setting by @o-on-x in https://github.com/ai16z/eliza/pull/252 -* refactor embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/254 -* embedding set to use openai endpoint when using openai embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/255 -* bigint support in logger by @o-on-x in https://github.com/ai16z/eliza/pull/256 -* Fix: changed claude-3-5-haiku to claude-3-5-haiku-20241022 for fixing… by @denizekiz in https://github.com/ai16z/eliza/pull/257 -* Update docs by @madjin in https://github.com/ai16z/eliza/pull/253 -* cachedEmbeddings fix by @dorianjanezic in https://github.com/ai16z/eliza/pull/262 -* add verbose config with logger by @v1xingyue in https://github.com/ai16z/eliza/pull/249 -* recommendations, token info, client auto by @MarcoMandar in https://github.com/ai16z/eliza/pull/250 -* fix: docs features darkmode color by @fabianhug in https://github.com/ai16z/eliza/pull/266 -* docs homepage rework by @mrpspring in https://github.com/ai16z/eliza/pull/280 -* Improve Docs by @madjin in https://github.com/ai16z/eliza/pull/273 -* Don't blow up if the wallet is missing by @ferric-sol in https://github.com/ai16z/eliza/pull/281 -* Fix embedding calculation for sqlite by @ferric-sol in https://github.com/ai16z/eliza/pull/261 -* Fix: compute unit increasein swapts, default is too low to make trans… by @denizekiz in https://github.com/ai16z/eliza/pull/276 -* add modelProvider to json to resolve embeddings error by @twilwa in https://github.com/ai16z/eliza/pull/274 -* fix docs: add python as a prerequisite (needed for node-gyp) by @metadiver in https://github.com/ai16z/eliza/pull/277 -* Bundles by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/285 -* Loaf stuff by @lalalune in https://github.com/ai16z/eliza/pull/286 -* Added missing GROK model provider key initialization by @FabriceIRANKUNDA in https://github.com/ai16z/eliza/pull/296 -* Added Transfer / Send Token Action by @o-on-x in https://github.com/ai16z/eliza/pull/297 -* telegram: start agent after client initialization by @o-on-x in https://github.com/ai16z/eliza/pull/304 -* Telegram client refactor for bot info availability by @ropresearch in https://github.com/ai16z/eliza/pull/308 -* Increased llama and llama based model temperatures by @alanneary17 in https://github.com/ai16z/eliza/pull/310 -* docs: add a new Japanese README by @eltociear in https://github.com/ai16z/eliza/pull/307 -* Add Korean and French README by @BugByClaude in https://github.com/ai16z/eliza/pull/312 -* fix service call patterns but needs testing by @lalalune in https://github.com/ai16z/eliza/pull/311 -* add node version check by @thearyanag in https://github.com/ai16z/eliza/pull/299 -* added working pumpfun.ts by @o-on-x in https://github.com/ai16z/eliza/pull/313 -* Fix broken docs by @madjin in https://github.com/ai16z/eliza/pull/321 -* docs: add a new Portuguese README version by @gabrielsants in https://github.com/ai16z/eliza/pull/320 -* Update Quickstart Guide by @odilitime in https://github.com/ai16z/eliza/pull/325 -* Save Trade on creation to the backend by @MarcoMandar in https://github.com/ai16z/eliza/pull/328 -* utils.ts example tweet splitting by @o-on-x in https://github.com/ai16z/eliza/pull/323 -* [LLM Object Generation][1/2] Leverage AI Lib's Generate Object instead of parsing strings by @monilpat in https://github.com/ai16z/eliza/pull/309 -* claude vertex configs added to generation.ts (was missing) by @denizekiz in https://github.com/ai16z/eliza/pull/330 -* README_KOR.md Korean version edited by a Korean by @sumin13245 in https://github.com/ai16z/eliza/pull/329 -* Dockerized application for local development, testing and deployment by @pindaroso in https://github.com/ai16z/eliza/pull/293 -* fix: Build error for packages requiring @ai16z/eliza by @shakkernerd in https://github.com/ai16z/eliza/pull/331 -* Docs: README.md improvements: clarify testing, add additional docker information by @odilitime in https://github.com/ai16z/eliza/pull/333 -* Docs: additional Quickstart clarification and improvements by @odilitime in https://github.com/ai16z/eliza/pull/334 -* added clientConfig to optionally ignore bots and DMs by @vivoidos in https://github.com/ai16z/eliza/pull/336 -* feat: Add Heurist API Integration as New Model Provider by @tsubasakong in https://github.com/ai16z/eliza/pull/335 -* feat: Starknet plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/287 -* fix: dev build by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/343 -* Update Heurist Integration Documentation and Examples by @tsubasakong in https://github.com/ai16z/eliza/pull/339 -* getOrCreateRecommenderWithTelegramId by @MarcoMandar in https://github.com/ai16z/eliza/pull/345 -* fix: imports and cleanups by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/344 -* trust fixes by @MarcoMandar in https://github.com/ai16z/eliza/pull/347 -* feat: trust db by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/349 -* Add Community & contact and Star History by @thejoven in https://github.com/ai16z/eliza/pull/353 -* fix: solana by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/354 -* fix: some trust fixes by @lalalune in https://github.com/ai16z/eliza/pull/346 -* change default configuration of Heurist by @wjw12 in https://github.com/ai16z/eliza/pull/348 -* update tweet interval to 90-180 mins by @oguzserdar in https://github.com/ai16z/eliza/pull/360 -* feat: update docs with new stream notes by @madjin in https://github.com/ai16z/eliza/pull/364 -* post time set in env by @o-on-x in https://github.com/ai16z/eliza/pull/368 -* default set to new standard post time 90-180 type: post time by @o-on-x in https://github.com/ai16z/eliza/pull/369 -* feat: readme by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/370 -* twitter-profile-remake by @alextitonis in https://github.com/ai16z/eliza/pull/263 -* fix: bug in getRecentMessageInteractions not awating for promisses before formating by @bmgalego in https://github.com/ai16z/eliza/pull/366 -* feat: starknet token transfer by @enitrat in https://github.com/ai16z/eliza/pull/373 -* feat: Adding unit tests for start - Covering goals, defaultCharacters, relationships, evaulators, posts, database, messages by @ai16z-demirix in https://github.com/ai16z/eliza/pull/367 -* feat: Enhance Heurist Image Generation Settings and Image Handling by @tsubasakong in https://github.com/ai16z/eliza/pull/375 -* feat: install clients from plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/371 -* fix: openrouter 70b don't support 128000, changed to 405b in model.ts by @denizekiz in https://github.com/ai16z/eliza/pull/356 -* feat: client by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/382 -* feat: Complete Starknet DB Trust by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/355 -* fix: client null by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/390 -* fix: ca for btc was spam/fake by @thearyanag in https://github.com/ai16z/eliza/pull/374 -* feat: Logging improvements by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/393 -* Fix tweet truncation issue by truncating at complete sentences by @boyaloxer in https://github.com/ai16z/eliza/pull/388 -* feat: Create README_ES.md by @metadiver in https://github.com/ai16z/eliza/pull/400 -* Register memory managers if passed to runtime by @martincik in https://github.com/ai16z/eliza/pull/396 -* fix: tsup build error (client-twitter) by @leomercier in https://github.com/ai16z/eliza/pull/402 -* docs: add Russian(RU) translation of README by @whonion in https://github.com/ai16z/eliza/pull/380 -* docs: Update README_FR.md by @xclicx in https://github.com/ai16z/eliza/pull/377 -* docs: add Turkish (TR) translation of README by @oguzserdar in https://github.com/ai16z/eliza/pull/376 -* feat: Contextual Twitter Threads + Spam Reduction by @ropresearch in https://github.com/ai16z/eliza/pull/383 -* fix: Lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/404 -* fix: adds Groq to getTokenForProvider by @bmgalego in https://github.com/ai16z/eliza/pull/381 -* fix: console by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/405 -* feat: unruggable by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/398 -* fix: Fixes by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/407 -* docs: refresh eliza's tagline, fix broken links, unify formatting for core concepts by @wahndo in https://github.com/ai16z/eliza/pull/389 -* docs: add GROK_API_KEY by @whalelephant in https://github.com/ai16z/eliza/pull/409 -* Add italian README.md translation by @fabrizioff in https://github.com/ai16z/eliza/pull/411 -* feat: video generation plugin by @dorianjanezic in https://github.com/ai16z/eliza/pull/394 -* Readme update WSL 2 link added. by @denizekiz in https://github.com/ai16z/eliza/pull/419 -* feat: services by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/412 -* fix: removed ollama embeddings. fastembeddings or openai only by @o-on-x in https://github.com/ai16z/eliza/pull/413 -* fix: Update adapters.md psql schema by @tarrencev in https://github.com/ai16z/eliza/pull/424 -* feat: [Issue-185] Token Provider Tests by @normand1 in https://github.com/ai16z/eliza/pull/365 -* feat: unruggable on starknet by @RedBeardEth in https://github.com/ai16z/eliza/pull/418 -* fix: don't continue to load if a specified file is not found by @odilitime in https://github.com/ai16z/eliza/pull/426 -* feat: lerna an npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/428 - -#### New Contributors - -
-New Contributors -* @juke made their first contribution in https://github.com/ai16z/eliza/pull/194 -* @atvonsc made their first contribution in https://github.com/ai16z/eliza/pull/195 -* @HashWarlock made their first contribution in https://github.com/ai16z/eliza/pull/198 -* @MeDott29 made their first contribution in https://github.com/ai16z/eliza/pull/216 -* @parzival418 made their first contribution in https://github.com/ai16z/eliza/pull/246 -* @cvartanian made their first contribution in https://github.com/ai16z/eliza/pull/247 -* @denizekiz made their first contribution in https://github.com/ai16z/eliza/pull/257 -* @dorianjanezic made their first contribution in https://github.com/ai16z/eliza/pull/262 -* @v1xingyue made their first contribution in https://github.com/ai16z/eliza/pull/249 -* @fabianhug made their first contribution in https://github.com/ai16z/eliza/pull/266 -* @mrpspring made their first contribution in https://github.com/ai16z/eliza/pull/280 -* @FabriceIRANKUNDA made their first contribution in https://github.com/ai16z/eliza/pull/296 -* @ropresearch made their first contribution in https://github.com/ai16z/eliza/pull/308 -* @alanneary17 made their first contribution in https://github.com/ai16z/eliza/pull/310 -* @BugByClaude made their first contribution in https://github.com/ai16z/eliza/pull/312 -* @thearyanag made their first contribution in https://github.com/ai16z/eliza/pull/299 -* @gabrielsants made their first contribution in https://github.com/ai16z/eliza/pull/320 -* @odilitime made their first contribution in https://github.com/ai16z/eliza/pull/325 -* @monilpat made their first contribution in https://github.com/ai16z/eliza/pull/309 -* @sumin13245 made their first contribution in https://github.com/ai16z/eliza/pull/329 -* @pindaroso made their first contribution in https://github.com/ai16z/eliza/pull/293 -* @shakkernerd made their first contribution in https://github.com/ai16z/eliza/pull/331 -* @vivoidos made their first contribution in https://github.com/ai16z/eliza/pull/336 -* @tsubasakong made their first contribution in https://github.com/ai16z/eliza/pull/335 -* @thejoven made their first contribution in https://github.com/ai16z/eliza/pull/353 -* @wjw12 made their first contribution in https://github.com/ai16z/eliza/pull/348 -* @oguzserdar made their first contribution in https://github.com/ai16z/eliza/pull/360 -* @bmgalego made their first contribution in https://github.com/ai16z/eliza/pull/366 -* @enitrat made their first contribution in https://github.com/ai16z/eliza/pull/373 -* @ai16z-demirix made their first contribution in https://github.com/ai16z/eliza/pull/367 -* @boyaloxer made their first contribution in https://github.com/ai16z/eliza/pull/388 -* @martincik made their first contribution in https://github.com/ai16z/eliza/pull/396 -* @whonion made their first contribution in https://github.com/ai16z/eliza/pull/380 -* @xclicx made their first contribution in https://github.com/ai16z/eliza/pull/377 -* @whalelephant made their first contribution in https://github.com/ai16z/eliza/pull/409 -* @fabrizioff made their first contribution in https://github.com/ai16z/eliza/pull/411 -* @tarrencev made their first contribution in https://github.com/ai16z/eliza/pull/424 -* @normand1 made their first contribution in https://github.com/ai16z/eliza/pull/365 -* @RedBeardEth made their first contribution in https://github.com/ai16z/eliza/pull/418 -
- -#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 ---- +#### Bug Fixes +- Fixed embedding calculation for SQLite (PR #261) +- Fixed tweet truncation issues (PR #388) +- Improved error handling for model providers +- Fixed wallet interaction issues (PR #281) + +#### Technical Improvements +- Added lazy loading for LLAMA models (PR #220) +- Implemented node version checking (PR #299) +- Created template overrides system (PR #207) +- Enhanced embedding handling (PR #254, #262) + +#### Full Changelog +https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 diff --git a/docs/docs/core/overview.md b/docs/docs/core/overview.md index 32e461e62b4..8c4440e07fa 100644 --- a/docs/docs/core/overview.md +++ b/docs/docs/core/overview.md @@ -4,16 +4,30 @@ sidebar_position: 1 # Overview + Eliza is a framework for creating AI agents that can interact across multiple platforms. **Features** - **Modular Design**: Plugins and services allow for flexible customization. -- **Scalable Knowledge**: Supports both RAG-based and direct knowledge processing. +- **Knowledge**: Supports both RAG-based and direct knowledge processing. - **Stateful Interactions**: Maintains context across conversations. - **Multi-Agent Support**: Supports running multiple agents with distinct configurations. - **Multi-Platform Support**: Integrates with various clients (e.g., Discord, Telegram). -This document provides a high-level overview of the system architecture and how components work together. +Eliza consists of these core components: +- **Agents (Runtime)**: AI personalities that interact with users and platforms +- **Actions**: Executable behaviors that agents can perform in response to messages +- **Clients**: Platform connectors for services like Discord, Twitter, and Telegram +- **Plugins**: Modular extensions that add new features and capabilities +- **Providers**: Services that supply contextual information to agents +- **Evaluators**: Modules that analyze conversations and track agent goals +- **Character Files**: JSON configurations that define agent personalities +- **Memory System**: Database that stores and manages agent information using vector embeddings + +Here's an overview of how eliza works from user input to response generation: +![](/img/overview.png) +Source: https://x.com/gelatonetwork/status/1894408632915169618 + --- diff --git a/docs/docs/core/plugins.md b/docs/docs/core/plugins.md index 2d514146067..6971952a92e 100644 --- a/docs/docs/core/plugins.md +++ b/docs/docs/core/plugins.md @@ -2,6 +2,9 @@ Plugins (or packages) are modular extensions that enhance the capabilities of ElizaOS agents. They provide a flexible way to add new functionality, integrate external services, and customize agent behavior across different platforms. +**Browse the various plugins the eliza dev community made here: [Package Showcase](/showcase)** + +[![](/img/plugins.png)](/showcase) > elizaOS maintains an official package registry at [github.com/elizaos-plugins/registry](https://github.com/elizaos-plugins/registry). --- diff --git a/docs/docs/faq.md b/docs/docs/faq.md index 5a9d5fa248f..bfb3c0c4609 100644 --- a/docs/docs/faq.md +++ b/docs/docs/faq.md @@ -4,18 +4,6 @@ ### What is Eliza? Eliza is an open-source framework for building AI agents that can interact on platforms like Twitter, Discord, and Telegram. It was created by Shaw and is maintained by the community. -### What are the key components of Eliza? - -Eliza consists of these core components: -- **Agents**: AI personalities that interact with users and platforms -- **Actions**: Executable behaviors that agents can perform in response to messages -- **Clients**: Platform connectors for services like Discord, Twitter, and Telegram -- **Plugins**: Modular extensions that add new features and capabilities -- **Providers**: Services that supply contextual information to agents -- **Evaluators**: Modules that analyze conversations and track agent goals -- **Character Files**: JSON configurations that define agent personalities -- **Memory System**: Database that stores and manages agent information using vector embeddings - ### What's the difference between v1 and v2? Note: It's recommended for devs to keep working with v1, v2 will be mostly backwards compatible diff --git a/docs/docs/guides/configuration.md b/docs/docs/guides/configuration.md index 9709bb48e50..7de783069d8 100644 --- a/docs/docs/guides/configuration.md +++ b/docs/docs/guides/configuration.md @@ -16,160 +16,24 @@ The first step is creating your environment configuration file: cp .env.example .env ``` -### Core Environment Variables +Then edit the `.env` file to add your specific configuration values. -Here are the essential environment variables you need to configure: - -```bash -# Core API Keys -OPENAI_API_KEY=sk-your-key # Required for OpenAI features -ANTHROPIC_API_KEY=your-key # Required for Claude models -TOGETHER_API_KEY=your-key # Required for Together.ai models -``` - -### Client-Specific Configuration - -#### Discord Configuration - -```bash -DISCORD_APPLICATION_ID= # Your Discord app ID -DISCORD_API_TOKEN= # Discord bot token -``` - -#### Twitter Configuration - -```bash -TWITTER_USERNAME= # Bot Twitter username -TWITTER_PASSWORD= # Bot Twitter password -TWITTER_EMAIL= # Twitter account email -TWITTER_DRY_RUN=false # Test mode without posting -``` - -#### Telegram Configuration - -```bash -TELEGRAM_BOT_TOKEN= # Telegram bot token -``` - -### Model Provider Settings - -You can configure different AI model providers: - -```bash -# OpenAI Settings -OPENAI_API_KEY=sk-* - -# Anthropic Settings -ANTHROPIC_API_KEY= - -# Together.ai Settings -TOGETHER_API_KEY= - -# Heurist Settings -HEURIST_API_KEY= - -# Livepeer Settings -LIVEPEER_GATEWAY_URL= -``` - -### Cloudflare AI Gateway Integration - -Eliza supports routing API calls through [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/), which provides several benefits: - -- Detailed analytics and monitoring of message traffic and response times -- Cost optimization through request caching and usage tracking across providers -- Improved latency through Cloudflare's global network -- Comprehensive visibility into message content and token usage -- Cost analysis and comparison between different AI providers -- Usage patterns and trends visualization -- Request/response logging for debugging and optimization - -To enable Cloudflare AI Gateway: - -```bash -# Cloudflare AI Gateway Settings -CLOUDFLARE_GW_ENABLED=true -CLOUDFLARE_AI_ACCOUNT_ID=your-account-id -CLOUDFLARE_AI_GATEWAY_ID=your-gateway-id -``` - -Supported providers through Cloudflare AI Gateway: -- OpenAI -- Anthropic -- Groq - -When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. The gateway URL is constructed in the format: -``` -https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/${provider} -``` - -If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. - -```bash -# Cloudflare AI Gateway Settings -CLOUDFLARE_GW_ENABLED=true -CLOUDFLARE_AI_ACCOUNT_ID=your-account-id -CLOUDFLARE_AI_GATEWAY_ID=your-gateway-id -``` - -Supported providers through Cloudflare AI Gateway: -- OpenAI -- Anthropic -- Groq - -When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. The gateway URL is constructed in the format: -``` -https://gateway.ai.cloudflare.com/v1/${accountId}/${gatewayId}/${provider} -``` - -If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. - -### Image Generation - -Configure image generation in your character file: - -```json -{ - "modelProvider": "heurist", - "settings": { - "imageSettings": { - "steps": 20, - "width": 1024, - "height": 1024 - } - } -} -``` - -Example usage: +--- -```typescript -const result = await generateImage( - { - prompt: 'A cute anime girl with big breasts and straight long black hair wearing orange T-shirt.', - width: 1024, - height: 1024, - numIterations: 20, // optional - guidanceScale: 3, // optional - seed: -1, // optional - modelId: "FLUX.1-dev", // optional - }, - runtime, -); -``` ## Character Configuration -### Character File Structure - Character files define your agent's personality and behavior. Create them in the `characters/` directory: ```json { "name": "AgentName", "clients": ["discord", "twitter"], - "modelProvider": "openai", + "modelProvider": "openrouter", "settings": { + "model": "openai/gpt-4o", + "temperature": 0.7, + "maxTokens": 2000, "secrets": { "OPENAI_API_KEY": "character-specific-key", "DISCORD_TOKEN": "bot-specific-token" @@ -178,21 +42,6 @@ Character files define your agent's personality and behavior. Create them in the } ``` -### Loading Characters - -You can load characters in several ways: - -```bash -# Load default character -pnpm start - -# Load specific character -pnpm start --characters="characters/your-character.json" - -# Load multiple characters -pnpm start --characters="characters/char1.json,characters/char2.json" -``` - ### Secrets for Multiple Characters If you don't want to have secrets in your character files because you would @@ -210,6 +59,8 @@ CHARACTER.DOBBY.DISCORD_APPLICATION_ID=123 CHARACTER.DOBBY.DISCORD_API_TOKEN=369 ``` +--- + ## Custom Actions ### Adding Custom Actions @@ -224,73 +75,36 @@ actions: path: ./custom_actions/myAction.ts ``` -### Action Configuration Structure +See the [actions](/docs/core/actions) page for more info. -```typescript -export const myAction: Action = { - name: "MY_ACTION", - similes: ["SIMILAR_ACTION", "ALTERNATE_NAME"], - validate: async (runtime: IAgentRuntime, message: Memory) => { - // Validation logic - return true; - }, - description: "Action description", - handler: async (runtime: IAgentRuntime, message: Memory) => { - // Action logic - return true; - }, -}; -``` +--- -## Provider Configuration +## Advanced Configuration -### Database Providers +### Cloudflare AI Gateway Integration -Configure different database backends: +Eliza supports routing API calls through [Cloudflare AI Gateway](https://developers.cloudflare.com/ai-gateway/), which provides several benefits: -```typescript -// SQLite (Recommended for development) -import { SqliteDatabaseAdapter } from "@your-org/agent-framework/adapters"; -const db = new SqliteDatabaseAdapter("./dev.db"); - -// PostgreSQL (Production) -import { PostgresDatabaseAdapter } from "@your-org/agent-framework/adapters"; -const db = new PostgresDatabaseAdapter({ - host: process.env.DB_HOST, - port: parseInt(process.env.DB_PORT), - database: process.env.DB_NAME, - user: process.env.DB_USER, - password: process.env.DB_PASSWORD, -}); -``` +- Detailed analytics and monitoring of message traffic and response times +- Cost optimization through request caching and usage tracking across providers +- Improved latency through Cloudflare's global network +- Comprehensive visibility into message content and token usage -### Model Providers +When enabled, Eliza will automatically route requests through your Cloudflare AI Gateway endpoint. If the gateway configuration is incomplete or disabled, Eliza will fall back to direct API calls. -Configure model providers in your character file: +### Logging -```json -{ - "modelProvider": "openai", - "settings": { - "model": "gpt-4o-mini", - "temperature": 0.7, - "maxTokens": 2000 - } -} +```bash +DEFAULT_LOG_LEVEL=info # Options: debug, info, warn, error +LOG_JSON_FORMAT=false # Set to true for JSON formatted logs ``` -## Advanced Configuration - -### Runtime Settings +### Performance Settings Fine-tune runtime behavior: ```typescript const settings = { - // Logging - DEBUG: "eliza:*", - LOG_LEVEL: "info", - // Performance MAX_CONCURRENT_REQUESTS: 5, REQUEST_TIMEOUT: 30000, @@ -301,46 +115,857 @@ const settings = { }; ``` +--- -## Configuration Best Practices - -1. **Environment Segregation** - -- Use different `.env` files for different environments -- Follow naming convention: `.env.development`, `.env.staging`, `.env.production` - -2. **Secret Management** - -- Never commit secrets to version control - - Github has branch / workflow protection -- Use secret management services in production -- Rotate API keys regularly - -3. **Character Configuration** - -- Keep character files modular and focused -- Use inheritance for shared traits -- Document character behaviors +## Environment Variables Reference -4. **Plugin Management** +
+Click to expand .env.example file -- Enable only needed plugins -- Configure plugin-specific settings in separate files +```bash +# Eliza Environment Variables - Compact Reference + +## SERVER & DATABASE +CACHE_STORE=database # Options: database|redis|filesystem +CACHE_DIR=./data/cache # For filesystem cache +REDIS_URL= # Redis connection string +PGLITE_DATA_DIR= # ../pgLite/ or memory:// +SERVER_URL=http://localhost # Base URL +SERVER_PORT=3000 # Port number +SUPABASE_URL= # Supabase URL +SUPABASE_ANON_KEY= # Supabase key +MONGODB_CONNECTION_STRING= # MongoDB connection +MONGODB_DATABASE= # Default: elizaAgent +REMOTE_CHARACTER_URLS= # Comma-separated URLs +USE_CHARACTER_STORAGE=false # Store characters in data/character +DEFAULT_LOG_LEVEL=info # Log level +LOG_JSON_FORMAT=false # JSON format for logs + +## CLIENT INTEGRATIONS +# BitMind +BITMIND=true # Enable BitMind +BITMIND_API_TOKEN= # API token + +# Discord +DISCORD_APPLICATION_ID= # App ID +DISCORD_API_TOKEN= # Bot token +DISCORD_VOICE_CHANNEL_ID= # Voice channel + +# Devin +DEVIN_API_TOKEN= # API token + +# Gelato +GELATO_RELAY_API_KEY= # API key + +# Farcaster +FARCASTER_FID= # FID for account +FARCASTER_NEYNAR_API_KEY= # API key +FARCASTER_NEYNAR_SIGNER_UUID= # Signer UUID +FARCASTER_DRY_RUN=false # Run without publishing +FARCASTER_POLL_INTERVAL=120 # Check interval (sec) + +# Telegram +TELEGRAM_BOT_TOKEN= # Bot token +TELEGRAM_ACCOUNT_PHONE= # Phone number +TELEGRAM_ACCOUNT_APP_ID= # App API ID +TELEGRAM_ACCOUNT_APP_HASH= # App API hash +TELEGRAM_ACCOUNT_DEVICE_MODEL= # Device model +TELEGRAM_ACCOUNT_SYSTEM_VERSION= # System version + +# Twitter/X +TWITTER_DRY_RUN=false # Simulate without posting +TWITTER_USERNAME= # Account username +TWITTER_PASSWORD= # Account password +TWITTER_EMAIL= # Account email +TWITTER_2FA_SECRET= # 2FA secret +TWITTER_COOKIES_AUTH_TOKEN= # Auth token +TWITTER_COOKIES_CT0= # Cookie CT0 +TWITTER_COOKIES_GUEST_ID= # Guest ID cookie +TWITTER_POLL_INTERVAL=120 # Check interval (sec) +TWITTER_SEARCH_ENABLE=FALSE # Enable timeline search +TWITTER_TARGET_USERS= # Usernames to interact with +TWITTER_RETRY_LIMIT= # Max retry attempts +TWITTER_SPACES_ENABLE=false # Enable Spaces +ENABLE_TWITTER_POST_GENERATION=true # Auto tweet generation +POST_INTERVAL_MIN= # Min post interval (min), default: 90 +POST_INTERVAL_MAX= # Max post interval (min), default: 180 +POST_IMMEDIATELY= # Post immediately, default: false +ACTION_INTERVAL= # Action processing interval (min), default: 5 +ENABLE_ACTION_PROCESSING=false # Enable action processing +MAX_ACTIONS_PROCESSING=1 # Max actions per cycle +ACTION_TIMELINE_TYPE=foryou # Timeline type: foryou|following +TWITTER_APPROVAL_DISCORD_CHANNEL_ID= # Discord channel ID +TWITTER_APPROVAL_DISCORD_BOT_TOKEN= # Discord bot token +TWITTER_APPROVAL_ENABLED= # Enable approval, default: false +TWITTER_APPROVAL_CHECK_INTERVAL=60000 # Check interval (ms) + +# WhatsApp +WHATSAPP_ACCESS_TOKEN= # Access token +WHATSAPP_PHONE_NUMBER_ID= # Phone number ID +WHATSAPP_BUSINESS_ACCOUNT_ID= # Business Account ID +WHATSAPP_WEBHOOK_VERIFY_TOKEN= # Webhook token +WHATSAPP_API_VERSION=v17.0 # API version + +# Alexa +ALEXA_SKILL_ID= # Skill ID +ALEXA_CLIENT_ID= # OAuth2 Client ID +ALEXA_CLIENT_SECRET= # OAuth2 Client Secret + +# SimsAI +SIMSAI_API_KEY= # API key +SIMSAI_AGENT_ID= # Agent ID +SIMSAI_USERNAME= # Username +SIMSAI_DRY_RUN= # Test without API calls + +# Direct Client +EXPRESS_MAX_PAYLOAD= # Max payload, default: 100kb + +# Instagram +INSTAGRAM_DRY_RUN=false # Simulate without posting +INSTAGRAM_USERNAME= # Username +INSTAGRAM_PASSWORD= # Password +INSTAGRAM_APP_ID= # App ID (required) +INSTAGRAM_APP_SECRET= # App Secret (required) +INSTAGRAM_BUSINESS_ACCOUNT_ID= # Business Account ID +INSTAGRAM_POST_INTERVAL_MIN=60 # Min interval (min) +INSTAGRAM_POST_INTERVAL_MAX=120 # Max interval (min) +INSTAGRAM_ENABLE_ACTION_PROCESSING=false # Enable actions +INSTAGRAM_ACTION_INTERVAL=5 # Action interval (min) +INSTAGRAM_MAX_ACTIONS=1 # Max actions per cycle + +## MODEL PROVIDERS +# OpenAI +OPENAI_API_KEY= # API key (sk-*) +OPENAI_API_URL= # API endpoint, default: https://api.openai.com/v1 +SMALL_OPENAI_MODEL= # Default: gpt-4o-mini +MEDIUM_OPENAI_MODEL= # Default: gpt-4o +LARGE_OPENAI_MODEL= # Default: gpt-4o +EMBEDDING_OPENAI_MODEL= # Default: text-embedding-3-small +IMAGE_OPENAI_MODEL= # Default: dall-e-3 +USE_OPENAI_EMBEDDING= # TRUE for OpenAI embeddings +ENABLE_OPEN_AI_COMMUNITY_PLUGIN=false # Enable community plugin +OPENAI_DEFAULT_MODEL= # Default model +OPENAI_MAX_TOKENS= # Max tokens +OPENAI_TEMPERATURE= # Temperature + +# Atoma SDK +ATOMASDK_BEARER_AUTH= # Bearer token +ATOMA_API_URL= # Default: https://api.atoma.network/v1 +SMALL_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct +MEDIUM_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct +LARGE_ATOMA_MODEL= # Default: meta-llama/Llama-3.3-70B-Instruct + +# Eternal AI +ETERNALAI_URL= # Service URL +ETERNALAI_MODEL= # Default: NousResearch/Hermes-3-Llama-3.1-70B-FP8 +ETERNALAI_CHAIN_ID=8453 # Default: 8453 +ETERNALAI_RPC_URL= # RPC URL +ETERNALAI_AGENT_CONTRACT_ADDRESS= # Contract address +ETERNALAI_AGENT_ID= # Agent ID +ETERNALAI_API_KEY= # API key +ETERNALAI_LOG=false # Enable logging + +# Hyperbolic +HYPERBOLIC_API_KEY= # API key +HYPERBOLIC_MODEL= # Model name +IMAGE_HYPERBOLIC_MODEL= # Default: FLUX.1-dev +SMALL_HYPERBOLIC_MODEL= # Default: meta-llama/Llama-3.2-3B-Instruct +MEDIUM_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-70B-Instruct +LARGE_HYPERBOLIC_MODEL= # Default: meta-llama/Meta-Llama-3.1-405-Instruct +HYPERBOLIC_ENV=production # Environment +HYPERBOLIC_GRANULAR_LOG=true # Granular logging +HYPERBOLIC_SPASH=true # Show splash +HYPERBOLIC_LOG_LEVEL=debug # Log level + +# Infera +INFERA_API_KEY= # API key +INFERA_MODEL= # Default: llama3.2:latest +INFERA_SERVER_URL= # Default: https://api.infera.org/ +SMALL_INFERA_MODEL= # Recommended: llama3.2:latest +MEDIUM_INFERA_MODEL= # Recommended: mistral-nemo:latest +LARGE_INFERA_MODEL= # Recommended: mistral-small:latest + +# Venice +VENICE_API_KEY= # API key +SMALL_VENICE_MODEL= # Default: llama-3.3-70b +MEDIUM_VENICE_MODEL= # Default: llama-3.3-70b +LARGE_VENICE_MODEL= # Default: llama-3.1-405b +IMAGE_VENICE_MODEL= # Default: fluently-xl + +# Nineteen.ai +NINETEEN_AI_API_KEY= # API key +SMALL_NINETEEN_AI_MODEL= # Default: unsloth/Llama-3.2-3B-Instruct +MEDIUM_NINETEEN_AI_MODEL= # Default: unsloth/Meta-Llama-3.1-8B-Instruct +LARGE_NINETEEN_AI_MODEL= # Default: hugging-quants/Meta-Llama-3.1-70B-Instruct-AWQ-INT4 +IMAGE_NINETEEN_AI_MODE= # Default: dataautogpt3/ProteusV0.4-Lightning + +# Akash Chat API +AKASH_CHAT_API_KEY= # API key +SMALL_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-2-3B-Instruct +MEDIUM_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-3-70B-Instruct +LARGE_AKASH_CHAT_API_MODEL= # Default: Meta-Llama-3-1-405B-Instruct-FP8 + +# Livepeer +LIVEPEER_GATEWAY_URL=https://dream-gateway.livepeer.cloud # Gateway URL +IMAGE_LIVEPEER_MODEL= # Default: ByteDance/SDXL-Lightning +SMALL_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct +MEDIUM_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct +LARGE_LIVEPEER_MODEL= # Default: meta-llama/Meta-Llama-3.1-8B-Instruct + +# Speech & Transcription +ELEVENLABS_XI_API_KEY= # ElevenLabs API key +ELEVENLABS_MODEL_ID=eleven_multilingual_v2 # Model ID +ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM # Voice ID +ELEVENLABS_VOICE_STABILITY=0.5 # Stability +ELEVENLABS_VOICE_SIMILARITY_BOOST=0.9 # Similarity boost +ELEVENLABS_VOICE_STYLE=0.66 # Style value +ELEVENLABS_VOICE_USE_SPEAKER_BOOST=false # Speaker boost +ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=4 # Latency level +ELEVENLABS_OUTPUT_FORMAT=pcm_16000 # Output format +TRANSCRIPTION_PROVIDER= # Default: local, options: openai|deepgram|local +DEEPGRAM_API_KEY= # Deepgram API key + +# OpenRouter +OPENROUTER_API_KEY= # API key +OPENROUTER_MODEL= # Default: uses hermes 70b/405b +SMALL_OPENROUTER_MODEL= # Small model +MEDIUM_OPENROUTER_MODEL= # Medium model +LARGE_OPENROUTER_MODEL= # Large model + +# REDPILL +REDPILL_API_KEY= # API key +REDPILL_MODEL= # Model name +SMALL_REDPILL_MODEL= # Default: gpt-4o-mini +MEDIUM_REDPILL_MODEL= # Default: gpt-4o +LARGE_REDPILL_MODEL= # Default: gpt-4o + +# Grok +GROK_API_KEY= # API key +SMALL_GROK_MODEL= # Default: grok-2-1212 +MEDIUM_GROK_MODEL= # Default: grok-2-1212 +LARGE_GROK_MODEL= # Default: grok-2-1212 +EMBEDDING_GROK_MODEL= # Default: grok-2-1212 + +# Ollama +OLLAMA_SERVER_URL= # Default: localhost:11434 +OLLAMA_MODEL= # Model name +USE_OLLAMA_EMBEDDING= # TRUE for Ollama embeddings +OLLAMA_EMBEDDING_MODEL= # Default: mxbai-embed-large +SMALL_OLLAMA_MODEL= # Default: llama3.2 +MEDIUM_OLLAMA_MODEL= # Default: hermes3 +LARGE_OLLAMA_MODEL= # Default: hermes3:70b + +# Google +GOOGLE_MODEL= # Model name +SMALL_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest +MEDIUM_GOOGLE_MODEL= # Default: gemini-1.5-flash-latest +LARGE_GOOGLE_MODEL= # Default: gemini-1.5-pro-latest +EMBEDDING_GOOGLE_MODEL= # Default: text-embedding-004 +GOOGLE_GENERATIVE_AI_API_KEY= # Gemini API key + +# Mistral +MISTRAL_MODEL= # Model name +SMALL_MISTRAL_MODEL= # Default: mistral-small-latest +MEDIUM_MISTRAL_MODEL= # Default: mistral-large-latest +LARGE_MISTRAL_MODEL= # Default: mistral-large-latest + +# Groq +GROQ_API_KEY= # API key (gsk_*) +SMALL_GROQ_MODEL= # Default: llama-3.1-8b-instant +MEDIUM_GROQ_MODEL= # Default: llama-3.3-70b-versatile +LARGE_GROQ_MODEL= # Default: llama-3.2-90b-vision-preview +EMBEDDING_GROQ_MODEL= # Default: llama-3.1-8b-instant + +# LlamaLocal +LLAMALOCAL_PATH= # Default: current directory + +# NanoGPT +SMALL_NANOGPT_MODEL= # Default: gpt-4o-mini +MEDIUM_NANOGPT_MODEL= # Default: gpt-4o +LARGE_NANOGPT_MODEL= # Default: gpt-4o +NANOGPT_API_KEY= # API key + +# Anthropic +ANTHROPIC_API_KEY= # API key +ANTHROPIC_API_URL= # API URL +SMALL_ANTHROPIC_MODEL= # Default: claude-3-haiku-20240307 +MEDIUM_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022 +LARGE_ANTHROPIC_MODEL= # Default: claude-3-5-sonnet-20241022 + +# Heurist +HEURIST_API_KEY= # API key +SMALL_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct +MEDIUM_HEURIST_MODEL= # Default: meta-llama/llama-3-70b-instruct +LARGE_HEURIST_MODEL= # Default: meta-llama/llama-3.3-70b-instruct +HEURIST_IMAGE_MODEL= # Default: FLUX.1-dev +HEURIST_EMBEDDING_MODEL= # Default: BAAI/bge-large-en-v1.5 +USE_HEURIST_EMBEDDING= # TRUE for Heurist embeddings + +# Gaianet +GAIANET_MODEL= # Model name +GAIANET_SERVER_URL= # Server URL +SMALL_GAIANET_MODEL= # Default: llama3b +SMALL_GAIANET_SERVER_URL= # Default: https://llama3b.gaia.domains/v1 +MEDIUM_GAIANET_MODEL= # Default: llama +MEDIUM_GAIANET_SERVER_URL= # Default: https://llama8b.gaia.domains/v1 +LARGE_GAIANET_MODEL= # Default: qwen72b +LARGE_GAIANET_SERVER_URL= # Default: https://qwen72b.gaia.domains/v1 +GAIANET_EMBEDDING_MODEL= # Embedding model +USE_GAIANET_EMBEDDING= # TRUE for Gaianet embeddings + +# Volcengine +VOLENGINE_API_URL= # Default: https://open.volcengineapi.com/api/v3/ +VOLENGINE_MODEL= # Model name +SMALL_VOLENGINE_MODEL= # Default: doubao-lite-128k +MEDIUM_VOLENGINE_MODEL= # Default: doubao-pro-128k +LARGE_VOLENGINE_MODEL= # Default: doubao-pro-256k +VOLENGINE_EMBEDDING_MODEL= # Default: doubao-embedding + +# DeepSeek +DEEPSEEK_API_KEY= # API key +DEEPSEEK_API_URL= # Default: https://api.deepseek.com +SMALL_DEEPSEEK_MODEL= # Default: deepseek-chat +MEDIUM_DEEPSEEK_MODEL= # Default: deepseek-chat +LARGE_DEEPSEEK_MODEL= # Default: deepseek-chat + +# fal.ai +FAL_API_KEY= # API key +FAL_AI_LORA_PATH= # LoRA models path + +# LetzAI +LETZAI_API_KEY= # API key +LETZAI_MODELS= # Models list (e.g., @modelname1, @modelname2) + +# Galadriel +GALADRIEL_API_KEY= # API key (gal-*) +SMALL_GALADRIEL_MODEL= # Default: gpt-4o-mini +MEDIUM_GALADRIEL_MODEL= # Default: gpt-4o +LARGE_GALADRIEL_MODEL= # Default: gpt-4o +GALADRIEL_FINE_TUNE_API_KEY= # OpenAI key for fine-tuned models + +# LM Studio +LMSTUDIO_SERVER_URL= # Default: http://localhost:1234/v1 +LMSTUDIO_MODEL= # Model name +SMALL_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b +MEDIUM_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b +LARGE_LMSTUDIO_MODEL= # Default: hermes-3-llama-3.1-8b + +# Secret AI +SECRET_AI_API_KEY= # API key +SECRET_AI_URL= # Default: https://ai1.scrtlabs.com:21434 +SMALL_SECRET_AI_MODEL= # Default: deepseek-r1:70b +MEDIUM_SECRET_AI_MODEL= # Default: deepseek-r1:70b +LARGE_SECRET_AI_MODEL= # Default: deepseek-r1:70b + +# NEAR AI +NEARAI_API_URL= # Default: https://api.near.ai/v1 +NEARAI_API_KEY= # API key +NEARAI_MODEL= # Model name +SMALL_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p2-3b-instruct +MEDIUM_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p1-70b-instruct +LARGE_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/llama-v3p1-405b-instruct +IMAGE_NEARAI_MODEL= # Default: fireworks::accounts/fireworks/models/playground-v2-5-1024px-aesthetic + +# Other API Keys +ALI_BAILIAN_API_KEY= # Ali Bailian API key +TOGETHER_API_KEY= # Together API key + +## CRYPTO PLUGINS +# Market Data APIs +COINMARKETCAP_API_KEY= # CoinMarketCap API key +ZERION_API_KEY= # Zerion API key +COINGECKO_API_KEY= # CoinGecko API key (free) +COINGECKO_PRO_API_KEY= # CoinGecko Pro API key +MORALIS_API_KEY= # Moralis API key +CHAINBASE_API_KEY= # Chainbase API key (demo for free tier) +BIRDEYE_API_KEY= # Birdeye API key + +# EVM Chains +EVM_PRIVATE_KEY= # Private key (with 0x prefix) +EVM_PROVIDER_URL= # RPC provider URL +ALCHEMY_HTTP_TRANSPORT_URL= # Alchemy HTTP URL +ZERO_EX_API_KEY= # 0x API key + +# Zilliqa +ZILLIQA_PRIVATE_KEY= # Private key +ZILLIQA_PROVIDER_URL= # Provider URL + +# Avalanche +AVALANCHE_PRIVATE_KEY= # Private key +AVALANCHE_PUBLIC_KEY= # Public key + +# Arthera +ARTHERA_PRIVATE_KEY= # Private key + +# Solana +SOLANA_PRIVATE_KEY= # Private key +SOLANA_PUBLIC_KEY= # Public key +SOLANA_CLUSTER= # Options: devnet|testnet|mainnet-beta, default: devnet +SOLANA_ADMIN_PRIVATE_KEY= # Admin private key for NFT verification +SOLANA_ADMIN_PUBLIC_KEY= # Admin public key for NFT verification +SOLANA_VERIFY_TOKEN= # Verification API token +SOL_ADDRESS=So11111111111111111111111111111111111111112 # SOL token address +SLIPPAGE=1 # Slippage percentage +BASE_MINT=So11111111111111111111111111111111111111112 # Base token address +SOLANA_RPC_URL=https://api.mainnet-beta.solana.com # RPC URL +HELIUS_API_KEY= # Helius API key + +# Injective +INJECTIVE_PRIVATE_KEY= # Private key +INJECTIVE_PUBLIC_KEY= # Public key +INJECTIVE_NETWORK= # Network setting + +# Legacy Wallet (deprecated) +WALLET_PRIVATE_KEY= # Private key +WALLET_PUBLIC_KEY= # Public key + +# Abstract +ABSTRACT_ADDRESS= # Address +ABSTRACT_PRIVATE_KEY= # Private key +ABSTRACT_RPC_URL=https://api.testnet.abs.xyz # RPC URL + +# Starknet +STARKNET_ADDRESS= # Address +STARKNET_PRIVATE_KEY= # Private key +STARKNET_RPC_URL=https://rpc.starknet-testnet.lava.build # RPC URL + +# Lens Network +LENS_ADDRESS= # Address +LENS_PRIVATE_KEY= # Private key + +# Viction +VICTION_ADDRESS= # Address +VICTION_PRIVATE_KEY= # Private key +VICTION_RPC_URL= # RPC URL + +# Form Chain +FORM_PRIVATE_KEY= # Character account private key +FORM_TESTNET=true # true=Testnet, false=Mainnet + +# Coinbase +COINBASE_COMMERCE_KEY= # Commerce key +COINBASE_API_KEY= # API key +COINBASE_PRIVATE_KEY= # Private key +COINBASE_GENERATED_WALLET_ID= # Generated wallet ID +COINBASE_GENERATED_WALLET_HEX_SEED= # Wallet hex seed +COINBASE_NOTIFICATION_URI= # Webhook URI + +# Coinbase AgentKit +CDP_API_KEY_NAME= # API key name +CDP_API_KEY_PRIVATE_KEY= # Private key +CDP_AGENT_KIT_NETWORK=base-sepolia # Default: base-sepolia + +# Charity +IS_CHARITABLE=false # Enable charity donations +CHARITY_ADDRESS_BASE= # Base network address +CHARITY_ADDRESS_SOL= # Solana address +CHARITY_ADDRESS_ETH= # Ethereum address +CHARITY_ADDRESS_ARB= # Arbitrum address +CHARITY_ADDRESS_POL= # Polygon address + +# Thirdweb +THIRDWEB_SECRET_KEY= # Secret key + +# Conflux +CONFLUX_CORE_PRIVATE_KEY= # Core private key +CONFLUX_CORE_SPACE_RPC_URL= # Core RPC URL +CONFLUX_ESPACE_PRIVATE_KEY= # eSpace private key +CONFLUX_ESPACE_RPC_URL= # eSpace RPC URL +CONFLUX_MEME_CONTRACT_ADDRESS= # Meme contract address + +# Mind Network +MIND_HOT_WALLET_PRIVATE_KEY= # Hot wallet private key +MIND_COLD_WALLET_ADDRESS= # Cold wallet address + +# ZeroG +ZEROG_INDEXER_RPC= # Indexer RPC +ZEROG_EVM_RPC= # EVM RPC +ZEROG_PRIVATE_KEY= # Private key +ZEROG_FLOW_ADDRESS= # Flow address + +# IQ6900 +IQ_WALLET_ADDRESS= # Wallet address +IQSOlRPC= # Solana RPC + +# Squid Router +SQUID_SDK_URL=https://apiplus.squidrouter.com # Default SDK URL +SQUID_INTEGRATOR_ID= # Integrator ID +SQUID_EVM_ADDRESS= # EVM address +SQUID_EVM_PRIVATE_KEY= # EVM private key +SQUID_API_THROTTLE_INTERVAL=1000 # Throttle interval (ms) + +# TEE Configuration +TEE_MODE=OFF # Options: LOCAL|DOCKER|PRODUCTION|OFF +WALLET_SECRET_SALT= # Salt for wallet secrets +TEE_LOG_DB_PATH= # Default: ./data/tee_log.sqlite +VLOG= # Enable TEE Verifiable Log if "true" +ENABLE_TEE_LOG=false # Enable TEE logging (TEE mode only) +TEE_MARLIN= # Set "yes" to enable Marlin plugin +TEE_MARLIN_ATTESTATION_ENDPOINT= # Default: http://127.0.0.1:1350 + +# Flow Blockchain +FLOW_ADDRESS= # Flow address +FLOW_PRIVATE_KEY= # Private key for SHA3-256 + P256 ECDSA +FLOW_NETWORK= # Default: mainnet +FLOW_ENDPOINT_URL= # Default: https://mainnet.onflow.org + +# Internet Computer Protocol +INTERNET_COMPUTER_PRIVATE_KEY= # ICP private key +INTERNET_COMPUTER_ADDRESS= # ICP address + +# Cloudflare AI +CLOUDFLARE_GW_ENABLED= # Enable Cloudflare AI Gateway +CLOUDFLARE_AI_ACCOUNT_ID= # Account ID +CLOUDFLARE_AI_GATEWAY_ID= # Gateway ID + +# Aptos +APTOS_PRIVATE_KEY= # Private key +APTOS_NETWORK= # Options: mainnet|testnet + +# MultiversX +MVX_PRIVATE_KEY= # Private key +MVX_NETWORK= # Options: mainnet|devnet|testnet +ACCESS_TOKEN_MANAGEMENT_TO=everyone # Limit token management + +# NEAR +NEAR_WALLET_SECRET_KEY= # Secret key +NEAR_WALLET_PUBLIC_KEY= # Public key +NEAR_ADDRESS= # Address +NEAR_SLIPPAGE=1 # Slippage percentage +NEAR_RPC_URL=https://near-testnet.lava.build # RPC URL +NEAR_NETWORK=testnet # Options: testnet|mainnet + +# ZKsync Era +ZKSYNC_ADDRESS= # Address +ZKSYNC_PRIVATE_KEY= # Private key + +# HoldStation +HOLDSTATION_PRIVATE_KEY= # Private key + +# Avail DA +AVAIL_ADDRESS= # Address +AVAIL_SEED= # Seed +AVAIL_APP_ID=0 # App ID +AVAIL_RPC_URL=wss://avail-turing.public.blastapi.io/ # Default RPC URL + +# TON +TON_PRIVATE_KEY= # Mnemonic joined with empty string +TON_RPC_URL= # RPC URL +TON_RPC_API_KEY= # RPC API key +TON_NFT_IMAGES_FOLDER= # NFT images folder +TON_NFT_METADATA_FOLDER= # NFT metadata folder +PINATA_API_KEY= # Pinata API key +PINATA_API_SECRET= # Pinata API secret +PINATA_JWT= # Pinata JWT + +# Sui +SUI_PRIVATE_KEY= # Private key/mnemonic +SUI_NETWORK= # Options: mainnet|testnet|devnet|localnet + +# Mina +MINA_PRIVATE_KEY= # Mnemonic seed phrase +MINA_NETWORK=devnet # Options: mainnet|testnet|devnet|localnet + +# Story +STORY_PRIVATE_KEY= # Private key +STORY_API_BASE_URL= # API base URL +STORY_API_KEY= # API key + +# Cosmos +COSMOS_RECOVERY_PHRASE= # 12-word recovery phrase +COSMOS_AVAILABLE_CHAINS= # Chain list (comma-separated) + +# Cronos zkEVM +CRONOSZKEVM_ADDRESS= # Address +CRONOSZKEVM_PRIVATE_KEY= # Private key + +# Fuel Ecosystem +FUEL_WALLET_PRIVATE_KEY= # Private key + +# Spheron +SPHERON_PRIVATE_KEY= # Private key +SPHERON_PROVIDER_PROXY_URL= # Provider proxy URL +SPHERON_WALLET_ADDRESS= # Wallet address + +# Stargaze +STARGAZE_ENDPOINT= # GraphQL endpoint + +# GenLayer +GENLAYER_PRIVATE_KEY= # Private key (0x format) + +# BNB Chain +BNB_PRIVATE_KEY= # Private key +BNB_PUBLIC_KEY= # Public key +BSC_PROVIDER_URL= # BNB Smart Chain RPC URL +OPBNB_PROVIDER_URL= # OPBNB RPC URL + +# Allora +ALLORA_API_KEY= # API key (UP-* format) +ALLORA_CHAIN_SLUG= # Options: mainnet|testnet, default: testnet + +# B2 Network +B2_PRIVATE_KEY= # Private key + +# Opacity zkTLS +OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f # Team ID +OPACITY_CLOUDFLARE_NAME=eigen-test # Cloudflare name +OPACITY_PROVER_URL=https://opacity-ai-zktls-demo.vercel.app # Prover URL + +# SEI Network +SEI_PRIVATE_KEY= # Private key +SEI_NETWORK= # Options: mainnet|testnet|devnet +SEI_RPC_URL= # Custom RPC URL + +# Omniflix +OMNIFLIX_API_URL= # https://rest.omniflix.network +OMNIFLIX_MNEMONIC= # 12/24-word mnemonic +OMNIFLIX_RPC_ENDPOINT= # https://rpc.omniflix.network +OMNIFLIX_PRIVATE_KEY= # Private key + +# Hyperliquid +HYPERLIQUID_PRIVATE_KEY= # Private key +HYPERLIQUID_TESTNET= # true/false, default: false + +# Lit Protocol +FUNDING_PRIVATE_KEY= # Funding private key +EVM_RPC_URL= # RPC URL + +# EthStorage DA +ETHSTORAGE_PRIVATE_KEY= # Private key +ETHSTORAGE_ADDRESS=0x64003adbdf3014f7E38FC6BE752EB047b95da89A # Address +ETHSTORAGE_RPC_URL=https://rpc.beta.testnet.l2.quarkchain.io:8545 # RPC URL + +# DCAP +DCAP_EVM_PRIVATE_KEY= # Private key +DCAP_MODE= # Options: OFF|PLUGIN-SGX|PLUGIN-TEE|MOCK + +# QuickIntel +QUICKINTEL_API_KEY= # Token security analysis API key + +# News API +NEWS_API_KEY= # From https://newsapi.org/ + +# BTCFUN +BTCFUN_API_URL= # Default: https://api-testnet-new.btc.fun +BTC_PRIVATE_KEY_WIF= # BTC private key in WIF format +BTC_ADDRESS= # BTC address +BTC_MINT_CAP=10000 # Maximum mint amount +BTC_MINT_DEADLINE=864000 # Deadline in seconds +BTC_FUNDRAISING_CAP=100 # Maximum fundraising amount + +# Trikon +TRIKON_WALLET_ADDRESS= # Valid 64-char hex with 0x prefix +TRIKON_INITIAL_BALANCE= # Optional, default: 0 + +# Arbitrage +ARBITRAGE_ETHEREUM_WS_URL= # Ethereum WebSocket URL +ARBITRAGE_EVM_PROVIDER_URL= # Ethereum RPC URL +ARBITRAGE_EVM_PRIVATE_KEY= # Private key for transactions +FLASHBOTS_RELAY_SIGNING_KEY= # Flashbots signing key +BUNDLE_EXECUTOR_ADDRESS= # Bundle executor contract address + +# DESK Exchange +DESK_EXCHANGE_PRIVATE_KEY= # Private key +DESK_EXCHANGE_NETWORK= # mainnet or testnet + +# Compass +COMPASS_WALLET_PRIVATE_KEY= # Private key +COMPASS_ARBITRUM_RPC_URL= # Arbitrum RPC URL +COMPASS_ETHEREUM_RPC_URL= # Ethereum RPC URL +COMPASS_BASE_RPC_URL= # Base RPC URL + +# d.a.t.a +DATA_API_KEY= # API key +DATA_AUTH_TOKEN= # Auth token + +# NKN +NKN_CLIENT_PRIVATE_KEY= # Required client private key +NKN_CLIENT_ID= # Optional client ID + +# Router Nitro EVM +ROUTER_NITRO_EVM_ADDRESS= # Address +ROUTER_NITRO_EVM_PRIVATE_KEY= # Private key + +# OriginTrail DKG +DKG_ENVIRONMENT= # Options: development|testnet|mainnet +DKG_HOSTNAME= # Hostname +DKG_PORT=8900 # Port +DKG_PUBLIC_KEY= # Public key +DKG_PRIVATE_KEY= # Private key +DKG_BLOCKCHAIN_NAME= # Chain configs + +# Initia +INITIA_PRIVATE_KEY= # Wallet private key +INITIA_NODE_URL= # Node URL, default: testnet +INITIA_CHAIN_ID=initia-test # Chain ID, default: testnet + +# NVIDIA +NVIDIA_NIM_ENV=production # Environment +NVIDIA_NIM_SPASH=false # Show splash +NVIDIA_NIM_API_KEY= # NIM API key +NVIDIA_NGC_API_KEY= # NGC API key +NVIDIA_NIM_MAX_RETRIES=3 # Max retries +NVIDIA_NIM_RETRY_DELAY=1000 # Retry delay (ms) +NVIDIA_NIM_TIMEOUT=5000 # Timeout (ms) +NVIDIA_GRANULAR_LOG=true # Granular logging +NVIDIA_LOG_LEVEL=debug # Log level +NVIDIA_OFFTOPIC_SYSTEM= # Off-topic system +NVIDIA_OFFTOPIC_USER= # Off-topic user +NVIDIA_NIM_BASE_VISION_URL=https://ai.api.nvidia.com/v1/vlm # Vision URL +NVIDIA_COSMOS_MODEL=nvidia/cosmos-nemotron-34b # Model name +NVIDIA_COSMOS_INVOKE_URL=https://ai.api.nvidia.com/v1/vlm/nvidia/cosmos-nemotron-34b # Invoke URL +NVIDIA_COSMOS_ASSET_URL=https://api.nvcf.nvidia.com/v2/nvcf/assets # Asset URL +NVIDIA_COSMOS_MAX_TOKENS=1000 # Max tokens + +# Email +EMAIL_OUTGOING_SERVICE=smtp # Options: smtp|gmail +EMAIL_OUTGOING_HOST=smtp.example.com # SMTP host +EMAIL_OUTGOING_PORT=465 # Default: 465 (secure), 587 (TLS) +EMAIL_OUTGOING_USER= # Username +EMAIL_OUTGOING_PASS= # Password/app password +EMAIL_INCOMING_SERVICE=imap # Service type +EMAIL_INCOMING_HOST=imap.example.com # IMAP host +EMAIL_INCOMING_PORT=993 # Default port for secure IMAP +EMAIL_INCOMING_USER= # Username +EMAIL_INCOMING_PASS= # Password + +# Email Automation +RESEND_API_KEY= # Resend API key +DEFAULT_TO_EMAIL= # Default recipient +DEFAULT_FROM_EMAIL= # Default sender +EMAIL_AUTOMATION_ENABLED=false # Enable AI detection +EMAIL_EVALUATION_PROMPT= # Custom detection criteria + +# ANKR +ANKR_ENV=production # Environment +ANKR_WALLET= # Wallet +ANKR_MAX_RETRIES=3 # Max retries +ANKR_RETRY_DELAY=1000 # Retry delay (ms) +ANKR_TIMEOUT=5000 # Timeout (ms) +ANKR_GRANULAR_LOG=true # Granular logging +ANKR_LOG_LEVEL=debug # Log level +ANKR_RUNTIME_CHECK_MODE=false # Check mode +ANKR_SPASH=true # Show splash + +# Quai Network +QUAI_PRIVATE_KEY= # Private key +QUAI_RPC_URL=https://rpc.quai.network # RPC URL + +# Tokenizer +TOKENIZER_MODEL= # Tokenizer model +TOKENIZER_TYPE= # Options: tiktoken|auto, default: tiktoken + +# AWS Services +AWS_ACCESS_KEY_ID= # Access key ID +AWS_SECRET_ACCESS_KEY= # Secret access key +AWS_REGION= # AWS region +AWS_S3_BUCKET= # S3 bucket name +AWS_S3_UPLOAD_PATH= # S3 upload path +AWS_S3_ENDPOINT= # S3 endpoint +AWS_S3_SSL_ENABLED= # Enable SSL +AWS_S3_FORCE_PATH_STYLE= # Force path style + +# Deva +DEVA_API_KEY= # API key from deva.me/settings/apps +DEVA_API_BASE_URL=https://api.deva.me # Default URL + +# Verifiable Inference +VERIFIABLE_INFERENCE_ENABLED=false # Enable verification +VERIFIABLE_INFERENCE_PROVIDER=opacity # Provider option + +# Qdrant +QDRANT_URL= # Qdrant instance URL +QDRANT_KEY= # API key +QDRANT_PORT=443 # Port (443 cloud, 6333 local) +QDRANT_VECTOR_SIZE=1536 # Vector size + +# Autonome +AUTONOME_JWT_TOKEN= # JWT token +AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps # RPC URL + +# Akash Network +AKASH_ENV=mainnet # Environment +AKASH_NET=https://raw.githubusercontent.com/ovrclk/net/master/mainnet # Network +RPC_ENDPOINT=https://rpc.akashnet.net:443 # RPC endpoint +AKASH_GAS_PRICES=0.025uakt # Gas prices +AKASH_GAS_ADJUSTMENT=1.5 # Gas adjustment +AKASH_KEYRING_BACKEND=os # Keyring backend +AKASH_FROM=default # From account +AKASH_FEES=20000uakt # Fees +AKASH_DEPOSIT=500000uakt # Deposit +AKASH_MNEMONIC= # Mnemonic +AKASH_WALLET_ADDRESS= # Wallet address +AKASH_PRICING_API_URL=https://console-api.akash.network/v1/pricing # Pricing API +AKASH_DEFAULT_CPU=1000 # Default CPU +AKASH_DEFAULT_MEMORY=1000000000 # Default memory +AKASH_DEFAULT_STORAGE=1000000000 # Default storage +AKASH_SDL=example.sdl.yml # SDL file +AKASH_CLOSE_DEP=closeAll # Close deployment +AKASH_CLOSE_DSEQ=19729929 # Close DSEQ +AKASH_PROVIDER_INFO=akash1ccktptfkvdc67msasmesuy5m7gpc76z75kukpz # Provider info +AKASH_DEP_STATUS=dseq # Deployment status +AKASH_DEP_DSEQ=19729929 # Deployment DSEQ +AKASH_GAS_OPERATION=close # Gas operation +AKASH_GAS_DSEQ=19729929 # Gas DSEQ +AKASH_MANIFEST_MODE=auto # Manifest mode +AKASH_MANIFEST_PATH= # Manifest path +AKASH_MANIFEST_VALIDATION_LEVEL=strict # Validation level + +# Pyth +PYTH_NETWORK_ENV=mainnet # Network environment +PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network # Mainnet Hermes URL +PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws # Mainnet WSS URL +PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com # Mainnet Pythnet URL +PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids # Registry +PYTH_MAINNET_PROGRAM_KEY= # Program key +PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network # Testnet Hermes URL +PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws # Testnet WSS URL +PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com # Testnet Pythnet URL +PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet # Registry +PYTH_TESTNET_PROGRAM_KEY= # Program key +PYTH_MAX_RETRIES=3 # Max retries +PYTH_RETRY_DELAY=1000 # Retry delay (ms) +PYTH_TIMEOUT=5000 # Timeout (ms) +PYTH_GRANULAR_LOG=true # Granular logging +PYTH_LOG_LEVEL=debug # Log level for debugging +PYTH_LOG_LEVEL=info # Log level for production +PYTH_ENABLE_PRICE_STREAMING=true # Enable price streaming +PYTH_MAX_PRICE_STREAMS=2 # Max price streams +PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 # Test ID +PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace # Test ID + +# Misc Plugins +INTIFACE_WEBSOCKET_URL=ws://localhost:12345 # Intiface WebSocket URL +GIPHY_API_KEY= # API key from giphy +OPEN_WEATHER_API_KEY= # OpenWeather API key +PASSPORT_API_KEY= # Gitcoin Passport key +PASSPORT_SCORER= # Scorer number +TAVILY_API_KEY= # Web search API key +ECHOCHAMBERS_API_URL=http://127.0.0.1:3333 # API URL +ECHOCHAMBERS_API_KEY=testingkey0011 # API key +ECHOCHAMBERS_USERNAME=eliza # Username +ECHOCHAMBERS_ROOMS=general # Comma-separated room list +ECHOCHAMBERS_POLL_INTERVAL=60 # Poll interval (sec) +ECHOCHAMBERS_MAX_MESSAGES=10 # Max messages +ECHOCHAMBERS_CONVERSATION_STARTER_INTERVAL=300 # Check interval (sec) +ECHOCHAMBERS_QUIET_PERIOD=900 # Quiet period (sec) +SUNO_API_KEY= # Suno AI music generation +UDIO_AUTH_TOKEN= # Udio AI music generation +FOOTBALL_API_KEY= # Football-Data.org API key +IMGFLIP_USERNAME= # Imgflip username +IMGFLIP_PASSWORD= # Imgflip password +RUNTIME_CHECK_MODE=false # Runtime check mode +``` +
--- ## FAQ -### How do I manage multiple environment configurations? -Use different .env files (.env.development, .env.staging, .env.production) and load them based on NODE_ENV. - ### How do I configure different model providers? Set `modelProvider` in your character.json and add corresponding API keys in `.env` or character secrets. Supports Anthropic, OpenAI, DeepSeek, and others. -### How do I handle secrets and credentials? -Use `.env` file for global settings or add secrets in `character.json` under `settings.secrets` for per-agent configuration. - ### How do I adjust the temperature setting in my character file? The temperature setting controls response randomness and can be configured in your character's JSON file: @@ -349,9 +974,9 @@ The temperature setting controls response randomness and can be configured in yo "modelProvider": "openrouter", "temperature": 0.7, "settings": { + "model": "openai/gpt-4o-mini" "maxInputTokens": 200000, - "maxOutputTokens": 8192, - "model": "large" + "maxOutputTokens": 8192 } } ``` @@ -360,9 +985,10 @@ Increase temperature for more creative responses, decrease for more consistent o ### I'm getting an authentication error ("No auth credentials found"). What should I do? Check these common issues: 1. Verify API keys in your .env file -2. Ensure keys are properly formatted +2. Ensure keys are properly formatted (OpenAI keys start with `sk-`, Groq with `gsk_`, etc.) 3. Check logs for specific authentication errors 4. Try restarting the application after updating credentials +5. For character-specific providers, ensure they have access to the needed keys ### How do I debug when my agent isn't responding? 1. Enable debug logging: `DEBUG=eliza:*` in your .env file @@ -372,13 +998,3 @@ Check these common issues: ### How do I control my agent's behavior across platforms? Configure platform-specific settings in `.env` (like `TWITTER_TARGET_USERS`) and adjust response templates in your character file. - ---- - -## Further Resources - -- [Quickstart Guide](../quickstart.md) for initial setup -- [Secrets Management](./secrets-management.md) for secure configuration -- [Local Development](./local-development.md) for development setup -- [Advanced Usage](./advanced.md) for complex configurations - diff --git a/docs/docs/quickstart.md b/docs/docs/quickstart.md index 06a85d9115c..9b0ab07a1a4 100644 --- a/docs/docs/quickstart.md +++ b/docs/docs/quickstart.md @@ -200,9 +200,22 @@ Simply click the link or open your browser to `http://localhost:5173/`. You'll s ## Additional Configuration +You can load plugins or additional client support with your character file to unlock more capabilities for your agent. + ### Add Plugins and Clients -You can load plugins or additional client support with your character file to unlock more capabilities for your agent. There are two ways to get a list of available plugins: +Here's how to import and register plugins in your character file: + +```typescript +{ + "name": "Eliza", + "clients": ["telegram"], + // ... other config options + "plugins": ["@elizaos/plugin-image"], +} +``` + +There are two ways to get a list of available plugins: 1. Web Interface @@ -228,16 +241,6 @@ Here's a sample list of plugins you can check out! | [`@elizaos/plugin-pdf`](https://github.com/elizaos-plugins/plugin-pdf) | PDF processing -Here's how to import and register plugins in your character file: - -```typescript -{ - "name": "Eliza", - "clients": ["telegram"], - // ... other config options - "plugins": ["@elizaos/plugin-image"], -} -``` ### Configure Environment diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index ba895348540..2376cbef827 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -66,6 +66,48 @@ const config = { }, }, ], + [ + "@docusaurus/plugin-content-docs", + { + id: "packages", + path: "packages", + routeBasePath: "packages", + includeCurrentVersion: true, + sidebarItemsGenerator: async ({ + defaultSidebarItemsGenerator, + ...args + }) => { + const sidebarItems = await defaultSidebarItemsGenerator(args); + // Add icons to categories + return sidebarItems + .map((item) => { + if (item.type === "category") { + switch (item.label.toLowerCase()) { + case "adapters": + item.label = "🔌 " + item.label; + break; + case "clients": + item.label = "🔗 " + item.label; + break; + case "plugins": + item.label = "🧩 " + item.label; + break; + default: + item.label = "📦 " + item.label; + } + } + return item; + }) + .sort((a, b) => { + const labelA = a.label || ""; + const labelB = b.label || ""; + return labelA.localeCompare(labelB, undefined, { + numeric: true, + }); + }); + }, + }, + ], [ "docusaurus-plugin-typedoc", { @@ -202,9 +244,11 @@ const config = { docId: "index", }, { - to: 'showcase', - label: 'Packages', - position: 'left' + type: "doc", + docsPluginId: "packages", + position: "left", + label: "Packages", + docId: "index", // You'll need to create packages/index.md }, { to: 'blog', diff --git a/docs/notes/changelog.md b/docs/notes/changelog.md new file mode 100644 index 00000000000..f9d4b4447b9 --- /dev/null +++ b/docs/notes/changelog.md @@ -0,0 +1,3337 @@ +# Changelog +## v0.25.8 (February 24, 2025) + +#### Major changes since [v0.25.6-alpha.1](https://github.com/elizaOS/eliza/releases/tag/v0.25.6-alpha.1) + +#### Features + +- Dynamic plugin loading (move all plugins out) https://github.com/elizaOS/eliza/pull/3339 +- plugin CLI list/installer utility https://github.com/elizaOS/eliza/pull/3429 +- Enable fetching relevant facts in the facts provider https://github.com/elizaOS/eliza/pull/2635 +- Gaianet support set API key https://github.com/elizaOS/eliza/pull/3591 +- Add NEAR AI model provider https://github.com/elizaOS/eliza/pull/3275 +- Support for Secret AI LLM https://github.com/elizaOS/eliza/pull/3615 +- Added cachedir to filesystem cache https://github.com/elizaOS/eliza/pull/3291 +- Configuration: set Lava as the default RPC URL for NEAR and Starknet https://github.com/elizaOS/eliza/pull/3323 +- Modify the configuration for the plugin-nkn https://github.com/elizaOS/eliza/pull/3570 + +#### Fixes + +- https://github.com/advisories/GHSA-584q-6j8j-r5pm https://github.com/elizaOS/eliza/pull/2958 +- Fix default character https://github.com/elizaOS/eliza/pull/3345 +- Fix set agent from API https://github.com/elizaOS/eliza/pull/3618 +- Store stringKnowledge in knowledge when ragKnowledge is enabled (https://github.com/elizaOS/eliza/issues/3434) https://github.com/elizaOS/eliza/pull/3435 +- Update chunk & overlap in rag function https://github.com/elizaOS/eliza/pull/2525 +- Fix bedrock inference https://github.com/elizaOS/eliza/pull/3553 +- Generate structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 +- Exporting structured objects and images with NEAR AI https://github.com/elizaOS/eliza/pull/3644 + +#### What's Changed since last release + +* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 +* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 +* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 +* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 +* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 +* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 +* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 +* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 +* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 +* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 +* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 +* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 +* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 +* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 +* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 +* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 +* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 +* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 +* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 +* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 +* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 +* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 +* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 +* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 +* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 +* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 +* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 +* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 +* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 +* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 +* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 +* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 +* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 +* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 +* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 +* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 +* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 +* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 +* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 +* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 +* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 +* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 +* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 +* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 +* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 +* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 +* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 +* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 +* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 +* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 +* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 +* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 +* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 +* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 +* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 +* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 +* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 +* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 +* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 +* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 +* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 +* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 +* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 +* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 +* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 +* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 +* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 +* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 +* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 +* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 +* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 +* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 +* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 +* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 +* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 +* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 +* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 +* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 +* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 +* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 +* feat: Dynamic Plugin Loading (merged_) by @lalalune in https://github.com/elizaOS/eliza/pull/3339 +* chore: move default character to agent by @lalalune in https://github.com/elizaOS/eliza/pull/3343 +* Delete all plugins by @lalalune in https://github.com/elizaOS/eliza/pull/3342 +* feat: remove verifiable inference concept, will be plugin loaded by @lalalune in https://github.com/elizaOS/eliza/pull/3344 +* fix: fix default character by @lalalune in https://github.com/elizaOS/eliza/pull/3345 +* chore: Remove plugin imports from agent by @avaer in https://github.com/elizaOS/eliza/pull/3346 +* chore: Add adapter-sqlite to deps by @avaer in https://github.com/elizaOS/eliza/pull/3357 +* feat: v1 CLI utility by @odilitime in https://github.com/elizaOS/eliza/pull/3429 +* chore: commit d.a.t.a env configurations by @PisK4 in https://github.com/elizaOS/eliza/pull/3457 +* docs: Update readme to clarify difference between eliza-starter and eliza repos by @altcoinalpinist in https://github.com/elizaOS/eliza/pull/3453 +* docs: add note about 0x prefix needed for evm private key by @Bleyle823 in https://github.com/elizaOS/eliza/pull/3414 +* chore: client/FAQ/Character file Docs update by @madjin in https://github.com/elizaOS/eliza/pull/3410 +* chore: update change log by @threewebcode in https://github.com/elizaOS/eliza/pull/3407 +* fix: Store stringKnowledge in knowledge when ragKnowledge is enabled (#3434) by @lincheoll in https://github.com/elizaOS/eliza/pull/3435 +* docs: fix incorrect image paths in Korean documentation by @gkfyr in https://github.com/elizaOS/eliza/pull/3489 +* docs: New remote deployment guide by @bealers in https://github.com/elizaOS/eliza/pull/3501 +* chore: adding compass plugin env vars by @royalnine in https://github.com/elizaOS/eliza/pull/3494 +* docs: Add weekly contributor meeting notes (2025-02-04 + 2025-02-11) by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3484 +* fix: remove --no-frozen-lockfile from Dockerfile by @kyle-veniceai in https://github.com/elizaOS/eliza/pull/3428 +* chore: move characters out to submodule by @odilitime in https://github.com/elizaOS/eliza/pull/3509 +* fix: refactor string literal `http://localhost` with `SERVER_URL` env var in client by @tenthirtyone in https://github.com/elizaOS/eliza/pull/3511 +* docs: Added a Proper Ukrainian README Translation Create README_UA.md by @mdqst in https://github.com/elizaOS/eliza/pull/3483 +* feat: Added cachedir to filesystem cache by @Swader in https://github.com/elizaOS/eliza/pull/3291 +* fix: CVE-2024-48930 by @anupamme in https://github.com/elizaOS/eliza/pull/2958 +* chore: bump version & lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3523 +* fix: Fix bedrock inference by @ebaizel in https://github.com/elizaOS/eliza/pull/3553 +* docs: Added sqlite3 errors to Quickstart by @GabrielCartier in https://github.com/elizaOS/eliza/pull/3539 +* docs: fix branch naming example in CONTRIBUTING.md by @mdqst in https://github.com/elizaOS/eliza/pull/3532 +* chore: Trim block from Ollama response by @amirkhonov in https://github.com/elizaOS/eliza/pull/3545 +* chore: Update and cleanup docs by @madjin in https://github.com/elizaOS/eliza/pull/3584 +* feat: Modify the configuration for the plugin-nkn by @iheron in https://github.com/elizaOS/eliza/pull/3570 +* docs: enhance README with detailed requirements and contribution guidelines by @avorylli in https://github.com/elizaOS/eliza/pull/3392 +* docs: Fix broken links by @sukrucildirr in https://github.com/elizaOS/eliza/pull/3599 +* feat: gaianet support set api key by @L-jasmine in https://github.com/elizaOS/eliza/pull/3591 +* feat: allow eliza client to configure eliza server base URL via env var by @bguiz in https://github.com/elizaOS/eliza/pull/3589 +* chore: docs update by @madjin in https://github.com/elizaOS/eliza/pull/3605 +* fix: installing packages from new registry by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3609 +* fix: importing plugins from registry by @royalnine in https://github.com/elizaOS/eliza/pull/3611 +* fix: set agent from api by @daniel-trevino in https://github.com/elizaOS/eliza/pull/3618 +* fix: Fix devcontainer.json Port Mapping Syntax and JSON Structure by @NeoByteXx in https://github.com/elizaOS/eliza/pull/3616 +* fix: update chunk & Overlap in rag function by @adventuresinai in https://github.com/elizaOS/eliza/pull/2525 +* feat: Showcase page in docs for plugins by @madjin in https://github.com/elizaOS/eliza/pull/3620 +* feat: add NEAR AI model provider by @think-in-universe in https://github.com/elizaOS/eliza/pull/3275 +* chore(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3525 +* feat: configuration: Set Lava as the default RPC URL for NEAR and Starknet by @nimrod-teich in https://github.com/elizaOS/eliza/pull/3323 +* feat: Add support for Secret AI LLM by @iKapitonau in https://github.com/elizaOS/eliza/pull/3615 +* chore: Bump version to 0.25.8 by @odilitime in https://github.com/elizaOS/eliza/pull/3632 +* chore: fix lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/3633 +* update discord link by @odilitime in https://github.com/elizaOS/eliza/pull/3643 +* feat: Enable fetching relevant facts in the facts provider. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2635 +* chore: turbo optimizations by @ryptotalent in https://github.com/elizaOS/eliza/pull/2503 +* feat: replace AgentRuntime to his interface to extend client by @kesar in https://github.com/elizaOS/eliza/pull/2388 +* chore: remove langchain dependency for text splitting by @Deeptanshu-sankhwar in https://github.com/elizaOS/eliza/pull/3642 +* fix: generate structured objects and images with NEAR AI by @think-in-universe in https://github.com/elizaOS/eliza/pull/3644 +* chore: stablize develop by @odilitime in https://github.com/elizaOS/eliza/pull/3645 +* chore: develop => main (0.25.8 release) by @odilitime in https://github.com/elizaOS/eliza/pull/3522 + +#### New Contributors + +
+View New Contributors +* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 +* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 +* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 +* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 +* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 +* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 +* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 +* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 +* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 +* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 +* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 +* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 +* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 +* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 +* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 +* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 +* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 +* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 +* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 +* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 +* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 +* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 +* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 +* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 +* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 +* @PisK4 made their first contribution in https://github.com/elizaOS/eliza/pull/3457 +* @altcoinalpinist made their first contribution in https://github.com/elizaOS/eliza/pull/3453 +* @Bleyle823 made their first contribution in https://github.com/elizaOS/eliza/pull/3414 +* @gkfyr made their first contribution in https://github.com/elizaOS/eliza/pull/3489 +* @royalnine made their first contribution in https://github.com/elizaOS/eliza/pull/3494 +* @kyle-veniceai made their first contribution in https://github.com/elizaOS/eliza/pull/3428 +* @tenthirtyone made their first contribution in https://github.com/elizaOS/eliza/pull/3511 +* @Swader made their first contribution in https://github.com/elizaOS/eliza/pull/3291 +* @anupamme made their first contribution in https://github.com/elizaOS/eliza/pull/2958 +* @GabrielCartier made their first contribution in https://github.com/elizaOS/eliza/pull/3539 +* @iheron made their first contribution in https://github.com/elizaOS/eliza/pull/3570 +* @avorylli made their first contribution in https://github.com/elizaOS/eliza/pull/3392 +* @bguiz made their first contribution in https://github.com/elizaOS/eliza/pull/3589 +* @daniel-trevino made their first contribution in https://github.com/elizaOS/eliza/pull/3609 +* @NeoByteXx made their first contribution in https://github.com/elizaOS/eliza/pull/3616 +* @adventuresinai made their first contribution in https://github.com/elizaOS/eliza/pull/2525 +* @think-in-universe made their first contribution in https://github.com/elizaOS/eliza/pull/3275 +* @nimrod-teich made their first contribution in https://github.com/elizaOS/eliza/pull/3323 +* @iKapitonau made their first contribution in https://github.com/elizaOS/eliza/pull/3615 +* @ryptotalent made their first contribution in https://github.com/elizaOS/eliza/pull/2503 +* @Deeptanshu-sankhwar made their first contribution in https://github.com/elizaOS/eliza/pull/3642 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.8 + +--- + +## v0.25.6-alpha.1 (February 06, 2025) + +Please note the versioning change, 25 representing the year and 6 being week 6 of that year. + +#### New Features + +- Save imageUrls for outbound tweets/messages #3122 +- Coingecko advanced - various pools by network #3170 +- Add Edwin plugin to Eliza #3045 +- Plugin desk exchange #3096 +- new Spanish speaking Trump sample character file #3119 +- TON Plugin: NFT collection, item creation, metadata change and transfer actions #3211 +- Add CREATE_POOL action in MultiversX plugin #3209 + +#### New Fixes + +- Upgrade OpenAI and Vercel AI packages to fix O1 errors #3146 +- Remove duplicated plugins #3126 +- Update provider-utils #3189 +- Extract attribute from raw text instead of normalized JSON #3190 +- Think tag from Venice #3203 +- Slack download upload attachments #3194 +- Update pnpm version during Docker build #3158 +- Remove duplicated dependencies #3215 +- Quick-intel plugin optimizations & fixes #3208 + +#### What's Changed + +* fix: typos in multiple files by @vipocenka in https://github.com/elizaOS/eliza/pull/3111 +* feat: save imageUrls for outbound tweets/messages by @alexpaden in https://github.com/elizaOS/eliza/pull/3122 +* fix: upgrade openai and vercel ai packages to fix o1 errors by @HashWarlock in https://github.com/elizaOS/eliza/pull/3146 +* fix: multi-biome-01 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3180 +* fix: plugin-0g by @AIFlowML in https://github.com/elizaOS/eliza/pull/3179 +* fix: multi-biome-02 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3181 +* fix: plugin-0x by @AIFlowML in https://github.com/elizaOS/eliza/pull/3178 +* fix: plugin-3g-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3175 +* fix: plugin-abstract by @AIFlowML in https://github.com/elizaOS/eliza/pull/3174 +* fix: plugin-agentkit by @AIFlowML in https://github.com/elizaOS/eliza/pull/3172 +* fix: plugin-akash by @AIFlowML in https://github.com/elizaOS/eliza/pull/3171 +* fix: plugin-allora by @AIFlowML in https://github.com/elizaOS/eliza/pull/3169 +* docs: fix typos in .md by @comfsrt in https://github.com/elizaOS/eliza/pull/3165 +* feat (chore): plugin-coinmarketcap by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3134 +* feat (chore): plugin-coingecko test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3124 +* fix: remove duplicated plugins by @tcm390 in https://github.com/elizaOS/eliza/pull/3126 +* fix: update provider-utils by @tcm390 in https://github.com/elizaOS/eliza/pull/3189 +* fix: extract attribute from raw text instead of normalized json by @tcm390 in https://github.com/elizaOS/eliza/pull/3190 +* feat: coingecko advanced - various pools by network by @0xCardinalError in https://github.com/elizaOS/eliza/pull/3170 +* feat: Add edwin plugin to eliza by @galmw in https://github.com/elizaOS/eliza/pull/3045 +* feat: plugin desk exchange by @john-xina-p88 in https://github.com/elizaOS/eliza/pull/3096 +* docs: Update Twitter to X (Twitter) by @nilaysarma in https://github.com/elizaOS/eliza/pull/3198 +* chore: add Biome configuration to Solana ecosystem plugins 07 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3186 +* fix: plugin-anyone by @AIFlowML in https://github.com/elizaOS/eliza/pull/3107 +* docs: Update faq.md by @Danyylka in https://github.com/elizaOS/eliza/pull/3207 +* chore: Fix Typos and Improve Consistency in Community Chat Logs by @gap-editor in https://github.com/elizaOS/eliza/pull/3206 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3204 +* fix: think tag from venice by @rferrari in https://github.com/elizaOS/eliza/pull/3203 +* fix: Slack download upload attachments by @maxime in https://github.com/elizaOS/eliza/pull/3194 +* chore: Update GitHub Actions workflows and documentation by @PixelPil0t1 in https://github.com/elizaOS/eliza/pull/3166 +* chore: Standardization of Security Check Identifiers across GoPlus plugin by @Marcofann in https://github.com/elizaOS/eliza/pull/3164 +* fix: Update pnpm version during Docker build by @v1xingyue in https://github.com/elizaOS/eliza/pull/3158 +* Fix README_JA.md (add unwritten text and fix typo) by @You-saku in https://github.com/elizaOS/eliza/pull/3153 +* chore: some fix after v0.1.9 by @v1xingyue in https://github.com/elizaOS/eliza/pull/3141 +* feat: Trump character but tweets in Spanish by default by @silasneo in https://github.com/elizaOS/eliza/pull/3119 +* feat: TON Plugin: NFT collection, item creation, metadata change and transfer actions by @mikirov in https://github.com/elizaOS/eliza/pull/3211 +* docs: rename chat_2024-11-17.md by @Fallengirl in https://github.com/elizaOS/eliza/pull/3210 +* feat: Add CREATE_POOL action in MultiversX plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3209 +* fix: remove duplicated dependencies by @tcm390 in https://github.com/elizaOS/eliza/pull/3215 +* fix: quick-intel plugin optimizations & fixes. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3208 +* feat: Add configuration for enabling/disabling Twitter post generation by @tcm390 in https://github.com/elizaOS/eliza/pull/3219 +* feat (chore): plugin-cronos test setup and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3250 +* feat (chore) plugin conflux: test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3247 +* fix: broken links in documentation by @cypherpepe in https://github.com/elizaOS/eliza/pull/3240 +* chore: remove unnecessary provider and transfer code by @madschristensen99 in https://github.com/elizaOS/eliza/pull/3251 +* fix: client-alexa by @AIFlowML in https://github.com/elizaOS/eliza/pull/3255 +* fix(deps): update dependency vitest [security] by @renovate in https://github.com/elizaOS/eliza/pull/3254 +* fix: pnpm install by @tcm390 in https://github.com/elizaOS/eliza/pull/3261 +* fix: Dynamic require of "http" is not supported error by @tcm390 in https://github.com/elizaOS/eliza/pull/3262 +* chore: develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/3216 +* Fix broken links on contributing.md by @johntad110 in https://github.com/elizaOS/eliza/pull/3269 +* docs: Add GitHub issues link to CONTRIBUTING.md file by @nilaysarma in https://github.com/elizaOS/eliza/pull/3268 +* Fix PG query: Use only 'text' subfield name, field name is not needed here by @esen in https://github.com/elizaOS/eliza/pull/3264 +* fix: handle invalid json by @tcm390 in https://github.com/elizaOS/eliza/pull/3258 +* docs: fix typos and update broken link in docs by @rebustron in https://github.com/elizaOS/eliza/pull/3270 +* chore: fix spelling issues by @XxAlex74xX in https://github.com/elizaOS/eliza/pull/3271 +* fix: DenyLoginSubtask by @tcm390 in https://github.com/elizaOS/eliza/pull/3278 +* fix: twitter - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3286 +* fix: rag optimizations/fixes for context. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3248 +* fix: quick-intel plugin: optimize template/add suppress init msg by @azep-ninja in https://github.com/elizaOS/eliza/pull/3283 +* fix: discord - add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3284 +* fix: telegram- add actions suppress action ability. by @azep-ninja in https://github.com/elizaOS/eliza/pull/3285 +* feat: (plugin-multiversx) Allow the use of herotag by @elpulpo0 in https://github.com/elizaOS/eliza/pull/3238 +* fix: fix docker & types issue by @odilitime in https://github.com/elizaOS/eliza/pull/3220 +* fix(core): improve OpenAI-like provider endpoint resolution in `generation.ts` by @btspoony in https://github.com/elizaOS/eliza/pull/3281 +* chore: bump version to 0.25.6-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/3306 +* chore: develop => main by @tcm390 in https://github.com/elizaOS/eliza/pull/3307 +* fix: clean json before normalized by @tcm390 in https://github.com/elizaOS/eliza/pull/3301 +* fix: Fix plugin-solana-v2 package.json by @oxy-Op in https://github.com/elizaOS/eliza/pull/3308 +* fix: parsing unit test failure by @tcm390 in https://github.com/elizaOS/eliza/pull/3311 +* fix: models unit test by @tcm390 in https://github.com/elizaOS/eliza/pull/3312 +* fix: read modelConfig from character file by @TbLtzk in https://github.com/elizaOS/eliza/pull/3313 +* docs: fix typos and update functions by @Bilogweb3 in https://github.com/elizaOS/eliza/pull/3317 +* fix: handleGoogle(options) lost apiKey by @abcfy2 in https://github.com/elizaOS/eliza/pull/3274 +* feat: allow plugins to interact w messangerManager to post on telegram by @kesar in https://github.com/elizaOS/eliza/pull/3314 +* chore: add missing version property to package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/3325 +* chore: remove remnant files/folders by @shakkernerd in https://github.com/elizaOS/eliza/pull/3326 +* docs: fix typos in plugins.md by @aso20455 in https://github.com/elizaOS/eliza/pull/3324 +* feat: set package publish access to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/3330 +* fix: Twitter logging bug by @vidvidvid in https://github.com/elizaOS/eliza/pull/3327 +* chore: develop => main by @shakkernerd in https://github.com/elizaOS/eliza/pull/3332 + +#### New Contributors + +
+View New Contributors +* @vipocenka made their first contribution in https://github.com/elizaOS/eliza/pull/3111 +* @alexpaden made their first contribution in https://github.com/elizaOS/eliza/pull/3122 +* @comfsrt made their first contribution in https://github.com/elizaOS/eliza/pull/3165 +* @galmw made their first contribution in https://github.com/elizaOS/eliza/pull/3045 +* @john-xina-p88 made their first contribution in https://github.com/elizaOS/eliza/pull/3096 +* @nilaysarma made their first contribution in https://github.com/elizaOS/eliza/pull/3198 +* @Danyylka made their first contribution in https://github.com/elizaOS/eliza/pull/3207 +* @gap-editor made their first contribution in https://github.com/elizaOS/eliza/pull/3206 +* @PixelPil0t1 made their first contribution in https://github.com/elizaOS/eliza/pull/3166 +* @Marcofann made their first contribution in https://github.com/elizaOS/eliza/pull/3164 +* @You-saku made their first contribution in https://github.com/elizaOS/eliza/pull/3153 +* @silasneo made their first contribution in https://github.com/elizaOS/eliza/pull/3119 +* @mikirov made their first contribution in https://github.com/elizaOS/eliza/pull/3211 +* @Fallengirl made their first contribution in https://github.com/elizaOS/eliza/pull/3210 +* @cypherpepe made their first contribution in https://github.com/elizaOS/eliza/pull/3240 +* @johntad110 made their first contribution in https://github.com/elizaOS/eliza/pull/3269 +* @esen made their first contribution in https://github.com/elizaOS/eliza/pull/3264 +* @rebustron made their first contribution in https://github.com/elizaOS/eliza/pull/3270 +* @XxAlex74xX made their first contribution in https://github.com/elizaOS/eliza/pull/3271 +* @oxy-Op made their first contribution in https://github.com/elizaOS/eliza/pull/3308 +* @TbLtzk made their first contribution in https://github.com/elizaOS/eliza/pull/3313 +* @Bilogweb3 made their first contribution in https://github.com/elizaOS/eliza/pull/3317 +* @abcfy2 made their first contribution in https://github.com/elizaOS/eliza/pull/3274 +* @aso20455 made their first contribution in https://github.com/elizaOS/eliza/pull/3324 +* @vidvidvid made their first contribution in https://github.com/elizaOS/eliza/pull/3327 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.9...v0.25.6-alpha.1 + +--- + +## v0.1.9 (February 01, 2025) + +#### 🚀 Features + +- Instagram client #1964 +- Client for Telegram account #2839 +- XMTP Client #2786 +- Twitter post media #2818 +- Discord autonomous agent enhancement #2335 +- Telegram autonomous agent enhancement #2338 +- Direct Client API - Add Delete Agent functionality #2267 +- Add an example service #2249 + +AI & LLM Integrations +- Add support for NVIDIA inference for ElizaOS #2512 +- Integrate Livepeer LLM provider #2154 +- Add Amazon Bedrock as LLM provider #2769 +- Add birdeye plugin #1417 + +Solana-Related Updates +- Solana plugin improvement for flawless transfers #2340 +- Add features to the Solana Agent Kit #2458 +- Adding tests for plugin-solana #2345 + +Ethereum & EVM-Based Plugin Updates +- Plugin evm oz governance #1710 +- Add plugin-ethstorage #2737 +- Add cross chain swaps through Squid Router #1482 +- Add support for gravity chain in EVM plugin #2228 +- Add Cronos Evm #2585 +- Add plugin-bnb to support BNB chain #2278 +- Plugin for OriginTrail Decentralized Knowledge Graph #2380 +- Add moralis plugin #2764 + +Sui-Related Updates +- Use Aggregator swap sui tokens #3012 +- Sui supports the secp256k1/secp256r1 algorithms #2476 + +Cosmos-Related Updates +- IBC transfer on cosmos blockchains #2358 +- Cosmos Plugin - IBC swap action #2554 + +Injective & Other Blockchain Plugins +- injective plugin #1764 +- Support mina blockchain #2702 +- Add AGW support to the Abstract plugin #2207 +- CoinGecko - add price per address functionality #2262 +- Add Dex Screener plugin with token price action, evaluators #1865 +- Dexscreener trending #2325 + +#### Bug Fixes + +High Priority (Critical Bugs & API Issues) +- DeepSeek API bug: missing API key setting #2186 +- Resolve Windows path issue in pnpm build client #2240 +- IME causes multiple messages on Enter #2274 +- Fix derive key and update remote attestation #2303 +- Ensure RA Action reply does not hallucinate #2355 +- Prevent app crash when REMOTE_CHARACTER_URLS is undefined #2384 +- Check whether REMOTE_CHARACTER_URLS env is defined in starting agent #2382 +- Resolve @ai-sdk/provider version conflicts #2714 +- Ethers/viem issue in mind network plugin #2783 +- Message ID collision in Telegram Client #3053 +- ImageVisionModelProvider Not Applied in Runtime #3056 +- Handle unsupported image provider #3057 +- Fixing the error parsing JSON when an array is a value #3113 + +Client-Specific Issues & Enhancements +- Don't force root for install #2221 +- Align base URL in client if API runs on a different port #2353 +- Fix Incorrect Tweet ID Parameter Passed to sendTweet Function #2430 +- Unexpected JSON Metadata in Twitter Bot Replies #2712 +- Client-twitter homeTimeline name parse bug #2789 +- Topics formatting bug at composeState #2788 +- Bug in goal objectives update lookup logic #2791 +- doesn't work in tweet post template #2951 +- Ensure action tweet replies to agent's initial tweet #2966 +- Auto-scrolling issue in client #3115 + +Plugin Issues & Enhancements +- Missing @elizaos/plugin-b2 #2268 +- Export b2Plugin #2291 +- Set default Squid Router plugin throttle to 1000 #2386 +- Export dexScreenerPlugin #3120 +- Remove duplicate litPlugin import #3121 + +Infrastructure & Build Issues +- Docker images+compose and broken documentation #2347 +- Update Zero Gravity (0G) link #2441 +- Don't start services twice, improve logging #3007 +- Docker build command by skipping eslint files #3110 +- Building error #2938 + +General Code Fixes & Minor Enhancements +- Lint errors #2400 +- Fix typo in import statement for Solana AgentKit plugin #2370 +- Quickstart.md conflicts #2437 +- Typos in supabase seed file #2435 +- If VITE_SERVER_PORT is not defined, use default 3000 #2433 +- Missing import #2444 +- Spell/grammar errors in characters #2447 +- Correct STT plugin userId type #2704 +- Remove duplicated handlePendingTweet #2715 +- Delete plugin-bootstrap sex message #2748 +- TON plugin build issue #2757 +- Make template message footer more explicit #2774 +- Akash splash #2816 +- Akash splash bis #2838 +- Nvidia nim environment #2817 +- Null check #2878 +- Default character OpenAI => LlamaLocal #2880 +- LOG_JSON_FORMAT env var setting #2881 +- Fix abstract package.json #2882 +- Client server port #2886 +- Handle whitespace in quote conversion #2961 +- Remove unnecessary @ts-expect-error directive in chat component #2950 +- Correct regex #3054 +- Single quote handle bug at parseJsonArray #2802 +- OpenAI embedding issue #3003 +- Remove dead code #2945 +- Add missing plugins in package.json #2947 + +#### What's Changed (complete) + +* fix(plugin-twitter): change prompt to ensure it returns json by @odilitime in https://github.com/elizaOS/eliza/pull/2196 +* feat: nft plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2167 +* docs: Add Greek translation for README_GR by @adacapo21 in https://github.com/elizaOS/eliza/pull/2199 +* chore: rename ai16z -> elizaOS by @monilpat in https://github.com/elizaOS/eliza/pull/2211 +* feature: adding tests for whatsapp plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2213 +* fix: DeepSeek API bug: missing api key setting by @daizhengxue in https://github.com/elizaOS/eliza/pull/2186 +* fix: don't force root for install by @proteanx in https://github.com/elizaOS/eliza/pull/2221 +* feat: RP for plugin-tee-verifiable-log by @gene-zhan in https://github.com/elizaOS/eliza/pull/1369 +* feat: Merge my Eliza Installer with the current start.sh script by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2229 +* feat: add support for gravity chain in EVM plugin by @Stumble in https://github.com/elizaOS/eliza/pull/2228 +* docs: Add "What Did You Get Done This Week? #9" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2243 +* feat: Add AGW support to the Abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/2207 +* docs: Add Farsi (Persian )readme by @oxlupo in https://github.com/elizaOS/eliza/pull/2260 +* feat: CoinGecko - add price per address functionality by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2262 +* fix: test/lint develop by @odilitime in https://github.com/elizaOS/eliza/pull/2266 +* feat: Adding plugin for B² Network by @threewebcode in https://github.com/elizaOS/eliza/pull/2010 +* fix: (db) add limit param to memory retrieval across adapters by @augchan42 in https://github.com/elizaOS/eliza/pull/2264 +* docs: Typo fix README.md by @VitalikBerashvili in https://github.com/elizaOS/eliza/pull/2256 +* Minor typo in CHANGELOG.md by @Hack666r in https://github.com/elizaOS/eliza/pull/2255 +* fix: missing @elizaos/plugin-b2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/2268 +* feat: Add character creation template function to start.sh by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/2232 +* fix: resolve Windows path issue in pnpm build client by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2240 +* feat: Add cross chain swaps through Squid Router by @Archethect in https://github.com/elizaOS/eliza/pull/1482 +* feat: Plugin evm oz governance by @thetechnocratic in https://github.com/elizaOS/eliza/pull/1710 +* feat: Add support for VoyageAI embeddings API by @Firbydude in https://github.com/elizaOS/eliza/pull/1442 +* feat: add birdeye plugin by @swizzmagik in https://github.com/elizaOS/eliza/pull/1417 +* Revert "feat: Add support for VoyageAI embeddings API" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2290 +* docs: Add weekly contributor meeting notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2285 +* fix: export b2Plugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/2291 +* feat: Add an example service by @MonteCrypto999 in https://github.com/elizaOS/eliza/pull/2249 +* feat: Gitcoin passport by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2296 +* Fix: IME causes multiple messages on Enter (Fixes #2272) by @lincheoll in https://github.com/elizaOS/eliza/pull/2274 +* fix: fix derive key and update remote attestation by @HashWarlock in https://github.com/elizaOS/eliza/pull/2303 +* feat: Direct Client API - Add Delete Agent functionality by @jason51553262 in https://github.com/elizaOS/eliza/pull/2267 +* docs: Update README.md by @lalalune in https://github.com/elizaOS/eliza/pull/2309 +* fix: farcaster memory by @CryptoGraffe in https://github.com/elizaOS/eliza/pull/2307 +* feat: add getMemoryByIds to database adapters by @bbopar in https://github.com/elizaOS/eliza/pull/2293 +* feat: support load character from character_url by @v1xingyue in https://github.com/elizaOS/eliza/pull/2281 +* feat: (echochambers) add dead room detection and conversation starter by @augchan42 in https://github.com/elizaOS/eliza/pull/2248 +* chore: Update README.md by @wtfsayo in https://github.com/elizaOS/eliza/pull/2280 +* refactor: farcaster client env configuration by @sin-bufan in https://github.com/elizaOS/eliza/pull/2087 +* feat: Onchain Agent Transformer - transform any Eliza agents into unstoppable Solidity smart contracts deployed on 10+ blockchains by @eternal-ai-org in https://github.com/elizaOS/eliza/pull/2319 +* feat: add Dex Screener plugin with token price action, evaluators, an… by @hellopleasures in https://github.com/elizaOS/eliza/pull/1865 +* refactor: websearch into a service by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2195 +* fix: correct OPENROUTER_API_KEY env in config by @everimbaq in https://github.com/elizaOS/eliza/pull/2324 +* fix: docker images+compose and broken documentation by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2347 +* Fix github client README.md by @thomasWos in https://github.com/elizaOS/eliza/pull/2346 +* feat: groq image vision provider by @rferrari in https://github.com/elizaOS/eliza/pull/2342 +* improvement: using strict types to avoid erorrs like issue 2164 by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2220 +* fix: formatting in Browser section of README.md by @derrekcoleman in https://github.com/elizaOS/eliza/pull/2336 +* Update README_TR.md by @sukrucildirr in https://github.com/elizaOS/eliza/pull/2334 +* feat: (ragKnowledge) Enhance RAG knowledge handling by @augchan42 in https://github.com/elizaOS/eliza/pull/2351 +* feat: add instagram client by @Lukapetro in https://github.com/elizaOS/eliza/pull/1964 +* docs: Update README_FR.md by @omahs in https://github.com/elizaOS/eliza/pull/2356 +* fix: esure RA Action reply does not hallucinate by @HashWarlock in https://github.com/elizaOS/eliza/pull/2355 +* fix: align base url in client if api runs on a different port by @C0ldSmi1e in https://github.com/elizaOS/eliza/pull/2353 +* feat: add safe_mode (& cfg_scale) for venice image generation by @proteanx in https://github.com/elizaOS/eliza/pull/2354 +* fix: Update package.json of core package by @kesar in https://github.com/elizaOS/eliza/pull/2301 +* chore: Reorganizing README translations into a dedicated i18n directory structure by @0xnogo in https://github.com/elizaOS/eliza/pull/2149 +* chore: Prep 0.1.9-alpha.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2359 +* feat: Enable Multiple remote character urls by @leeran7 in https://github.com/elizaOS/eliza/pull/2328 +* chore: lint by @odilitime in https://github.com/elizaOS/eliza/pull/2368 +* fix: Fix typo in import statement for Solana AgentKit plugin Update i… by @defitricks in https://github.com/elizaOS/eliza/pull/2370 +* feat: dexscreener trending by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2325 +* fix: Prevent app crash when REMOTE_CHARACTER_URLS is undefined by @tcm390 in https://github.com/elizaOS/eliza/pull/2384 +* Startup Error: ENV misconfig by @0xSero in https://github.com/elizaOS/eliza/pull/2378 +* fix: check whether REMOTE_CHARACTER_URLS env is defined in starting agent by @dev-whoan in https://github.com/elizaOS/eliza/pull/2382 +* Fix typo by @ericlehong in https://github.com/elizaOS/eliza/pull/2385 +* fix: set default Squid Router plugin throttle to 1000 by @Archethect in https://github.com/elizaOS/eliza/pull/2386 +* chore: improve descriptions by @crStiv in https://github.com/elizaOS/eliza/pull/2394 +* feat: adding tests for plugin-solana by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2345 +* feat: atoma provider by @francis2tm in https://github.com/elizaOS/eliza/pull/2082 +* chore: invoke exit code 0 after positive cleanup by @erise133 in https://github.com/elizaOS/eliza/pull/2398 +* fix: lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2400 +* feat: adding tests for slack client. Moving existing tests to new __tests__ directory. by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2404 +* feat: better S3 flexibility by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2379 +* feat: adding tests for github client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2407 +* feat: injective plugin by @enigmarikki in https://github.com/elizaOS/eliza/pull/1764 +* feat: Integrate Livepeer LLM provider by @UD1sto in https://github.com/elizaOS/eliza/pull/2154 +* chore: remove tate character by @wtfsayo in https://github.com/elizaOS/eliza/pull/2425 +* refactor: dockerize smoke tests by @twilwa in https://github.com/elizaOS/eliza/pull/2420 +* feat: coinbase agentkit plugin for eliza by @sweetmantech in https://github.com/elizaOS/eliza/pull/2298 +* feat: add workflow to block minified JS by @twilwa in https://github.com/elizaOS/eliza/pull/2417 +* feat: Code In Plugin, load characters from blockchain by @zo-eth in https://github.com/elizaOS/eliza/pull/2371 +* docs: Add notes for weekly contributor meeting on 2025-01-14 by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2426 +* fix: Fix Incorrect Tweet ID Parameter Passed to sendTweet Function by @tcm390 in https://github.com/elizaOS/eliza/pull/2430 +* fix: quickstart.md conflicts by @wtfsayo in https://github.com/elizaOS/eliza/pull/2437 +* Update documentation links by @donatik27 in https://github.com/elizaOS/eliza/pull/2438 +* fix: typos in supabase seed file by @leopardracer in https://github.com/elizaOS/eliza/pull/2435 +* feat: Pyth Data Plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2434 +* fix: if VITE_SERVER_PORT is not defined, use default 3000 by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2433 +* fix: update zero Gravity (0G) link by @Hopium21 in https://github.com/elizaOS/eliza/pull/2441 +* feat: ibc transfer on cosmos blockchains by @KacperKoza343 in https://github.com/elizaOS/eliza/pull/2358 +* fix TEE Log plugin errors at agent startup by @bundinho in https://github.com/elizaOS/eliza/pull/2415 +* fix: missing import by @wtfsayo in https://github.com/elizaOS/eliza/pull/2444 +* feat: improvement to logger by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2396 +* feat:update heurist env var examples by @tsubasakong in https://github.com/elizaOS/eliza/pull/2428 +* Fix typos in docs by @RubinovaAn1097 in https://github.com/elizaOS/eliza/pull/2449 +* fix: Update error message and remove duplicate version field by @MarsonKotovi4 in https://github.com/elizaOS/eliza/pull/2445 +* fix: #2373 Fix image description by @ae9is in https://github.com/elizaOS/eliza/pull/2375 +* fix: spell/grammar errors in characters by @Pistasha in https://github.com/elizaOS/eliza/pull/2447 +* feat: Telegram autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2338 +* feat: add default logger level setting to set the logger level to dis… by @snobbee in https://github.com/elizaOS/eliza/pull/2451 +* feat: adding tests for instagram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2454 +* feat: create version.cmd for windows support by @savageops in https://github.com/elizaOS/eliza/pull/2442 +* revert: "refactor: dockerize smoke tests" by @twilwa in https://github.com/elizaOS/eliza/pull/2459 +* feat: Add features to the Solana Agent Kit by @thearyanag in https://github.com/elizaOS/eliza/pull/2458 +* chore: set openai as default character's provider by @wtfsayo in https://github.com/elizaOS/eliza/pull/2460 +* fix: OPENAI provider being overwritten by LLAMA_LOCAL on pnpm start by @tcm390 in https://github.com/elizaOS/eliza/pull/2465 +* Typo fix in read.me by @dedyshkaPexto in https://github.com/elizaOS/eliza/pull/2464 +* Fix spelling error by @Dimitrolito in https://github.com/elizaOS/eliza/pull/2456 +* fix: conditional use of useQuery in AgentRoute component to prevent runtime errors. by @carlos-cne in https://github.com/elizaOS/eliza/pull/2413 +* fix: resolve type error for children in animated.div component by @suleigolden in https://github.com/elizaOS/eliza/pull/2462 +* fix: SwapAction in evm-plugin by @B1boid in https://github.com/elizaOS/eliza/pull/2332 +* chore: add openai env to smokeTests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2472 +* test: adding test configuration and tests for redis adapter by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2470 +* feat: tests for supabase and sqlite db adapters by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2468 +* fix: linting errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/2474 +* chore: remove eslint, prettier, tslint and replace with biome by @0xSero in https://github.com/elizaOS/eliza/pull/2439 +* feat: Sui supports the secp256k1/secp256r1 algorithms by @lispking in https://github.com/elizaOS/eliza/pull/2476 +* chore: edited the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2483 +* feat: Solana plugin improvement for flawless transfers by @sunsakis in https://github.com/elizaOS/eliza/pull/2340 +* chore: update createToken.ts by @eltociear in https://github.com/elizaOS/eliza/pull/2493 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2491 +* feat: introduce Dependency Injection to enhance developer experience by @btspoony in https://github.com/elizaOS/eliza/pull/2115 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2490 +* chore: corrected the link to the banner by @Olexandr88 in https://github.com/elizaOS/eliza/pull/2489 +* Update ElizaOS Documentation link by @Daulox92 in https://github.com/elizaOS/eliza/pull/2495 +* chore: handle test cases in version.sh file by @KoZivod88074 in https://github.com/elizaOS/eliza/pull/2485 +* feat: adding test configuration and test coverage for binance plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2482 +* feat: Implement character loading from multiple paths and enhance API… by @tercel in https://github.com/elizaOS/eliza/pull/2365 +* feat: Load multiple characters from a single remote url by @leeran7 in https://github.com/elizaOS/eliza/pull/2475 +* feat: Discord autonomous agent enhancement by @azep-ninja in https://github.com/elizaOS/eliza/pull/2335 +* feat: Add Extra Multimedia Support for Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/2510 +* test: api timeout handling for plugin-binance by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2504 +* feat: add support for NVIDIA inference for ElizaOS by @AIFlowML in https://github.com/elizaOS/eliza/pull/2512 +* feat(plugin-openai): add OpenAI integration for text generation by @0xrubusdata in https://github.com/elizaOS/eliza/pull/2463 +* chore: default coinbase agentkit plugin by @sweetmantech in https://github.com/elizaOS/eliza/pull/2505 +* docs: add docs/README_JA.md by @eltociear in https://github.com/elizaOS/eliza/pull/2515 +* fix: use coingecko headerKey from api config by @visionpixel in https://github.com/elizaOS/eliza/pull/2518 +* test: plugin-tee - adjusting project structure and new tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2508 +* docs: user ID with room ID in MemoryManager and other improvements by @Haisen772 in https://github.com/elizaOS/eliza/pull/2492 +* feat: plugin rabbi trader tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2520 +* chore: add eliza technical report/paper by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2517 +* plugin-tts: enhance TTS generation flow and caching by @bfontes in https://github.com/elizaOS/eliza/pull/2506 +* feat:add plugin-lightning by @jimtracy1007 in https://github.com/elizaOS/eliza/pull/2429 +* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2545 +* fix: develop branch build/start failed by @tcm390 in https://github.com/elizaOS/eliza/pull/2546 +* feat(plugin-devin): implement client-agnostic Devin plugin by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2549 +* feat: Updated READ.me file with pre-requisites to enable telegram bot by @neelkanani in https://github.com/elizaOS/eliza/pull/2547 +* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2551 +* feat: add anthropic image provider for vision by @BitWonka in https://github.com/elizaOS/eliza/pull/2524 +* feat: Add more actions to Abstract Plugin by @jonathangus in https://github.com/elizaOS/eliza/pull/2531 +* chore: remove cleanup step from integration tests workflow by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2553 +* chore: optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2555 +* feat: add a way to create/store/restore agents in the filesystem by @maxcoto in https://github.com/elizaOS/eliza/pull/2389 +* chore(revert): optimize pnpm cache configuration by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2556 +* test configuration and tests for client-lens by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2534 +* feat(x spaces): Don't wait for mute, wait for silence by @tcm390 in https://github.com/elizaOS/eliza/pull/2576 +* feat: update integration tests workflow with improved caching by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2589 +* feat(plugin-agentkit): test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2573 +* feat(plugin-coingecko): coingecko trending advanced by @0xCardinalError in https://github.com/elizaOS/eliza/pull/2568 +* feat(plugin-holdstation): add plugin holdstation swap by @cuongnguyenthai in https://github.com/elizaOS/eliza/pull/2596 +* Add 'node-compile-cache' to '.gitignore' by @jazzvaz in https://github.com/elizaOS/eliza/pull/2597 +* feat(plugin-farcaster): test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2567 +* fix:Incorrect boolean parsing for ENABLE_OPEN_AI_COMMUNITY_PLUGIN setting #2559 by @lincheoll in https://github.com/elizaOS/eliza/pull/2560 +* feat: add three new langs into TTS by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2562 +* docs: Add "What Did You Get Done This Week? #10" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/2558 +* feat: Add Cronos Evm by @leejw51crypto in https://github.com/elizaOS/eliza/pull/2585 +* feat: add router nitro plugin by @RaveenaBhasin in https://github.com/elizaOS/eliza/pull/2590 +* feat(plugin-new): initia plugin + chore revert to integrationTests from stable release 0.1.7 by @boohyunsik in https://github.com/elizaOS/eliza/pull/2448 +* feat: nvidia-nim-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2599 +* fix: Add instruction to escape quotes on JSON generation by @lalalune in https://github.com/elizaOS/eliza/pull/2604 +* feat(new-plugin): 0x plugin to swap on evms by @chuasonglin1995 in https://github.com/elizaOS/eliza/pull/2329 +* fix: add missing plugin by @tcm390 in https://github.com/elizaOS/eliza/pull/2626 +* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2627 +* chore(deps): update dependency vite [security] by @renovate in https://github.com/elizaOS/eliza/pull/2629 +* feat: add plugin-bnb to support BNB chain by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/2278 +* chore: fix develop build and tests by @wtfsayo in https://github.com/elizaOS/eliza/pull/2646 +* feat: plugin for OriginTrail Decentralized Knowledge Graph by @brkagithub in https://github.com/elizaOS/eliza/pull/2380 +* fix: Resolve chat error in openai-plugin (#2649) by @lincheoll in https://github.com/elizaOS/eliza/pull/2650 +* feat: Cosmos Plugin - IBC swap action by @stanislawkurzypBD in https://github.com/elizaOS/eliza/pull/2554 +* fix: a typo bug in conflux plugin by @siphonelee in https://github.com/elizaOS/eliza/pull/2654 +* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2670 +* feat(email-plugin): add email-plugin + improve: fixed avail plugin duplicate dependency by @jteso in https://github.com/elizaOS/eliza/pull/2645 +* chore(spelling-fixes): docs by @nnsW3 in https://github.com/elizaOS/eliza/pull/2669 +* feat(new-plugin): suno Eliza plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2656 +* Revert "feat(new-plugin): suno Eliza plugin" by @wtfsayo in https://github.com/elizaOS/eliza/pull/2673 +* feat: Implement runProcess function in test library by @VolodymyrBg in https://github.com/elizaOS/eliza/pull/2672 +* fix: remove wrong comment by @tcm390 in https://github.com/elizaOS/eliza/pull/2683 +* feat: chainbase plugin for eliza by @lxcong in https://github.com/elizaOS/eliza/pull/2162 +* fix debug targets to show elizalogger debug messages by @augchan42 in https://github.com/elizaOS/eliza/pull/2685 +* feat: custom s3 endpoint url for 'plugin-node' by @dtbuchholz in https://github.com/elizaOS/eliza/pull/2176 +* chore: lint pass by @odilitime in https://github.com/elizaOS/eliza/pull/2580 +* feat(plugin-new): Official SimsAI Release V1.0 by @simsaidev in https://github.com/elizaOS/eliza/pull/2618 +* chore: fix types syntax issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2694 +* feat: add adapter-qdrant by @oxf71 in https://github.com/elizaOS/eliza/pull/2322 +* feat(new-plugin): suno music generation by @Freytes in https://github.com/elizaOS/eliza/pull/2679 +* feat(new-plugin): udio music generation for eliza by @Freytes in https://github.com/elizaOS/eliza/pull/2660 +* feat(new-plugin): Eliza OmniFlix Plugin by @OmniflixBlockEater in https://github.com/elizaOS/eliza/pull/2693 +* fix(ragKnowledge): Ensure scoped IDs are properly used to check for existing knowledge by @augchan42 in https://github.com/elizaOS/eliza/pull/2690 +* feat: Hyperbolic-plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2701 +* Mostly aesthetic changes, fixed some wonky bullets and numbered lists. by @bealers in https://github.com/elizaOS/eliza/pull/2698 +* feat(new-plugin): eliza samsung smarthings plugin by @Freytes in https://github.com/elizaOS/eliza/pull/2678 +* Improve GitBook Provider Output by Including Query Context by @Evan-zkLinkLabs in https://github.com/elizaOS/eliza/pull/2659 +* feat: Plugin football by @suleigolden in https://github.com/elizaOS/eliza/pull/2461 +* feat: [Space] improving handling of user ids and memory storage by @worksgoodcompany in https://github.com/elizaOS/eliza/pull/2686 +* fix: correct stt plugin userId type by @tcm390 in https://github.com/elizaOS/eliza/pull/2704 +* fix: Unexpected JSON Metadata in Twitter Bot Replies by @tcm390 in https://github.com/elizaOS/eliza/pull/2712 +* fix: remove duplicated handlePendingTweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2715 +* feat: add error message by @tcm390 in https://github.com/elizaOS/eliza/pull/2717 +* Remove the log as it may potentially cause the app to crash by @tcm390 in https://github.com/elizaOS/eliza/pull/2716 +* feat: improve twitter parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2730 +* feat: move cleanJsonResponse to parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2732 +* fix: delete plugin-bootstrap sex message, because it will cause some apis sensitive alerts by @klren0312 in https://github.com/elizaOS/eliza/pull/2748 +* feat: add lit plugin by @dezcalimese in https://github.com/elizaOS/eliza/pull/2703 +* feat(plugin-holdstation): add plugin holdstation swap by @dev-holdstation in https://github.com/elizaOS/eliza/pull/2741 +* feat: Restrict discord bot to respond only in allowed channels (#2742) by @lincheoll in https://github.com/elizaOS/eliza/pull/2743 +* chore: adds hyperliquid env variables to env example by @alex1092 in https://github.com/elizaOS/eliza/pull/2736 +* feat: Add Sei Plugin by @mj850 in https://github.com/elizaOS/eliza/pull/2720 +* feat(ton-plugin): add debug scripts and fix the transfer by @jinbangyi in https://github.com/elizaOS/eliza/pull/2744 +* chore(core/evaluators): source example links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/2724 +* fix: resolve @ai-sdk/provider version conflicts by @antman1p in https://github.com/elizaOS/eliza/pull/2714 +* Bug/fix ton plugin by @ajkraus04 in https://github.com/elizaOS/eliza/pull/2755 +* fix: ton plugin build issue by @wtfsayo in https://github.com/elizaOS/eliza/pull/2757 +* feat: biome automation via python with reporting by @AIFlowML in https://github.com/elizaOS/eliza/pull/2733 +* chore: Use latest allora-sdk version in the Allora Plugin by @conache in https://github.com/elizaOS/eliza/pull/2707 +* feat(new-plugin): adding Imgflip plugin for generating memes using the imgflip.com API by @krustevalexander in https://github.com/elizaOS/eliza/pull/2711 +* feat: Add plugin-ethstorage by @iteyelmp in https://github.com/elizaOS/eliza/pull/2737 +* feat: minimal workflow to resolve ephemeral check by @twilwa in https://github.com/elizaOS/eliza/pull/2735 +* feat: support mina blockchain by @lispking in https://github.com/elizaOS/eliza/pull/2702 +* client-eliza-home: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2719 +* feat: create /.turbo/config.json by @twilwa in https://github.com/elizaOS/eliza/pull/2768 +* feat: Add Amazon Bedrock as LLM provider by @ebaizel in https://github.com/elizaOS/eliza/pull/2769 +* Fix path in all files by @LouisVannobel in https://github.com/elizaOS/eliza/pull/2763 +* feat(new-plugin): added zerion plugin by @pranav-singhal in https://github.com/elizaOS/eliza/pull/2766 +* feat: add moralis plugin by @bharathbabu-moralis in https://github.com/elizaOS/eliza/pull/2764 +* feat(edriziai): Add Edriziai Startup Mentor AI Assistant by @ccross2 in https://github.com/elizaOS/eliza/pull/2687 +* docs: add docs on configuring secrets for multi agent workflows. by @LinuxIsCool in https://github.com/elizaOS/eliza/pull/2632 +* feat(new-plugin): adding intelligent email evaluation and automation by @Cooops in https://github.com/elizaOS/eliza/pull/2709 +* feat(new-plugin): add Form chain plugin by @tmarwen in https://github.com/elizaOS/eliza/pull/2728 +* feat: added Ankr plugin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2773 +* feat(new-plugin): bittensor bitmind api for eliza by @benliang99 in https://github.com/elizaOS/eliza/pull/2682 +* feat: Add plugin-dcap by @Liao1 in https://github.com/elizaOS/eliza/pull/2638 +* chore: enable turbo cache by @wtfsayo in https://github.com/elizaOS/eliza/pull/2775 +* fix: make template message footer more explicit by @HashWarlock in https://github.com/elizaOS/eliza/pull/2774 +* docs: add one click deployment to docs by @KanishkKhurana in https://github.com/elizaOS/eliza/pull/2631 +* feat: Add swap & improvements for multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2651 +* chore: allow custom TEE log path by @batudo in https://github.com/elizaOS/eliza/pull/2616 +* feat(new-adapter): mongo-db adaptor by @jobyid in https://github.com/elizaOS/eliza/pull/1427 +* chore(plugin-coinbase): Update tokenContract.ts by @AdventureSeeker987 in https://github.com/elizaOS/eliza/pull/2781 +* chore(add-tests): plugin abstract: test config and tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2621 +* feat(client-alexa): Basic Alexa skill notification by @brandon1525 in https://github.com/elizaOS/eliza/pull/2564 +* feat(new-plugin): quick intel plugin for token security analysis by @azep-ninja in https://github.com/elizaOS/eliza/pull/2391 +* feat: add Mind Network plugin by @zy-bc-ai in https://github.com/elizaOS/eliza/pull/2431 +* fix: goal updating bug in the goal evaluator's handler of plugin-bootstrap by @Alirun in https://github.com/elizaOS/eliza/pull/2725 +* fix: ethers/viem issue in mind network plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2783 +* fix: client-twitter homeTimeline name parse bug by @JhChoy in https://github.com/elizaOS/eliza/pull/2789 +* fix: topics formatting bug at composeState by @JhChoy in https://github.com/elizaOS/eliza/pull/2788 +* Fix: DTS Error mismatch LanguageModelV1interface/Version in ai-sdk mistral model by @juanc07 in https://github.com/elizaOS/eliza/pull/2782 +* feat: plugin Solana web3.js V2 & automated LPing on Orca by @calintje in https://github.com/elizaOS/eliza/pull/2136 +* feat: news-plugin by @ileana-pr in https://github.com/elizaOS/eliza/pull/1248 +* fix: bug in goal objectives update lookup logic by @Alirun in https://github.com/elizaOS/eliza/pull/2791 +* fix: adding exclusion for extra folder for faster future rebase by @AIFlowML in https://github.com/elizaOS/eliza/pull/2813 +* feat: Add Access Token Management to MultiversX Plugin by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2810 +* chore: plugin-0g test configuration and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2805 +* test: plugin-0x test configuration and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2807 +* fix: akash splash by @AIFlowML in https://github.com/elizaOS/eliza/pull/2816 +* fix: nvidia nim environment by @AIFlowML in https://github.com/elizaOS/eliza/pull/2817 +* feat: improve message parsing by @tcm390 in https://github.com/elizaOS/eliza/pull/2772 +* fix: plugin-zksync-era multiple errors and issues as documented by @AIFlowML in https://github.com/elizaOS/eliza/pull/2819 +* docs: Create client-discord readme.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2812 +* docs: Update client-telegram README.md by @actuallyrizzn in https://github.com/elizaOS/eliza/pull/2814 +* docs: update embedding function by @rubinovitz in https://github.com/elizaOS/eliza/pull/2821 +* feat: twitter post media by @tcm390 in https://github.com/elizaOS/eliza/pull/2818 +* fix: plugin-tts by @AIFlowML in https://github.com/elizaOS/eliza/pull/2829 +* fix: plugin-twitter by @AIFlowML in https://github.com/elizaOS/eliza/pull/2827 +* fix: plugin-udio by @AIFlowML in https://github.com/elizaOS/eliza/pull/2824 +* fix: plugin-video-generation Fixed multiple non criticla issues. by @AIFlowML in https://github.com/elizaOS/eliza/pull/2823 +* fix: plugin-zerion by @AIFlowML in https://github.com/elizaOS/eliza/pull/2822 +* feat(new-plugin): create gelato plugin relay by @anirudhmakhana in https://github.com/elizaOS/eliza/pull/2799 +* fix: still run Farcaster client loop if error by @rubinovitz in https://github.com/elizaOS/eliza/pull/2830 +* feat: add new readmes, move some others for consistency by @madjin in https://github.com/elizaOS/eliza/pull/2828 +* btcfun Plugin for Eliza by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2797 +* feat: XMTP Client by @humanagent in https://github.com/elizaOS/eliza/pull/2786 +* feat(new-plugin): trikon plugin for eliza by @AmriteshTrikon in https://github.com/elizaOS/eliza/pull/2653 +* chore(update-plugin-initialization): btcfun & trikon plugin by @Nevermore-Ray in https://github.com/elizaOS/eliza/pull/2643 +* fix: plugin-thirdweb by @AIFlowML in https://github.com/elizaOS/eliza/pull/2833 +* fix(deps): update dependency cookie to v0.7.0 [security] by @renovate in https://github.com/elizaOS/eliza/pull/2834 +* fix: plugin-ton by @AIFlowML in https://github.com/elizaOS/eliza/pull/2832 +* fix: plugin-tee-marlin by @AIFlowML in https://github.com/elizaOS/eliza/pull/2837 +* fix: plugin-tee-veriafiable-log by @AIFlowML in https://github.com/elizaOS/eliza/pull/2836 +* fix: akash splash bis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2838 +* fix: plugin-story by @AIFlowML in https://github.com/elizaOS/eliza/pull/2844 +* fix: plugin-sui by @AIFlowML in https://github.com/elizaOS/eliza/pull/2843 +* fix: plugin-suno by @AIFlowML in https://github.com/elizaOS/eliza/pull/2840 +* fix(deps): update bs58 version to resolve integration test dependency issues by @devin-ai-integration in https://github.com/elizaOS/eliza/pull/2848 +* feat(new-plugin): A plugin for the Zilliqa blockchain by @rrw-zilliqa in https://github.com/elizaOS/eliza/pull/2842 +* refactor: simplify and fix exports in Imgflip meme generation plugin. by @krustevalexander in https://github.com/elizaOS/eliza/pull/2846 +* feat: client for Telegram account by @tgaru in https://github.com/elizaOS/eliza/pull/2839 +* chore(add-tests): plugin 3d generation: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2850 +* chore(add-tests): plugin anyone: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2854 +* feat(new-plugin): support apro plugin by @fifahuihua in https://github.com/elizaOS/eliza/pull/2794 +* feat(new-plugin): add arbitrage plugin with example character by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2784 +* feat(new-plugin): deva client integration by @stopmalone in https://github.com/elizaOS/eliza/pull/1238 +* fix: single quote handle bug at parseJsonArray by @JhChoy in https://github.com/elizaOS/eliza/pull/2802 +* fix: fix merge conflict by @tcm390 in https://github.com/elizaOS/eliza/pull/2873 +* fix: null check by @tcm390 in https://github.com/elizaOS/eliza/pull/2878 +* fix: default character openai => llamalocal by @odilitime in https://github.com/elizaOS/eliza/pull/2880 +* fix: LOG_JSON_FORMAT env var setting by @odilitime in https://github.com/elizaOS/eliza/pull/2881 +* fix: fix abstract package.json by @odilitime in https://github.com/elizaOS/eliza/pull/2882 +* chore: bump version to 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2883 +* fix: client server port by @tcm390 in https://github.com/elizaOS/eliza/pull/2886 +* Add more data when scrapping tweets by @viv-cheung in https://github.com/elizaOS/eliza/pull/2644 +* Update pnpm to v9.15.0 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2888 +* Update dependency systeminformation to v5.23.8 [SECURITY] by @renovate in https://github.com/elizaOS/eliza/pull/2887 +* fet: use axios to fetch price and support two types private key by @v1xingyue in https://github.com/elizaOS/eliza/pull/2879 +* fix: plugin-omniflix by @AIFlowML in https://github.com/elizaOS/eliza/pull/2902 +* fix: plugin-open-weather by @AIFlowML in https://github.com/elizaOS/eliza/pull/2899 +* fix: plugin-opacity by @AIFlowML in https://github.com/elizaOS/eliza/pull/2900 +* fix: plugin-openai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2898 +* fix(patch): pnpm/@solana-developers to fix @coral-xyz 'BN' export by @wtfsayo in https://github.com/elizaOS/eliza/pull/2901 +* fix: plugin-primus by @AIFlowML in https://github.com/elizaOS/eliza/pull/2893 +* fix: plugin-quai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2892 +* fix: plugin-quick-intel by @AIFlowML in https://github.com/elizaOS/eliza/pull/2890 +* fix: plugin-sei by @AIFlowML in https://github.com/elizaOS/eliza/pull/2877 +* fix: plugin-sgx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2872 +* fix: plugin-starknet by @AIFlowML in https://github.com/elizaOS/eliza/pull/2866 +* fix: plugin-spheron by @AIFlowML in https://github.com/elizaOS/eliza/pull/2870 +* fix: plugin-squid-router by @AIFlowML in https://github.com/elizaOS/eliza/pull/2868 +* Update LICENSE by @maximevtush in https://github.com/elizaOS/eliza/pull/2903 +* fix: plugin-arbitrage by @AIFlowML in https://github.com/elizaOS/eliza/pull/2905 +* chore: fix spell errors by @Pricstas in https://github.com/elizaOS/eliza/pull/2909 +* feat(arbitrage): improve gas price optimization and volume calculation by @mmarfinetz in https://github.com/elizaOS/eliza/pull/2869 +* chore(add-tests): plugin-asterai -> test coverage and config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2860 +* ci: changes to allow package scoping to public by @shakkernerd in https://github.com/elizaOS/eliza/pull/2928 +* fix: missing version prop in package.json by @shakkernerd in https://github.com/elizaOS/eliza/pull/2929 +* fix: invalid npm package naming convention by @shakkernerd in https://github.com/elizaOS/eliza/pull/2930 +* chore: inconsistent folder naming conventipn by @shakkernerd in https://github.com/elizaOS/eliza/pull/2931 +* feat: add public access to packages. by @shakkernerd in https://github.com/elizaOS/eliza/pull/2933 +* fix template typos by @michavie in https://github.com/elizaOS/eliza/pull/2932 +* feat: new model provider for LM Studio by @eric2hen in https://github.com/elizaOS/eliza/pull/2913 +* fix: plugin-nft-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2934 +* fix: building error by @tcm390 in https://github.com/elizaOS/eliza/pull/2938 +* fix: plugin-news by @AIFlowML in https://github.com/elizaOS/eliza/pull/2940 +* fix: plugin-nft-collection by @AIFlowML in https://github.com/elizaOS/eliza/pull/2937 +* fix: plugin-near by @AIFlowML in https://github.com/elizaOS/eliza/pull/2941 +* fix: plugin-movement by @AIFlowML in https://github.com/elizaOS/eliza/pull/2943 +* fix: plugin-multiversx by @AIFlowML in https://github.com/elizaOS/eliza/pull/2942 +* fix: remove dead code by @tcm390 in https://github.com/elizaOS/eliza/pull/2945 +* fix: add missing plugins in package.json by @tcm390 in https://github.com/elizaOS/eliza/pull/2947 +* fix: doesn't work in tweet post template by @tcm390 in https://github.com/elizaOS/eliza/pull/2951 +* fix: plugin-massa by @AIFlowML in https://github.com/elizaOS/eliza/pull/2955 +* fix-plugin-mina by @AIFlowML in https://github.com/elizaOS/eliza/pull/2954 +* fix: mind-network by @AIFlowML in https://github.com/elizaOS/eliza/pull/2953 +* fix: plugin-moralis by @AIFlowML in https://github.com/elizaOS/eliza/pull/2952 +* fix: remove unnecessary @ts-expect-error directive in chat component by @wonseokjung in https://github.com/elizaOS/eliza/pull/2950 +* feat(plugin-di): add `Dependency Injection` support for services and clients, and di plugin samples to _examples as new folder by @btspoony in https://github.com/elizaOS/eliza/pull/2855 +* fix: handle whitespace in quote conversion by @tcm390 in https://github.com/elizaOS/eliza/pull/2961 +* fix: plugin-letzai by @AIFlowML in https://github.com/elizaOS/eliza/pull/2960 +* fix: plugin-lightning by @AIFlowML in https://github.com/elizaOS/eliza/pull/2959 +* fix: plugin-lit by @AIFlowML in https://github.com/elizaOS/eliza/pull/2957 +* fix: plugin-obsidian by @AIFlowML in https://github.com/elizaOS/eliza/pull/2906 +* fix: plugin-router-nitro by @AIFlowML in https://github.com/elizaOS/eliza/pull/2884 +* fix: ensure action tweet replies to agent's initial tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/2966 +* fix: plugin-lensnetwork by @AIFlowML in https://github.com/elizaOS/eliza/pull/2965 +* chore: bump pnpm for remaining workflows by @wtfsayo in https://github.com/elizaOS/eliza/pull/2968 +* fix(lint): plugin-intiface by @AIFlowML in https://github.com/elizaOS/eliza/pull/2971 +* fix(lint): plugin-iq6900 by @AIFlowML in https://github.com/elizaOS/eliza/pull/2970 +* fix: plugin-irys by @AIFlowML in https://github.com/elizaOS/eliza/pull/2969 +* fix(lint): plugin-injective by @AIFlowML in https://github.com/elizaOS/eliza/pull/2973 +* fix: plugin-initia by @AIFlowML in https://github.com/elizaOS/eliza/pull/2974 +* fix(lint): plugin-imgflip by @AIFlowML in https://github.com/elizaOS/eliza/pull/2976 +* fix(lint): plugin-image-generation by @AIFlowML in https://github.com/elizaOS/eliza/pull/2978 +* feat(chore): plugin-arbitrage test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2983 +* feat: improve instagram client by @derrix060 in https://github.com/elizaOS/eliza/pull/2975 +* feat(chore): plugin-apro -> test coverage and test config by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2980 +* fix README's CONTRIBUTING.md link in plugin-multiversx package by @elpulpo0 in https://github.com/elizaOS/eliza/pull/2985 +* docs: fix broken links to github by @yaruno in https://github.com/elizaOS/eliza/pull/2987 +* Update lpmanager.character.json by @Dahka2321 in https://github.com/elizaOS/eliza/pull/2921 +* chore: correction typos chat_2024-12-04.md by @futreall in https://github.com/elizaOS/eliza/pull/2986 +* feat(more-actions): Lit Protocol plugin by @madschristensen99 in https://github.com/elizaOS/eliza/pull/2912 +* fix: re-enable wtfsayonara's patch by @odilitime in https://github.com/elizaOS/eliza/pull/2993 +* chore: lockfile audit by @odilitime in https://github.com/elizaOS/eliza/pull/2994 +* Update of the complete translation of README_FR.md [FR] by @YohanGH in https://github.com/elizaOS/eliza/pull/2964 +* feat (chore): plugin avalanche test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2999 +* feat (chore): plugin avail test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2997 +* feat (chore): plugin-autonome test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2992 +* fix: OpenAI embedding issue by @ileana-pr in https://github.com/elizaOS/eliza/pull/3003 +* fix: don't start services twice, improve logging by @odilitime in https://github.com/elizaOS/eliza/pull/3007 +* fix: deepgram transcription null check by @tcm390 in https://github.com/elizaOS/eliza/pull/3014 +* fix: llava model parsing Issue by @tcm390 in https://github.com/elizaOS/eliza/pull/3008 +* fix(lint): plugin-hyperliquid by @AIFlowML in https://github.com/elizaOS/eliza/pull/3011 +* fix(lint): plugin-holdstation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3015 +* fix(lint): plugin-goplus by @AIFlowML in https://github.com/elizaOS/eliza/pull/3016 +* chore(lint-BIOME): Improving errors and warnings by @0xSero in https://github.com/elizaOS/eliza/pull/2990 +* fix: client-slack & adapter-postgres: Ensure the connection between user and room before creating a memory,… by @maxime in https://github.com/elizaOS/eliza/pull/3006 +* fix: change handleAnthropic default mode to auto by @Jesscha in https://github.com/elizaOS/eliza/pull/3018 +* fix: spelling issue by @sky-coderay in https://github.com/elizaOS/eliza/pull/3041 +* fix(lint): plugin-ethstorage by @AIFlowML in https://github.com/elizaOS/eliza/pull/3039 +* fix(lint): plugin-evm by @AIFlowML in https://github.com/elizaOS/eliza/pull/3038 +* fix(lint): plugin-flow by @AIFlowML in https://github.com/elizaOS/eliza/pull/3036 +* fix(lint): plugin-football by @AIFlowML in https://github.com/elizaOS/eliza/pull/3035 +* fix(lint): plugin-form by @AIFlowML in https://github.com/elizaOS/eliza/pull/3033 +* fix(lint): plugin-fuel by @AIFlowML in https://github.com/elizaOS/eliza/pull/3028 +* fix(lint): plugin-gelato by @AIFlowML in https://github.com/elizaOS/eliza/pull/3027 +* fix(lint): plugin-genlayer by @AIFlowML in https://github.com/elizaOS/eliza/pull/3025 +* fix(lint): plugin-giphy by @AIFlowML in https://github.com/elizaOS/eliza/pull/3024 +* fix(lint): plugin-goat by @AIFlowML in https://github.com/elizaOS/eliza/pull/3019 +* fix(lint): plugin-gitcoin-passport by @AIFlowML in https://github.com/elizaOS/eliza/pull/3022 +* fix(lint): plugin-gitbook by @AIFlowML in https://github.com/elizaOS/eliza/pull/3023 +* feat: add Fleek Eliza deployment to Readme_CN by @tobySolutions in https://github.com/elizaOS/eliza/pull/3048 +* fix: correct regex by @tcm390 in https://github.com/elizaOS/eliza/pull/3054 +* fix: Message id collision in Telegram Client by @tcm390 in https://github.com/elizaOS/eliza/pull/3053 +* fix: ImageVisionModelProvider Not Applied in Runtime for Image Description Service by @tcm390 in https://github.com/elizaOS/eliza/pull/3056 +* fix: handle unsupported image provider by @tcm390 in https://github.com/elizaOS/eliza/pull/3057 +* feat: use Aggregator swap sui tokens by @v1xingyue in https://github.com/elizaOS/eliza/pull/3012 +* fix: plugin-devin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3070 +* fix: plugin-binance lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3089 +* fix: plugin-birdeye lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3088 +* fix: plugin-bittensor lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3087 +* fix: plugin-Chainbase lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3085 +* fix: plugin-coingecko lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3084 +* fix: plugin-coinmarketcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3082 +* fix: plugin-conflux lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3080 +* fix: plugin-cosmos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3077 +* fix: plugin-cronos lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3076 +* fix: plugin-bnb lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3086 +* fix: Rename file with typo in MVX plugin by @PhyByte in https://github.com/elizaOS/eliza/pull/3026 +* docs: Add Arabic translation for README by @EmanHerawy in https://github.com/elizaOS/eliza/pull/3081 +* fix: plugin-cronoszkevm lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3075 +* fix: plugin-dcap lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3074 +* fix: plugin-b2 lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3091 +* fix: plugin-depin lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3073 +* fix: plugin-dexscreener lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3069 +* fix: the unexpected corrections for plugin-di caused by biome lint by @btspoony in https://github.com/elizaOS/eliza/pull/3052 +* fix: fix-plugin-di lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3066 +* fix: plugin-avalanche lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3092 +* fix: plugin-echochamber lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3063 +* fix: plugin-dkg lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3065 +* fix: plugin-mail lint by @AIFlowML in https://github.com/elizaOS/eliza/pull/3061 +* feat: 3049 add demo api access coingecko by @MichaelDeng03 in https://github.com/elizaOS/eliza/pull/3050 +* fix(lint): email-automation by @AIFlowML in https://github.com/elizaOS/eliza/pull/3044 +* fix: plugin-avail by @AIFlowML in https://github.com/elizaOS/eliza/pull/3094 +* docs(packages/adapters): navigate section links by @guspan-tanadi in https://github.com/elizaOS/eliza/pull/3005 +* fix: fixed build error in plugin-email-automation by @samarth30 in https://github.com/elizaOS/eliza/pull/3097 +* fix: plugin-icp refactored by @AIFlowML in https://github.com/elizaOS/eliza/pull/3010 +* fix: plugin-asterai by @AIFlowML in https://github.com/elizaOS/eliza/pull/3101 +* fix: plugin-autonome-v1 by @AIFlowML in https://github.com/elizaOS/eliza/pull/3098 +* fix: plugin-arthera-biome by @AIFlowML in https://github.com/elizaOS/eliza/pull/3102 +* fix: plugin-aptos by @AIFlowML in https://github.com/elizaOS/eliza/pull/3104 +* docs: Add "What Did You Get Done This Week? 11" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/3103 +* fix: fixing the error parsing json when an array is a value in a JSON… by @maxime in https://github.com/elizaOS/eliza/pull/3113 +* chore: updated .gitignore + removed build files by @wtfsayo in https://github.com/elizaOS/eliza/pull/3117 +* fix: auto-scrolling issue in client by @tcm390 in https://github.com/elizaOS/eliza/pull/3115 +* fix: plugin-apro by @AIFlowML in https://github.com/elizaOS/eliza/pull/3106 +* feat (chore): plugin-chainbase test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3072 +* feat (chore): plugin bittensor test config and coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3064 +* feat (chore): plugin-bootstrap: test config and test coverage by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/3068 +* fix: docker build command by skipping eslint files by @jonathangus in https://github.com/elizaOS/eliza/pull/3110 +* fix: export dexScreenerPlugin by @shakkernerd in https://github.com/elizaOS/eliza/pull/3120 +* fix:chore(plugin-chainbase): add missing comma in package.json by @akugone in https://github.com/elizaOS/eliza/pull/3118 +* fix: remove duplicate litPlugin import by @shakkernerd in https://github.com/elizaOS/eliza/pull/3121 +* chore: dev => main 0.1.9 by @odilitime in https://github.com/elizaOS/eliza/pull/2361 + +#### New Contributors + +
+View New Contributors +* @adacapo21 made their first contribution in https://github.com/elizaOS/eliza/pull/2199 +* @gene-zhan made their first contribution in https://github.com/elizaOS/eliza/pull/1369 +* @Stumble made their first contribution in https://github.com/elizaOS/eliza/pull/2228 +* @oxlupo made their first contribution in https://github.com/elizaOS/eliza/pull/2260 +* @VitalikBerashvili made their first contribution in https://github.com/elizaOS/eliza/pull/2256 +* @Hack666r made their first contribution in https://github.com/elizaOS/eliza/pull/2255 +* @KacperKoza343 made their first contribution in https://github.com/elizaOS/eliza/pull/2240 +* @thetechnocratic made their first contribution in https://github.com/elizaOS/eliza/pull/1710 +* @Firbydude made their first contribution in https://github.com/elizaOS/eliza/pull/1442 +* @MonteCrypto999 made their first contribution in https://github.com/elizaOS/eliza/pull/2249 +* @lincheoll made their first contribution in https://github.com/elizaOS/eliza/pull/2274 +* @jason51553262 made their first contribution in https://github.com/elizaOS/eliza/pull/2267 +* @CryptoGraffe made their first contribution in https://github.com/elizaOS/eliza/pull/2307 +* @bbopar made their first contribution in https://github.com/elizaOS/eliza/pull/2293 +* @hellopleasures made their first contribution in https://github.com/elizaOS/eliza/pull/1865 +* @chuasonglin1995 made their first contribution in https://github.com/elizaOS/eliza/pull/2195 +* @everimbaq made their first contribution in https://github.com/elizaOS/eliza/pull/2324 +* @derrekcoleman made their first contribution in https://github.com/elizaOS/eliza/pull/2336 +* @sukrucildirr made their first contribution in https://github.com/elizaOS/eliza/pull/2334 +* @C0ldSmi1e made their first contribution in https://github.com/elizaOS/eliza/pull/2353 +* @0xnogo made their first contribution in https://github.com/elizaOS/eliza/pull/2149 +* @leeran7 made their first contribution in https://github.com/elizaOS/eliza/pull/2328 +* @defitricks made their first contribution in https://github.com/elizaOS/eliza/pull/2370 +* @0xSero made their first contribution in https://github.com/elizaOS/eliza/pull/2378 +* @dev-whoan made their first contribution in https://github.com/elizaOS/eliza/pull/2382 +* @ericlehong made their first contribution in https://github.com/elizaOS/eliza/pull/2385 +* @crStiv made their first contribution in https://github.com/elizaOS/eliza/pull/2394 +* @francis2tm made their first contribution in https://github.com/elizaOS/eliza/pull/2082 +* @enigmarikki made their first contribution in https://github.com/elizaOS/eliza/pull/1764 +* @sweetmantech made their first contribution in https://github.com/elizaOS/eliza/pull/2298 +* @donatik27 made their first contribution in https://github.com/elizaOS/eliza/pull/2438 +* @leopardracer made their first contribution in https://github.com/elizaOS/eliza/pull/2435 +* @Hopium21 made their first contribution in https://github.com/elizaOS/eliza/pull/2441 +* @bundinho made their first contribution in https://github.com/elizaOS/eliza/pull/2415 +* @RubinovaAn1097 made their first contribution in https://github.com/elizaOS/eliza/pull/2449 +* @MarsonKotovi4 made their first contribution in https://github.com/elizaOS/eliza/pull/2445 +* @ae9is made their first contribution in https://github.com/elizaOS/eliza/pull/2375 +* @Pistasha made their first contribution in https://github.com/elizaOS/eliza/pull/2447 +* @dedyshkaPexto made their first contribution in https://github.com/elizaOS/eliza/pull/2464 +* @Dimitrolito made their first contribution in https://github.com/elizaOS/eliza/pull/2456 +* @carlos-cne made their first contribution in https://github.com/elizaOS/eliza/pull/2413 +* @suleigolden made their first contribution in https://github.com/elizaOS/eliza/pull/2462 +* @B1boid made their first contribution in https://github.com/elizaOS/eliza/pull/2332 +* @lispking made their first contribution in https://github.com/elizaOS/eliza/pull/2476 +* @Olexandr88 made their first contribution in https://github.com/elizaOS/eliza/pull/2483 +* @sunsakis made their first contribution in https://github.com/elizaOS/eliza/pull/2340 +* @Daulox92 made their first contribution in https://github.com/elizaOS/eliza/pull/2495 +* @KoZivod88074 made their first contribution in https://github.com/elizaOS/eliza/pull/2485 +* @tercel made their first contribution in https://github.com/elizaOS/eliza/pull/2365 +* @0xrubusdata made their first contribution in https://github.com/elizaOS/eliza/pull/2463 +* @visionpixel made their first contribution in https://github.com/elizaOS/eliza/pull/2518 +* @Haisen772 made their first contribution in https://github.com/elizaOS/eliza/pull/2492 +* @bfontes made their first contribution in https://github.com/elizaOS/eliza/pull/2506 +* @jimtracy1007 made their first contribution in https://github.com/elizaOS/eliza/pull/2429 +* @devin-ai-integration made their first contribution in https://github.com/elizaOS/eliza/pull/2549 +* @neelkanani made their first contribution in https://github.com/elizaOS/eliza/pull/2547 +* @BitWonka made their first contribution in https://github.com/elizaOS/eliza/pull/2524 +* @maxcoto made their first contribution in https://github.com/elizaOS/eliza/pull/2389 +* @cuongnguyenthai made their first contribution in https://github.com/elizaOS/eliza/pull/2596 +* @leejw51crypto made their first contribution in https://github.com/elizaOS/eliza/pull/2585 +* @RaveenaBhasin made their first contribution in https://github.com/elizaOS/eliza/pull/2590 +* @boohyunsik made their first contribution in https://github.com/elizaOS/eliza/pull/2448 +* @brkagithub made their first contribution in https://github.com/elizaOS/eliza/pull/2380 +* @stanislawkurzypBD made their first contribution in https://github.com/elizaOS/eliza/pull/2554 +* @siphonelee made their first contribution in https://github.com/elizaOS/eliza/pull/2654 +* @jteso made their first contribution in https://github.com/elizaOS/eliza/pull/2645 +* @nnsW3 made their first contribution in https://github.com/elizaOS/eliza/pull/2669 +* @VolodymyrBg made their first contribution in https://github.com/elizaOS/eliza/pull/2672 +* @lxcong made their first contribution in https://github.com/elizaOS/eliza/pull/2162 +* @dtbuchholz made their first contribution in https://github.com/elizaOS/eliza/pull/2176 +* @simsaidev made their first contribution in https://github.com/elizaOS/eliza/pull/2618 +* @oxf71 made their first contribution in https://github.com/elizaOS/eliza/pull/2322 +* @OmniflixBlockEater made their first contribution in https://github.com/elizaOS/eliza/pull/2693 +* @bealers made their first contribution in https://github.com/elizaOS/eliza/pull/2698 +* @Evan-zkLinkLabs made their first contribution in https://github.com/elizaOS/eliza/pull/2659 +* @worksgoodcompany made their first contribution in https://github.com/elizaOS/eliza/pull/2686 +* @klren0312 made their first contribution in https://github.com/elizaOS/eliza/pull/2748 +* @dezcalimese made their first contribution in https://github.com/elizaOS/eliza/pull/2703 +* @dev-holdstation made their first contribution in https://github.com/elizaOS/eliza/pull/2741 +* @alex1092 made their first contribution in https://github.com/elizaOS/eliza/pull/2736 +* @mj850 made their first contribution in https://github.com/elizaOS/eliza/pull/2720 +* @guspan-tanadi made their first contribution in https://github.com/elizaOS/eliza/pull/2724 +* @ajkraus04 made their first contribution in https://github.com/elizaOS/eliza/pull/2755 +* @krustevalexander made their first contribution in https://github.com/elizaOS/eliza/pull/2711 +* @iteyelmp made their first contribution in https://github.com/elizaOS/eliza/pull/2737 +* @ebaizel made their first contribution in https://github.com/elizaOS/eliza/pull/2769 +* @LouisVannobel made their first contribution in https://github.com/elizaOS/eliza/pull/2763 +* @pranav-singhal made their first contribution in https://github.com/elizaOS/eliza/pull/2766 +* @bharathbabu-moralis made their first contribution in https://github.com/elizaOS/eliza/pull/2764 +* @ccross2 made their first contribution in https://github.com/elizaOS/eliza/pull/2687 +* @LinuxIsCool made their first contribution in https://github.com/elizaOS/eliza/pull/2632 +* @Cooops made their first contribution in https://github.com/elizaOS/eliza/pull/2709 +* @tmarwen made their first contribution in https://github.com/elizaOS/eliza/pull/2728 +* @benliang99 made their first contribution in https://github.com/elizaOS/eliza/pull/2682 +* @Liao1 made their first contribution in https://github.com/elizaOS/eliza/pull/2638 +* @KanishkKhurana made their first contribution in https://github.com/elizaOS/eliza/pull/2631 +* @batudo made their first contribution in https://github.com/elizaOS/eliza/pull/2616 +* @jobyid made their first contribution in https://github.com/elizaOS/eliza/pull/1427 +* @AdventureSeeker987 made their first contribution in https://github.com/elizaOS/eliza/pull/2781 +* @brandon1525 made their first contribution in https://github.com/elizaOS/eliza/pull/2564 +* @zy-bc-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2431 +* @Alirun made their first contribution in https://github.com/elizaOS/eliza/pull/2725 +* @JhChoy made their first contribution in https://github.com/elizaOS/eliza/pull/2789 +* @juanc07 made their first contribution in https://github.com/elizaOS/eliza/pull/2782 +* @calintje made their first contribution in https://github.com/elizaOS/eliza/pull/2136 +* @elpulpo0 made their first contribution in https://github.com/elizaOS/eliza/pull/2810 +* @actuallyrizzn made their first contribution in https://github.com/elizaOS/eliza/pull/2812 +* @rubinovitz made their first contribution in https://github.com/elizaOS/eliza/pull/2821 +* @anirudhmakhana made their first contribution in https://github.com/elizaOS/eliza/pull/2799 +* @Nevermore-Ray made their first contribution in https://github.com/elizaOS/eliza/pull/2797 +* @humanagent made their first contribution in https://github.com/elizaOS/eliza/pull/2786 +* @AmriteshTrikon made their first contribution in https://github.com/elizaOS/eliza/pull/2653 +* @rrw-zilliqa made their first contribution in https://github.com/elizaOS/eliza/pull/2842 +* @tgaru made their first contribution in https://github.com/elizaOS/eliza/pull/2839 +* @fifahuihua made their first contribution in https://github.com/elizaOS/eliza/pull/2794 +* @mmarfinetz made their first contribution in https://github.com/elizaOS/eliza/pull/2784 +* @stopmalone made their first contribution in https://github.com/elizaOS/eliza/pull/1238 +* @viv-cheung made their first contribution in https://github.com/elizaOS/eliza/pull/2644 +* @maximevtush made their first contribution in https://github.com/elizaOS/eliza/pull/2903 +* @Pricstas made their first contribution in https://github.com/elizaOS/eliza/pull/2909 +* @michavie made their first contribution in https://github.com/elizaOS/eliza/pull/2932 +* @eric2hen made their first contribution in https://github.com/elizaOS/eliza/pull/2913 +* @wonseokjung made their first contribution in https://github.com/elizaOS/eliza/pull/2950 +* @derrix060 made their first contribution in https://github.com/elizaOS/eliza/pull/2975 +* @yaruno made their first contribution in https://github.com/elizaOS/eliza/pull/2987 +* @Dahka2321 made their first contribution in https://github.com/elizaOS/eliza/pull/2921 +* @futreall made their first contribution in https://github.com/elizaOS/eliza/pull/2986 +* @madschristensen99 made their first contribution in https://github.com/elizaOS/eliza/pull/2912 +* @YohanGH made their first contribution in https://github.com/elizaOS/eliza/pull/2964 +* @maxime made their first contribution in https://github.com/elizaOS/eliza/pull/3006 +* @Jesscha made their first contribution in https://github.com/elizaOS/eliza/pull/3018 +* @sky-coderay made their first contribution in https://github.com/elizaOS/eliza/pull/3041 +* @tobySolutions made their first contribution in https://github.com/elizaOS/eliza/pull/3048 +* @PhyByte made their first contribution in https://github.com/elizaOS/eliza/pull/3026 +* @EmanHerawy made their first contribution in https://github.com/elizaOS/eliza/pull/3081 +* @MichaelDeng03 made their first contribution in https://github.com/elizaOS/eliza/pull/3050 +* @akugone made their first contribution in https://github.com/elizaOS/eliza/pull/3118 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8-alpha.1...v0.1.9 + +--- + +## v0.1.8-alpha.1 (January 31, 2025) + +#### What's Changed + +* feats: Add 0G to the blockchain sector (diagram update) by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2204 +* fix(plugin-depin): sentientAI description by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/2668 + +**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.8+build.1...v0.1.8-alpha.1 + +--- + +## v0.1.8+build.1 (January 12, 2025) + +Minor update to [v0.1.8](https://github.com/elizaOS/eliza/releases/tag/v0.1.8) + +Fixes: +- docker image build +- actually bump version so npm will publish a v0.1.8 +- security: Implement file upload security (#1753) #1806 +- twitter-client: clean up mention deduplication #2185 +- postgres adapter migration extension creation which already exists at this point #2188 +- Missing LETZAI model #2187 + +#### What's Changed + +* fix: release 0.1.8 fixes by @odilitime in https://github.com/elizaOS/eliza/pull/2184 +* docs: Add Persian README File by @ali-moha in https://github.com/elizaOS/eliza/pull/2182 +* fix: Missing LETZAI model by @daizhengxue in https://github.com/elizaOS/eliza/pull/2187 +* fix postgres adapter migration extension creation which already exists at this point by @web3gh in https://github.com/elizaOS/eliza/pull/2188 +* fix(client-twitter): clean up mention deduplication by @nhodges in https://github.com/elizaOS/eliza/pull/2185 +* feat(security): Implement file upload security (#1753) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1806 +* chore: Prep 0.1.8.build.1 by @odilitime in https://github.com/elizaOS/eliza/pull/2193 +* chore: 0.1.8.build.1 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2194 + +#### New Contributors + +
+View New Contributors +* @ali-moha made their first contribution in https://github.com/elizaOS/eliza/pull/2182 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.8...v0.1.8+build.1 + +--- + +## v0.1.8 (January 12, 2025) + +#### What's Changed + +#### Features + +- TTS (Text2Speech) with over 15 languages support! #2110 +- Image descriptions into client-twitter #1775 +- Add Heurist embedding model #2093 +- Add Cloudflare AI Gateway support #821 +- Add Mistral AI as new model provider #2137 +- Add DeepSeek AI provider support to Eliza #2067 +- Support TEE logging and support running eliza in Intel SGX #1470 +- Pro API support, trending coins API #2068 +- Add Irys plugin #1708 +- Add support autonome platform #2121 +- Add Akash Network plugin with autonomous deployment capabilities #2111 +- Add Lens Network Plugin #2101 +- Add plugin-hyperliquid #2141 +- Add asterai plugin #2045 +- Add massa-plugin #1582 +- Add Quai integration #2083 +- Primus zkTLS plugin to fully verify agent activities #2086 +- Solana transaction more lenient (wait for confirmed instead of finalized) #2053 + +#### Fixes + +- Fix plugin loading from a character.json file #2095 +- prevent repeated login by reusing client-twitter session #2129 +- fix the chat stuck in infinite loop #1755 +- fix client-discord join voice action #2160 +- replace invalid toghether ai medium model #2173 +- insert missing langdetect on plugin-tts package.json #2175 +- Apply model settings for images and remove duplicate files #2118 +- clientConfig.telegram.isPartOfTeam misstype #2103 +- fix starknet plugin by replacing walletProvider with portfolio provider #2029 +- correct SUI/USD price calculation #2150 +- deepseek support in getTokenForProvider #2179 +- Supabase updates #2100 +- Koloxarto/fix ragknowledge for postgres #2153 +- case-sensitive column reference in knowledge table CHECK constraint #2058 +- syntax issue on autonome plugin and lock file update #2131 +- lens export name and duplicate imports #2142 +- Revert "feat: Proof of Pizza - Agentic Dominos Ordering" #2075 + +Complete changelog: +* fix: add default export to plugin-image-generation by @jonathanmv in https://github.com/elizaOS/eliza/pull/1831 +* Update .env.example by @bitcoinbender in https://github.com/elizaOS/eliza/pull/1829 +* chore: update develop from main by @shakkernerd in https://github.com/elizaOS/eliza/pull/1823 +* feat(models): update Google model configurations by @gmh5225 in https://github.com/elizaOS/eliza/pull/1815 +* improvement: replacing console.log with elizaLogger by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1834 +* Update README_KOR.md by @web3isthefuture in https://github.com/elizaOS/eliza/pull/1835 +* refactor: typo in readme by @MagikHolder in https://github.com/elizaOS/eliza/pull/1832 +* Fix faq link on contributing.md by @manotoor in https://github.com/elizaOS/eliza/pull/1847 +* Create README.md by @RobertSloan22 in https://github.com/elizaOS/eliza/pull/1787 +* Update c3po.character.json by @macfly-base in https://github.com/elizaOS/eliza/pull/1827 +* Feat/genlayer plugin by @AgustinRamiroDiaz in https://github.com/elizaOS/eliza/pull/975 +* fix: broken ci docs missed frozen pnpm file out-of-sync by @marcellodesales in https://github.com/elizaOS/eliza/pull/1798 +* chore: update bootstrap plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1836 +* correct faq docs link in both contribution md files by @MacsDickinson in https://github.com/elizaOS/eliza/pull/1839 +* Feat: add infera as an inference provide by @inferanetwork in https://github.com/elizaOS/eliza/pull/1860 +* feat: add avail plugin by @robin-rrt in https://github.com/elizaOS/eliza/pull/1241 +* feat: Add Stargaze plugin by @daniel-farina in https://github.com/elizaOS/eliza/pull/1861 +* feat: add cosmos plugin by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1826 +* feat: Implement a plugin that can retrieve Marlin TEE remote attestations by @roshanrags in https://github.com/elizaOS/eliza/pull/935 +* docs: Add DAO donation ask & dev discord by @odilitime in https://github.com/elizaOS/eliza/pull/1867 +* fix: Fix postinstall script by @odilitime in https://github.com/elizaOS/eliza/pull/1872 +* docs: add Romanian README translation by @pedronovikovborges in https://github.com/elizaOS/eliza/pull/1770 +* test: adding more tests for goals,memory and provider. Fixing generation.test.ts by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1840 +* fix: remove twitter profile caching (#1638) by @augchan42 in https://github.com/elizaOS/eliza/pull/1782 +* feat: Add devcontainer by @jazzvaz in https://github.com/elizaOS/eliza/pull/1807 +* fix(solana token provider): await cached data by @bentatum in https://github.com/elizaOS/eliza/pull/1828 +* chore: support more debians distros by @odilitime in https://github.com/elizaOS/eliza/pull/1875 +* feat: refactor model config by @tcm390 in https://github.com/elizaOS/eliza/pull/1805 +* feat: added new plugin - zktls - reclaim by @Gajesh2007 in https://github.com/elizaOS/eliza/pull/1558 +* Feat: Support wildcard in TWITTER_TARGET_USERS 1883 by @augchan42 in https://github.com/elizaOS/eliza/pull/1884 +* feat: add remote attestation action by @HashWarlock in https://github.com/elizaOS/eliza/pull/1885 +* feat: Use recommended settings in jupiter swap by @Arrowana in https://github.com/elizaOS/eliza/pull/1882 +* Fixed broken API Documentation URL by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1881 +* feat: add OpenWeather plugin by @kylebuildsstuff in https://github.com/elizaOS/eliza/pull/1880 +* test: adding test setup for telegram client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1879 +* chore(core): enable strict null checks by @bentatum in https://github.com/elizaOS/eliza/pull/1878 +* fix: remove case sensitive path by @zhourunlai in https://github.com/elizaOS/eliza/pull/1892 +* feat: hyperfy support by @odilitime in https://github.com/elizaOS/eliza/pull/1896 +* Add Dutch (Nederlands) translation by @xzrfax in https://github.com/elizaOS/eliza/pull/1909 +* fix: twitter result obj undefined properties by @zhourunlai in https://github.com/elizaOS/eliza/pull/1905 +* chore: fix integrations and smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1893 +* fix: add callback to the evaluators for client-telegram by @RatakondalaArun in https://github.com/elizaOS/eliza/pull/1908 +* chore(client-discord): fix SUMMARIZE prompt by @bodhi-crypo in https://github.com/elizaOS/eliza/pull/1916 +* fix(core): check evaluators for null by @bentatum in https://github.com/elizaOS/eliza/pull/1918 +* fix: resolved a bunch of type related errors and ensure project compiles by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1917 +* feats: diagram update by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1907 +* feat: Optimize Agent Action Processing by Prioritizing Timelines and Limiting Actions Per Cycle by @tcm390 in https://github.com/elizaOS/eliza/pull/1824 +* Feature/add binance plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1812 +* Fix typo Update CHANGELOG.md by @petryshkaCODE in https://github.com/elizaOS/eliza/pull/1922 +* feat: add GoPlus Security Plugin to enhance security for agent by @0xbeekeeper in https://github.com/elizaOS/eliza/pull/1898 +* API route update by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1923 +* fix: handle empty input text to avoid memory content empty error by @zhourunlai in https://github.com/elizaOS/eliza/pull/1919 +* test: adding tests for discord-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1927 +* docs: Add "What Did You Get Done This Week? #8" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1894 +* fix: Limit the number of timelines fetched by @tcm390 in https://github.com/elizaOS/eliza/pull/1931 +* fix: rm unused variable X_SERVER_URL by @proteanx in https://github.com/elizaOS/eliza/pull/1930 +* feat: Make templates in composeContext dynamic by @jonathangus in https://github.com/elizaOS/eliza/pull/1467 +* docs: it is processAction instead of triggerAction by @threewebcode in https://github.com/elizaOS/eliza/pull/1937 +* feat: solana token deploy using solana agent kit by @renlulu in https://github.com/elizaOS/eliza/pull/1373 +* chore(plugin-conflux): remove unused imports by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1941 +* feat(plugin-cronoszkevm): rm not used imports by @sinecose in https://github.com/elizaOS/eliza/pull/1744 +* feat: support for eternalai provider can make request with chain_id extra data in body by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1938 +* chore: more specific rpc urls by @0xRider in https://github.com/elizaOS/eliza/pull/1945 +* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1948 +* chore: add embedding tests by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1944 +* feat: new plugin Arthera Chain by @elpiarthera in https://github.com/elizaOS/eliza/pull/1818 +* fix: fixed error in C3PO and improved error handling feedback by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1951 +* feat: add pglite db adapter by @KONFeature in https://github.com/elizaOS/eliza/pull/1810 +* feat: Add fraxtal chain to evm by @kesar in https://github.com/elizaOS/eliza/pull/1954 +* feat: add coin price plugin (CoinMarketCap, CoinGecko & CoinCap) by @proteanx in https://github.com/elizaOS/eliza/pull/1808 +* fix: abstract readme by @cygaar in https://github.com/elizaOS/eliza/pull/1963 +* feat: improve twitter paragraph splitting if containing url by @darwintree in https://github.com/elizaOS/eliza/pull/1947 +* test: adding tests for twitter-client by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1959 +* test: adding tests for twitter plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1976 +* chore: Cleaner logs on agent startup by @velvet-shark in https://github.com/elizaOS/eliza/pull/1973 +* feat: anyone plugin to privatise network requests by @Saundr21 in https://github.com/elizaOS/eliza/pull/1960 +* fix: SQLITE ERROR, zero-lenght vectors not supported by @JoeyKhd in https://github.com/elizaOS/eliza/pull/1984 +* fix: many fixes to the Telegram templates by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1982 +* test: changing test structure for core package. Fixing failling outdated tests by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/1989 +* chore: Enable all EVM chains by default by @Minco-Yuga in https://github.com/elizaOS/eliza/pull/1981 +* chore: add debug logging for context by @Laurentiu-Andronache in https://github.com/elizaOS/eliza/pull/1980 +* fix: Fix db init race condition affecting builds by @0x-jj in https://github.com/elizaOS/eliza/pull/1968 +* feat: add new plugin - spheron by @rekpero in https://github.com/elizaOS/eliza/pull/1966 +* feat: Add Allora plugin by @conache in https://github.com/elizaOS/eliza/pull/1955 +* fix: Added Local Embedding Manager to reuse Local embed model - Fixes High Ram Issues by @mbcse in https://github.com/elizaOS/eliza/pull/1950 +* feat: obsidian integration plugin by @sekmet in https://github.com/elizaOS/eliza/pull/1943 +* add thirdweb plugin by @iankm in https://github.com/elizaOS/eliza/pull/1418 +* feat: improvements for plugin-cosmos by @mgacek-blockydevs in https://github.com/elizaOS/eliza/pull/1934 +* fix: build on plugin spheron by @shakkernerd in https://github.com/elizaOS/eliza/pull/1995 +* fix: client twitter dryrun by @tcm390 in https://github.com/elizaOS/eliza/pull/1997 +* fix: resolve translation type issue by @odilitime in https://github.com/elizaOS/eliza/pull/1996 +* fix: fix .env.sample defaults by @odilitime in https://github.com/elizaOS/eliza/pull/1999 +* chore: update website url in lore.md by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1998 +* Add support for Movement Network by @Rahat-ch in https://github.com/elizaOS/eliza/pull/1621 +* docs: Optimizes Technical Docs for LLMs & Vectorization by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1993 +* feat: Separate Knowledge system + Multi-Agent RAG Optimization by @azep-ninja in https://github.com/elizaOS/eliza/pull/1620 +* feat: implement getKnowledge, searchKnowledge, createKnowledge, removeKnowledge and clearKnowledge methods by @shakkernerd in https://github.com/elizaOS/eliza/pull/2005 +* chore: Make `generateNewTweet` public by @hazelnutcloud in https://github.com/elizaOS/eliza/pull/1902 +* fix: remove legacy variables (XAI_MODEL, XAI_API_KEY & IMAGE_GEN) by @proteanx in https://github.com/elizaOS/eliza/pull/2001 +* Update plugins.md -- Allora README Fix by @kush-alloralabs in https://github.com/elizaOS/eliza/pull/2003 +* update: Readme and Comments by @rferrari in https://github.com/elizaOS/eliza/pull/2006 +* fix: Auto Client bug by @HashWarlock in https://github.com/elizaOS/eliza/pull/2007 +* chore(plugin-solana): replace console with elizaLogger by @sinecose in https://github.com/elizaOS/eliza/pull/1888 +* feat: make the birdeye api req optional by @kamalbuilds in https://github.com/elizaOS/eliza/pull/1895 +* feat: init DePIN plugin by @nicky-ru in https://github.com/elizaOS/eliza/pull/1874 +* fix: packages/adapter-postgres/schema.sql isShared needs double quote by @koofree in https://github.com/elizaOS/eliza/pull/2008 +* feat: Add approval mechanism for Twitter posts via Discord bot by @mbcse in https://github.com/elizaOS/eliza/pull/1876 +* feat: Giphy plugin - Add animated gif to conversations by @daniel-farina in https://github.com/elizaOS/eliza/pull/1873 +* Opacity Verifiable Interference zkTLS Plugin by @RonTuretzky in https://github.com/elizaOS/eliza/pull/1673 +* fix: remove near-solana slippage env conflict by @wtfsayo in https://github.com/elizaOS/eliza/pull/2016 +* feat: Update the Galadriel LLM integration to reflect their product updates by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2011 +* chore(ci): add pnpm lockfile consistency check workflow by @jonathanykh in https://github.com/elizaOS/eliza/pull/2015 +* feat: add telegram api root config in env by @dto-simba in https://github.com/elizaOS/eliza/pull/2014 +* feat: new plugin LetzAI by @mitchoz in https://github.com/elizaOS/eliza/pull/1868 +* fix: letzAi build issues by @wtfsayo in https://github.com/elizaOS/eliza/pull/2021 +* feat: plugin new RabbiTrader by @Freytes in https://github.com/elizaOS/eliza/pull/1785 +* Feature/add coinmarketcap plugin by @Lukapetro in https://github.com/elizaOS/eliza/pull/1773 +* fix: remove defillama plugin & improve rabbi trader by @wtfsayo in https://github.com/elizaOS/eliza/pull/2027 +* Update README_RU.md by @WAGMIBRO in https://github.com/elizaOS/eliza/pull/2026 +* Update .env.example by @antman1p in https://github.com/elizaOS/eliza/pull/2031 +* fix: include schema.sql and seed.sql in package files by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2030 +* fix: 🚚 📚 move plugin-web-search readme to root dir by @marcellodesales in https://github.com/elizaOS/eliza/pull/1992 +* feat: full overhaul of client by @JoeyKhd in https://github.com/elizaOS/eliza/pull/2038 +* fix: update slack client readme manifest by @AnonJon in https://github.com/elizaOS/eliza/pull/2044 +* fix: Update Key Derive in TEE by @HashWarlock in https://github.com/elizaOS/eliza/pull/2039 +* Revert "fix: Update Key Derive in TEE" by @shakkernerd in https://github.com/elizaOS/eliza/pull/2049 +* fix: Categorize & Format .env.example by @proteanx in https://github.com/elizaOS/eliza/pull/2052 +* fix: update regex to allow Unicode characters in message processing by @taofengno1 in https://github.com/elizaOS/eliza/pull/2048 +* Fix: more specific rpc urls by @zhourunlai in https://github.com/elizaOS/eliza/pull/2018 +* feat: Proof of Pizza - Agentic Dominos Ordering by @bayological in https://github.com/elizaOS/eliza/pull/2042 +* Feature/plugin coingecko by @Lukapetro in https://github.com/elizaOS/eliza/pull/1761 +* feat: improve zkstack based plugins by @aalimsahin in https://github.com/elizaOS/eliza/pull/1821 +* feat: added nineteen.ai llm & image support by @tripathiarpan20 in https://github.com/elizaOS/eliza/pull/2022 +* feat: plugin-nft-generation support evm chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1763 +* fix: Bugfix in LetzAI Plugin -> missing named export and Plugin-type by @DanielWahl in https://github.com/elizaOS/eliza/pull/2062 +* Galadriel docs and .env.example update by @kristjanpeterson1 in https://github.com/elizaOS/eliza/pull/2061 +* fix: PGVector_embedding_validation (#1687) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1750 +* fix: fix multiversx-plugin by @mgavrila in https://github.com/elizaOS/eliza/pull/2017 +* revert: #2048 by @wtfsayo in https://github.com/elizaOS/eliza/pull/2059 +* feat: support TEE logging and support running eliza in Intel SGX by @ShuochengWang in https://github.com/elizaOS/eliza/pull/1470 +* Update README_CN to match latest English README by @bxngxl in https://github.com/elizaOS/eliza/pull/2069 +* Fix: case-sensitive column reference in knowledge table CHECK constraint by @antman1p in https://github.com/elizaOS/eliza/pull/2058 +* docs: Update README_KOR.md by @YANGSEOKWOO in https://github.com/elizaOS/eliza/pull/2074 +* fix: Revert "feat: Proof of Pizza - Agentic Dominos Ordering" by @tcm390 in https://github.com/elizaOS/eliza/pull/2075 +* fix: rm unused imports by @mameikagou in https://github.com/elizaOS/eliza/pull/2112 +* chore: revert #1808 + add missing import for coin gecko plugin by @wtfsayo in https://github.com/elizaOS/eliza/pull/2106 +* Add name and description to SttTtsPlugin by @mameikagou in https://github.com/elizaOS/eliza/pull/2117 +* fix: Apply model settings for images and remove duplicate files by @tcm390 in https://github.com/elizaOS/eliza/pull/2118 +* feat: pro api support, trending coins api by @Lukapetro in https://github.com/elizaOS/eliza/pull/2068 +* Add gemini to image vision by @web3gh in https://github.com/elizaOS/eliza/pull/2099 +* feat: Add Irys plugin by @Hugo-SEQUIER in https://github.com/elizaOS/eliza/pull/1708 +* fix: Fix plugin loading from a character.json file by @treppers in https://github.com/elizaOS/eliza/pull/2095 +* feat: add Heurist embedding model by @tsubasakong in https://github.com/elizaOS/eliza/pull/2093 +* fix: clientConfig.telegram.isPartOfTeam misstype by @rferrari in https://github.com/elizaOS/eliza/pull/2103 +* docs: Add Verified Inference docs by @maciejwitowski in https://github.com/elizaOS/eliza/pull/2125 +* fix: Update clients.md to fix package name by @prasadabhishek in https://github.com/elizaOS/eliza/pull/2091 +* feat: support autonome platform by @autonome-ai in https://github.com/elizaOS/eliza/pull/2121 +* fix: syntax issue on autonome plugin and lock file update by @wtfsayo in https://github.com/elizaOS/eliza/pull/2131 +* test: Integration Tests Enhancement and Coinbase Commerce Integration by @pgoos in https://github.com/elizaOS/eliza/pull/1767 +* fix: prevent repeated login by reusing client-twitter session by @tcm390 in https://github.com/elizaOS/eliza/pull/2129 +* fix: update lockfile and fix lint findings by @odilitime in https://github.com/elizaOS/eliza/pull/2128 +* feat: Add Akash Network plugin with autonomous deployment capabilities by @AIFlowML in https://github.com/elizaOS/eliza/pull/2111 +* feat: Lens Network Plugin by @pranjallyad in https://github.com/elizaOS/eliza/pull/2101 +* Docs improvements by @tudorpintea999 in https://github.com/elizaOS/eliza/pull/2138 +* fix: lens export name and duplicate imports by @tcm390 in https://github.com/elizaOS/eliza/pull/2142 +* Fix: Supabase updates by @antman1p in https://github.com/elizaOS/eliza/pull/2100 +* refactor: Optimize memory fetching by moving sorting and slicing to DB (PR #1531 remake) by @odilitime in https://github.com/elizaOS/eliza/pull/2135 +* feat: Add Cloudflare AI Gateway support by @w3-bounty in https://github.com/elizaOS/eliza/pull/821 +* docs: add readme portuguese version in docs by @rRogick in https://github.com/elizaOS/eliza/pull/2088 +* fix: eslint-fix-full-test-again by @AIFlowML in https://github.com/elizaOS/eliza/pull/2143 +* Fix: fix starknet plugin by replacing walletProvider with portfolio provider by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2029 +* feat: Image descriptions into interaction.ts by @denizekiz in https://github.com/elizaOS/eliza/pull/1775 +* feat: plugin-hyperliquid by @earlyvibz in https://github.com/elizaOS/eliza/pull/2141 +* feat: Add Mistral AI as new model provider by @brauliolomeli in https://github.com/elizaOS/eliza/pull/2137 +* feat: Implement asterai plugin by @rellfy in https://github.com/elizaOS/eliza/pull/2045 +* feat: add massa-plugin by @peterjah in https://github.com/elizaOS/eliza/pull/1582 +* feat: add Quai integration by @0xalank in https://github.com/elizaOS/eliza/pull/2083 +* feat: Add DeepSeek AI provider support to Eliza by @daizhengxue in https://github.com/elizaOS/eliza/pull/2067 +* feat: Primus zkTLS plugin to fully verify agent activities by @xiangxiecrypto in https://github.com/elizaOS/eliza/pull/2086 +* fix: fix client-discord join voice action by @tcm390 in https://github.com/elizaOS/eliza/pull/2160 +* add github to client enumerations by @AnonJon in https://github.com/elizaOS/eliza/pull/2157 +* inheritance of character from parent using extends key by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/2159 +* fix: correct SUI/USD price calculation by @ChainRex in https://github.com/elizaOS/eliza/pull/2150 +* feat: solana transaction more lenient by @zhourunlai in https://github.com/elizaOS/eliza/pull/2053 +* chore: Add UUID tests and fix version 5 bits by @shlokkhemani in https://github.com/elizaOS/eliza/pull/1362 +* Update git command for checking latest release by @velvet-shark in https://github.com/elizaOS/eliza/pull/1705 +* chore: add conditionals for supabase to agent directory by @antman1p in https://github.com/elizaOS/eliza/pull/2032 +* chore: bump develop lockfile by @odilitime in https://github.com/elizaOS/eliza/pull/2166 +* feat: TTS(Text2Speech) with over 15 languages support! by @tomguluson92 in https://github.com/elizaOS/eliza/pull/2110 +* test: moving uuid.tests to correct __tests__ directory by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2168 +* tests: coinbase plugin - adding tests for coinbase plugin by @ai16z-demirix in https://github.com/elizaOS/eliza/pull/2170 +* Fix: replace invalid toghether ai medium model by @Jonatan-Chaverri in https://github.com/elizaOS/eliza/pull/2173 +* fix: insert missing langdetect on plugin-tts package.json by @rferrari in https://github.com/elizaOS/eliza/pull/2175 +* fix(client-twitter): add mention deduplication utility by @nhodges in https://github.com/elizaOS/eliza/pull/2178 +* feat: 🎈 perf(vscode): Set file nesting for md and DockerFile by @AAAkater in https://github.com/elizaOS/eliza/pull/2177 +* fix: deepseek support in getTokenForProvider by @Riroaki in https://github.com/elizaOS/eliza/pull/2179 +* fix: remove problematic redundant uuid conversion and add api input param validations to api server by @jonathanykh in https://github.com/elizaOS/eliza/pull/2051 +* fix: fix the chat stuck in infinite loop by @zoe27 in https://github.com/elizaOS/eliza/pull/1755 +* fix: Koloxarto/fix ragknowledge for postgres by @web3gh in https://github.com/elizaOS/eliza/pull/2153 +* chore: lint and fix pass on develop by @odilitime in https://github.com/elizaOS/eliza/pull/2180 +* chore: Prep v0.1.8 (dev => main) by @odilitime in https://github.com/elizaOS/eliza/pull/2171 + +#### New Contributors + +
+View New Contributors +* @jonathanmv made their first contribution in https://github.com/elizaOS/eliza/pull/1831 +* @bitcoinbender made their first contribution in https://github.com/elizaOS/eliza/pull/1829 +* @web3isthefuture made their first contribution in https://github.com/elizaOS/eliza/pull/1835 +* @MagikHolder made their first contribution in https://github.com/elizaOS/eliza/pull/1832 +* @manotoor made their first contribution in https://github.com/elizaOS/eliza/pull/1847 +* @RobertSloan22 made their first contribution in https://github.com/elizaOS/eliza/pull/1787 +* @macfly-base made their first contribution in https://github.com/elizaOS/eliza/pull/1827 +* @AgustinRamiroDiaz made their first contribution in https://github.com/elizaOS/eliza/pull/975 +* @MacsDickinson made their first contribution in https://github.com/elizaOS/eliza/pull/1839 +* @inferanetwork made their first contribution in https://github.com/elizaOS/eliza/pull/1860 +* @robin-rrt made their first contribution in https://github.com/elizaOS/eliza/pull/1241 +* @daniel-farina made their first contribution in https://github.com/elizaOS/eliza/pull/1861 +* @mgacek-blockydevs made their first contribution in https://github.com/elizaOS/eliza/pull/1826 +* @roshanrags made their first contribution in https://github.com/elizaOS/eliza/pull/935 +* @pedronovikovborges made their first contribution in https://github.com/elizaOS/eliza/pull/1770 +* @jazzvaz made their first contribution in https://github.com/elizaOS/eliza/pull/1807 +* @bentatum made their first contribution in https://github.com/elizaOS/eliza/pull/1828 +* @Gajesh2007 made their first contribution in https://github.com/elizaOS/eliza/pull/1558 +* @Arrowana made their first contribution in https://github.com/elizaOS/eliza/pull/1882 +* @JoeyKhd made their first contribution in https://github.com/elizaOS/eliza/pull/1881 +* @kylebuildsstuff made their first contribution in https://github.com/elizaOS/eliza/pull/1880 +* @xzrfax made their first contribution in https://github.com/elizaOS/eliza/pull/1909 +* @RatakondalaArun made their first contribution in https://github.com/elizaOS/eliza/pull/1908 +* @bodhi-crypo made their first contribution in https://github.com/elizaOS/eliza/pull/1916 +* @petryshkaCODE made their first contribution in https://github.com/elizaOS/eliza/pull/1922 +* @0xbeekeeper made their first contribution in https://github.com/elizaOS/eliza/pull/1898 +* @threewebcode made their first contribution in https://github.com/elizaOS/eliza/pull/1937 +* @shlokkhemani made their first contribution in https://github.com/elizaOS/eliza/pull/1944 +* @elpiarthera made their first contribution in https://github.com/elizaOS/eliza/pull/1818 +* @KONFeature made their first contribution in https://github.com/elizaOS/eliza/pull/1810 +* @kesar made their first contribution in https://github.com/elizaOS/eliza/pull/1954 +* @velvet-shark made their first contribution in https://github.com/elizaOS/eliza/pull/1973 +* @Saundr21 made their first contribution in https://github.com/elizaOS/eliza/pull/1960 +* @Laurentiu-Andronache made their first contribution in https://github.com/elizaOS/eliza/pull/1982 +* @Minco-Yuga made their first contribution in https://github.com/elizaOS/eliza/pull/1981 +* @0x-jj made their first contribution in https://github.com/elizaOS/eliza/pull/1968 +* @rekpero made their first contribution in https://github.com/elizaOS/eliza/pull/1966 +* @conache made their first contribution in https://github.com/elizaOS/eliza/pull/1955 +* @mbcse made their first contribution in https://github.com/elizaOS/eliza/pull/1950 +* @sekmet made their first contribution in https://github.com/elizaOS/eliza/pull/1943 +* @iankm made their first contribution in https://github.com/elizaOS/eliza/pull/1418 +* @Rahat-ch made their first contribution in https://github.com/elizaOS/eliza/pull/1621 +* @hazelnutcloud made their first contribution in https://github.com/elizaOS/eliza/pull/1902 +* @kush-alloralabs made their first contribution in https://github.com/elizaOS/eliza/pull/2003 +* @rferrari made their first contribution in https://github.com/elizaOS/eliza/pull/2006 +* @kamalbuilds made their first contribution in https://github.com/elizaOS/eliza/pull/1895 +* @koofree made their first contribution in https://github.com/elizaOS/eliza/pull/2008 +* @RonTuretzky made their first contribution in https://github.com/elizaOS/eliza/pull/1673 +* @wtfsayo made their first contribution in https://github.com/elizaOS/eliza/pull/2016 +* @kristjanpeterson1 made their first contribution in https://github.com/elizaOS/eliza/pull/2011 +* @jonathanykh made their first contribution in https://github.com/elizaOS/eliza/pull/2015 +* @dto-simba made their first contribution in https://github.com/elizaOS/eliza/pull/2014 +* @mitchoz made their first contribution in https://github.com/elizaOS/eliza/pull/1868 +* @WAGMIBRO made their first contribution in https://github.com/elizaOS/eliza/pull/2026 +* @antman1p made their first contribution in https://github.com/elizaOS/eliza/pull/2031 +* @brauliolomeli made their first contribution in https://github.com/elizaOS/eliza/pull/2030 +* @AnonJon made their first contribution in https://github.com/elizaOS/eliza/pull/2044 +* @taofengno1 made their first contribution in https://github.com/elizaOS/eliza/pull/2048 +* @bayological made their first contribution in https://github.com/elizaOS/eliza/pull/2042 +* @tripathiarpan20 made their first contribution in https://github.com/elizaOS/eliza/pull/2022 +* @DanielWahl made their first contribution in https://github.com/elizaOS/eliza/pull/2062 +* @ShuochengWang made their first contribution in https://github.com/elizaOS/eliza/pull/1470 +* @bxngxl made their first contribution in https://github.com/elizaOS/eliza/pull/2069 +* @YANGSEOKWOO made their first contribution in https://github.com/elizaOS/eliza/pull/2074 +* @mameikagou made their first contribution in https://github.com/elizaOS/eliza/pull/2112 +* @web3gh made their first contribution in https://github.com/elizaOS/eliza/pull/2099 +* @Hugo-SEQUIER made their first contribution in https://github.com/elizaOS/eliza/pull/1708 +* @maciejwitowski made their first contribution in https://github.com/elizaOS/eliza/pull/2125 +* @prasadabhishek made their first contribution in https://github.com/elizaOS/eliza/pull/2091 +* @autonome-ai made their first contribution in https://github.com/elizaOS/eliza/pull/2121 +* @pranjallyad made their first contribution in https://github.com/elizaOS/eliza/pull/2101 +* @tudorpintea999 made their first contribution in https://github.com/elizaOS/eliza/pull/2138 +* @w3-bounty made their first contribution in https://github.com/elizaOS/eliza/pull/821 +* @rRogick made their first contribution in https://github.com/elizaOS/eliza/pull/2088 +* @Jonatan-Chaverri made their first contribution in https://github.com/elizaOS/eliza/pull/2029 +* @earlyvibz made their first contribution in https://github.com/elizaOS/eliza/pull/2141 +* @rellfy made their first contribution in https://github.com/elizaOS/eliza/pull/2045 +* @peterjah made their first contribution in https://github.com/elizaOS/eliza/pull/1582 +* @0xalank made their first contribution in https://github.com/elizaOS/eliza/pull/2083 +* @xiangxiecrypto made their first contribution in https://github.com/elizaOS/eliza/pull/2086 +* @ChainRex made their first contribution in https://github.com/elizaOS/eliza/pull/2150 +* @nhodges made their first contribution in https://github.com/elizaOS/eliza/pull/2178 +* @AAAkater made their first contribution in https://github.com/elizaOS/eliza/pull/2177 +* @Riroaki made their first contribution in https://github.com/elizaOS/eliza/pull/2179 +* @zoe27 made their first contribution in https://github.com/elizaOS/eliza/pull/1755 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7...v0.1.8 + +--- + +## v0.1.7 (January 04, 2025) + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 +* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 +* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 +* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 +* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 +* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 +* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 +* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 +* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 +* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 +* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 +* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 +* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 +* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 +* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 +* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 +* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 +* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 +* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 +* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 +* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 +* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 +* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 +* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 +* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 +* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 +* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 +* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 +* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 +* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 +* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 +* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 +* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 +* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 +* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 +* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 +* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 +* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 +* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 +* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 +* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 +* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 +* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 +* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 +* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 +* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 +* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 +* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 +* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 +* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 +* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 +* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 +* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 +* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 +* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 +* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 +* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 +* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 +* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 +* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 +* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 +* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 +* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 +* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 +* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 +* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 +* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 +* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 +* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 +* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 +* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 +* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 +* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 +* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 +* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 +* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 +* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 +* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 +* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 +* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 +* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 +* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 +* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 +* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 +* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 +* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 +* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 +* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 +* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 +* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 +* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 +* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 +* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 +* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 +* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 +* feat: add autoscroll chat client by @swizzmagik in https://github.com/elizaOS/eliza/pull/1538 +* docs: Polish readme by @yanushevitz in https://github.com/elizaOS/eliza/pull/1537 +* Update README_CN - Model Configuration by @RedHorse823 in https://github.com/elizaOS/eliza/pull/1535 +* docs: fix grammar/typos in README by @SK1989sL in https://github.com/elizaOS/eliza/pull/1534 +* Fix: make twitter engagement criteria in prompt more focused on relevance to topics/interests/character by @e-fu in https://github.com/elizaOS/eliza/pull/1533 +* feat: improve stale pr/issue messages by @monilpat in https://github.com/elizaOS/eliza/pull/1540 +* fix: twitter usernames can start with numbers by @odilitime in https://github.com/elizaOS/eliza/pull/1541 +* Fix jsdoc automation build issue & parametrize PR branch target by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1547 +* fix: Telegram Bad Request: can't parse entities by @azep-ninja in https://github.com/elizaOS/eliza/pull/1546 +* Chore: Refactor Imports. Improve PR Template by @mgunnin in https://github.com/elizaOS/eliza/pull/1545 +* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1549 +* docs: Add JSDoc documentation by @madjin in https://github.com/elizaOS/eliza/pull/1548 +* feat: add theme toggle functionality with dark and light mode support by @zkfriendly in https://github.com/elizaOS/eliza/pull/1555 +* docs: Add "What Did You Get Done This Week? #7" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1559 +* feat: (example) script to show how to add system prompt and templates to eliza with character file by @HashWarlock in https://github.com/elizaOS/eliza/pull/1554 +* feat: parse files through prettier by @shakkernerd in https://github.com/elizaOS/eliza/pull/1573 +* fix: init 768 dimension in database for gaianet by @L-jasmine in https://github.com/elizaOS/eliza/pull/1572 +* docs: overview and preview of technical report by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1574 +* feat: add TEE support for plugin-env by @samuveth in https://github.com/elizaOS/eliza/pull/1571 +* Update agents.md - minor update by @yorkerhodes3 in https://github.com/elizaOS/eliza/pull/1579 +* refactor(plugin-conflux): output detailed invalid content by @bendanzhentan in https://github.com/elizaOS/eliza/pull/1602 +* fix: tweak transfer template of plugin-evm by @zkvm in https://github.com/elizaOS/eliza/pull/1604 +* feat: add experimental telemetry model option by @zhourunlai in https://github.com/elizaOS/eliza/pull/1603 +* docs: README.md files for plugins by @ileana-pr in https://github.com/elizaOS/eliza/pull/1601 +* feat: use tavily sdk by @zhourunlai in https://github.com/elizaOS/eliza/pull/1599 +* docs: add readme spanish version in docs by @salazarsebas in https://github.com/elizaOS/eliza/pull/1594 +* feat: add docs for image generation plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1591 +* docs: fix Contributing Guide by @0xFloyd in https://github.com/elizaOS/eliza/pull/1589 +* feat: update volcengine model by @zhourunlai in https://github.com/elizaOS/eliza/pull/1586 +* fix: update plugin-solana workspace dependencies by @shakkernerd in https://github.com/elizaOS/eliza/pull/1609 +* fix: Google API Key not passing from character file by @azep-ninja in https://github.com/elizaOS/eliza/pull/1607 +* add plugins to the key components section of the faq by @cole-gillespie in https://github.com/elizaOS/eliza/pull/1614 +* add an client-direct endpoint to get memories by agentid and roomid by @treppers in https://github.com/elizaOS/eliza/pull/1581 +* fix: Double Responses from Continue Action by @azep-ninja in https://github.com/elizaOS/eliza/pull/1606 +* Fix double spaced tweets in Post.ts by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1626 +* feat: Select a transcription provider based on the character settings. by @tcm390 in https://github.com/elizaOS/eliza/pull/1625 +* fix: turbo deps for plugin-evm by @odilitime in https://github.com/elizaOS/eliza/pull/1627 +* feat: Twitter Spaces Integration by @slkzgm in https://github.com/elizaOS/eliza/pull/1550 +* fix: corrected path for image upload by @ShreyGanatra in https://github.com/elizaOS/eliza/pull/1632 +* chore: update viem dependency version in plugin-evm and plugin-goat by @bertux in https://github.com/elizaOS/eliza/pull/1637 +* fix: lockfile wasn't updated after dependency + bring viem to root level package.json by @monilpat in https://github.com/elizaOS/eliza/pull/1642 +* fix: Fix bug in plugin-bootstrap/src/evaluators/facts.ts by @metakai1 in https://github.com/elizaOS/eliza/pull/1648 +* Add README_AR.md by @xMariem in https://github.com/elizaOS/eliza/pull/1634 +* Added Hungarian README by @mdominikd in https://github.com/elizaOS/eliza/pull/1645 +* fix: activate web-search plugin in agents/ by @cmadaanaya in https://github.com/elizaOS/eliza/pull/1577 +* fix: 1634 fix image description service by @nusk0 in https://github.com/elizaOS/eliza/pull/1667 +* fix: Seperated imageModelProvider and imageVisionModelProvider for ImageDescriptioServices by @denizekiz in https://github.com/elizaOS/eliza/pull/1664 +* fix: Update Supabase schema.sql by @0xRider in https://github.com/elizaOS/eliza/pull/1660 +* feat: add docs for story plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1672 +* fix: add web search to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1676 +* fix: 1668 fix twitter image link by @nusk0 in https://github.com/elizaOS/eliza/pull/1671 +* chore(docs): rename ai16z/eliza to elizaOS/eliza by @9547 in https://github.com/elizaOS/eliza/pull/1679 +* fix: smoke tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1695 +* feat: Plugin sui support for suiprivatekey0x account by @v1xingyue in https://github.com/elizaOS/eliza/pull/1693 +* docs: update README.md spelling by @SK1989sL in https://github.com/elizaOS/eliza/pull/1690 +* chore: twitter username validation message by @daizhengxue in https://github.com/elizaOS/eliza/pull/1698 +* Update README_KOR.md: Added missing sections and improved Korean translations for clarity by @gnujoow in https://github.com/elizaOS/eliza/pull/1683 +* fix(core): trimTokens no need to await by @9547 in https://github.com/elizaOS/eliza/pull/1686 +* chore: update web search plugin export by @affaan-m in https://github.com/elizaOS/eliza/pull/1688 +* EVM plugin wallet provider and transfer action improvements by @nicky-ru in https://github.com/elizaOS/eliza/pull/1701 +* fix: Url fix in imagedescriptionservice by @denizekiz in https://github.com/elizaOS/eliza/pull/1696 +* feat: improve GOAT integration by allowing tool calling when using generateText by @0xaguspunk in https://github.com/elizaOS/eliza/pull/1403 +* fix: postgres-adapter - remove nonsensical schema check by @ryanleecode in https://github.com/elizaOS/eliza/pull/1377 +* fix: disable trust provider for PostGres db by @swizzmagik in https://github.com/elizaOS/eliza/pull/1536 +* fix: multiple web search import in agent by @shakkernerd in https://github.com/elizaOS/eliza/pull/1718 +* chore(zksync-era): rm not used imports by @9547 in https://github.com/elizaOS/eliza/pull/1716 +* fix: add echochambers to agent by @odilitime in https://github.com/elizaOS/eliza/pull/1719 +* docs: update faq.md by @TresFlames in https://github.com/elizaOS/eliza/pull/1746 +* docs: update README_KOR.md by @osrm in https://github.com/elizaOS/eliza/pull/1739 +* docs: add Serbian README translation by @marsic3 in https://github.com/elizaOS/eliza/pull/1757 +* fix: Support for Non-OpenAI Models in Token Trimming by @tcm390 in https://github.com/elizaOS/eliza/pull/1605 +* fix: build lint errors by @shakkernerd in https://github.com/elizaOS/eliza/pull/1759 +* fix(client): improve Windows compatibility for Vite dev server by @gmh5225 in https://github.com/elizaOS/eliza/pull/1760 +* feat: use custom conditions for live monorepo types by @ryanleecode in https://github.com/elizaOS/eliza/pull/1365 +* feat: support for eternalai provider can write request/response log info by @genesis-0000 in https://github.com/elizaOS/eliza/pull/1740 +* feat(plugin-near): replace console.log to eliza logger by @sinecose in https://github.com/elizaOS/eliza/pull/1745 +* Agentic Eliza Plugin Documenter - Multilingual (e.g., English, Spanish, French) by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1675 +* 🐛 fix plugins.md formatting for docs with dockerized docs validation by @marcellodesales in https://github.com/elizaOS/eliza/pull/1722 +* fix: line break handling in chat by @swizzmagik in https://github.com/elizaOS/eliza/pull/1784 +* chore: remove unused import and var by @shakkernerd in https://github.com/elizaOS/eliza/pull/1797 +* bug : Removed FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1795 +* fix(client-slack): implement Media type properties in message attachments #1384 by @AIFlowML in https://github.com/elizaOS/eliza/pull/1741 +* fix(postgres): Handle vector extension creation properly (#1561) by @AIFlowML in https://github.com/elizaOS/eliza/pull/1743 +* Revert "fix(postgres): Handle vector extension creation properly (#1561)" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1799 +* fix: standardize ACTION_INTERVAL unit to minutes in twitter client by @sin-bufan in https://github.com/elizaOS/eliza/pull/1738 +* refactor: client api by @aalimsahin in https://github.com/elizaOS/eliza/pull/1713 +* feat: Simulate discord typing while generating a response by @dxlliv in https://github.com/elizaOS/eliza/pull/1712 +* fix: bugfix. the port 80 is not listening use 3000 by @jmikedupont2 in https://github.com/elizaOS/eliza/pull/1616 +* chore: install with no frozen-lockfile flag by @shakkernerd in https://github.com/elizaOS/eliza/pull/1802 +* fix: generation tests for trimTokens by @shakkernerd in https://github.com/elizaOS/eliza/pull/1803 +* chore: bump version to v.0.1.7 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1804 +* chore: Develop => main for 1.7.0 release by @odilitime in https://github.com/elizaOS/eliza/pull/1717 + +#### New Contributors + +
+View New Contributors +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 +* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 +* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 +* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 +* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 +* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 +* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 +* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 +* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 +* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 +* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 +* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 +* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 +* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 +* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 +* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 +* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 +* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 +* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 +* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 +* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 +* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 +* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 +* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 +* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 +* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 +* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 +* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 +* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 +* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 +* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 +* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 +* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 +* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 +* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 +* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 +* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 +* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 +* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 +* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 +* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 +* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 +* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 +* @yanushevitz made their first contribution in https://github.com/elizaOS/eliza/pull/1537 +* @RedHorse823 made their first contribution in https://github.com/elizaOS/eliza/pull/1535 +* @SK1989sL made their first contribution in https://github.com/elizaOS/eliza/pull/1534 +* @mgunnin made their first contribution in https://github.com/elizaOS/eliza/pull/1545 +* @zkfriendly made their first contribution in https://github.com/elizaOS/eliza/pull/1555 +* @yorkerhodes3 made their first contribution in https://github.com/elizaOS/eliza/pull/1579 +* @bendanzhentan made their first contribution in https://github.com/elizaOS/eliza/pull/1602 +* @zhourunlai made their first contribution in https://github.com/elizaOS/eliza/pull/1603 +* @salazarsebas made their first contribution in https://github.com/elizaOS/eliza/pull/1594 +* @0xFloyd made their first contribution in https://github.com/elizaOS/eliza/pull/1589 +* @cole-gillespie made their first contribution in https://github.com/elizaOS/eliza/pull/1614 +* @treppers made their first contribution in https://github.com/elizaOS/eliza/pull/1581 +* @slkzgm made their first contribution in https://github.com/elizaOS/eliza/pull/1550 +* @ShreyGanatra made their first contribution in https://github.com/elizaOS/eliza/pull/1632 +* @bertux made their first contribution in https://github.com/elizaOS/eliza/pull/1637 +* @metakai1 made their first contribution in https://github.com/elizaOS/eliza/pull/1648 +* @xMariem made their first contribution in https://github.com/elizaOS/eliza/pull/1634 +* @mdominikd made their first contribution in https://github.com/elizaOS/eliza/pull/1645 +* @cmadaanaya made their first contribution in https://github.com/elizaOS/eliza/pull/1577 +* @nusk0 made their first contribution in https://github.com/elizaOS/eliza/pull/1667 +* @0xRider made their first contribution in https://github.com/elizaOS/eliza/pull/1660 +* @daizhengxue made their first contribution in https://github.com/elizaOS/eliza/pull/1698 +* @gnujoow made their first contribution in https://github.com/elizaOS/eliza/pull/1683 +* @affaan-m made their first contribution in https://github.com/elizaOS/eliza/pull/1688 +* @TresFlames made their first contribution in https://github.com/elizaOS/eliza/pull/1746 +* @osrm made their first contribution in https://github.com/elizaOS/eliza/pull/1739 +* @marsic3 made their first contribution in https://github.com/elizaOS/eliza/pull/1757 +* @gmh5225 made their first contribution in https://github.com/elizaOS/eliza/pull/1760 +* @sinecose made their first contribution in https://github.com/elizaOS/eliza/pull/1745 +* @marcellodesales made their first contribution in https://github.com/elizaOS/eliza/pull/1722 +* @aalimsahin made their first contribution in https://github.com/elizaOS/eliza/pull/1713 +* @dxlliv made their first contribution in https://github.com/elizaOS/eliza/pull/1712 +* @jmikedupont2 made their first contribution in https://github.com/elizaOS/eliza/pull/1616 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7 + +--- + +## v0.1.7-alpha.2 (December 28, 2024) + +#### Features + +- New default character ([#1453](https://github.com/elizaOS/eliza/pull/1453)) +- Handle long tweets ([#1339](https://github.com/elizaOS/eliza/pull/1339), [#1520](https://github.com/elizaOS/eliza/pull/1520)) +- Custom System Prompt Support for plugin-image-generation ([#839](https://github.com/elizaOS/eliza/pull/839)) +- Add /:agentId/speak endpoint for text-to-speech ([#1528](https://github.com/elizaOS/eliza/pull/1528)) +- Add Livepeer Image Provider ([#1525](https://github.com/elizaOS/eliza/pull/1525)) +- Add Text to 3D function ([#1446](https://github.com/elizaOS/eliza/pull/1446)) +- Add GitBook Plugin provider ([#1126](https://github.com/elizaOS/eliza/pull/1126)) +- Add abstract plugin ([#1225](https://github.com/elizaOS/eliza/pull/1225)) +- Add avalanche plugin ([#842](https://github.com/elizaOS/eliza/pull/842)) +- Add FerePro plugin ([#1502](https://github.com/elizaOS/eliza/pull/1502)) +- Add Cronos ZKEVM plugin ([#1464](https://github.com/elizaOS/eliza/pull/1464)) +- Add plugin for Cronos ZKEVM ([#1464](https://github.com/elizaOS/eliza/pull/1464)) +- Add Venice style presets & option to remove watermark ([#1410](https://github.com/elizaOS/eliza/pull/1410)) +- Client-GitHub retry ([#1425](https://github.com/elizaOS/eliza/pull/1425)) +- Add ModelConfiguration to Character ([#1455](https://github.com/elizaOS/eliza/pull/1455)) +- Use OPENAI_API_URL for custom API endpoint ([#1522](https://github.com/elizaOS/eliza/pull/1522)) + +#### Fixes + +- Multiple Agents running at the same time on localhost ([#1415](https://github.com/elizaOS/eliza/pull/1415)) +- tags in templates/examples empty when passed to LLM ([#1305](https://github.com/elizaOS/eliza/pull/1305)) +- Postgres adapter settings not being applied ([#1379](https://github.com/elizaOS/eliza/pull/1379)) +- ImageModelProvider API key selection fallback ([#1272](https://github.com/elizaOS/eliza/pull/1272)) +- Swap and bridge actions in plugin-evm ([#1456](https://github.com/elizaOS/eliza/pull/1456)) +- Twitter search feature ([#1433](https://github.com/elizaOS/eliza/pull/1433)) +- Twitter dry run mode and configuration logging ([#1498](https://github.com/elizaOS/eliza/pull/1498)) +- Fix Twitter plugin interaction prompts ([#1469](https://github.com/elizaOS/eliza/pull/1469)) +- LowerCase bug and environment cleanup in Twitter client ([#1514](https://github.com/elizaOS/eliza/pull/1514)) +- Cleaner prompts in Twitter plugin ([#1472](https://github.com/elizaOS/eliza/pull/1472)) +- Twitter login notifications, incorrect cookie management ([#1330](https://github.com/elizaOS/eliza/pull/1330)) +- Duplicate tweet log ([#1402](https://github.com/elizaOS/eliza/pull/1402)) +- Explicitly set env in each step ([#1374](https://github.com/elizaOS/eliza/pull/1374)) +- Incorrect link redirection issue ([#1443](https://github.com/elizaOS/eliza/pull/1443)) +- Remove code duplication in getGoals call ([#1450](https://github.com/elizaOS/eliza/pull/1450)) +- Client type identification with test coverage ([#1490](https://github.com/elizaOS/eliza/pull/1490)) +- Required incremental option in TypeScript configuration ([#1485](https://github.com/elizaOS/eliza/pull/1485)) + +#### Complete Changelog + +* fix: explicitly set env in each step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1374 +* Update README.md to instructions to start client for chatting with Agent by @onlyzerosonce in https://github.com/elizaOS/eliza/pull/1375 +* docs: Add documentation on pnpm node version by @trbutler4 in https://github.com/elizaOS/eliza/pull/1350 +* chore: change CI trigger by @shakkernerd in https://github.com/elizaOS/eliza/pull/1387 +* chore: require approval for integration test step by @shakkernerd in https://github.com/elizaOS/eliza/pull/1388 +* chore: split tests by @shakkernerd in https://github.com/elizaOS/eliza/pull/1390 +* docs: sample plugin documentation by @ileana-pr in https://github.com/elizaOS/eliza/pull/1385 +* docs: Add "What Did You Get Done This Week? #6" notes by @YoungPhlo in https://github.com/elizaOS/eliza/pull/1399 +* Standardize boolean values and update .env file pattern by @hcaumo in https://github.com/elizaOS/eliza/pull/1392 +* fix: duplicate tweet log by @jasonqindev in https://github.com/elizaOS/eliza/pull/1402 +* fix: postgres adapter settings not being applied by @ryanleecode in https://github.com/elizaOS/eliza/pull/1379 +* fix: image generation using imageSettings by @proteanx in https://github.com/elizaOS/eliza/pull/1371 +* feat: add venice style presets & option to remove watermark (image generation) by @proteanx in https://github.com/elizaOS/eliza/pull/1410 +* chore: allow scoped pr titles by @ryanleecode in https://github.com/elizaOS/eliza/pull/1414 +* chore: format package.json files with prettier by @ryanleecode in https://github.com/elizaOS/eliza/pull/1412 +* fix: Twitter login notifications, incorrect cookie management. by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1330 +* fix: Multiple Agents running at the same time on localhost by @0xCardinalError in https://github.com/elizaOS/eliza/pull/1415 +* fix: tags in templates/examples empty when passed to LLM by @tcm390 in https://github.com/elizaOS/eliza/pull/1305 +* fix: fix imageModelProvider apiKey selection fallback by @UD1sto in https://github.com/elizaOS/eliza/pull/1272 +* chore: update env for plugin-goat by @aeither in https://github.com/elizaOS/eliza/pull/1180 +* docs: Add Tagalog README Translation by @harveyjavier in https://github.com/elizaOS/eliza/pull/1420 +* feat: [Code Scanning] Security Improvements - create codeql.yml by @monilpat in https://github.com/elizaOS/eliza/pull/1314 +* feat: greet first time contributors by @monilpat in https://github.com/elizaOS/eliza/pull/1316 +* feat: add auto PR / issue close after being stale for a certain amount of time by @monilpat in https://github.com/elizaOS/eliza/pull/1317 +* feat: add `only` to booleanFooter by @fyInALT in https://github.com/elizaOS/eliza/pull/1437 +* improve logging in plugin-coinbase by @alessandromazza98 in https://github.com/elizaOS/eliza/pull/1429 +* Update eliza-in-tee.md (fixing typo) by @yerinle in https://github.com/elizaOS/eliza/pull/1428 +* fix: typos by @omahs in https://github.com/elizaOS/eliza/pull/1423 +* docs: 1.Quotation marks are used incorrectly.2.Delete duplicate words by @RiceChuan in https://github.com/elizaOS/eliza/pull/1424 +* feat: client-github retry by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1425 +* feat: (plugin-evm) add alienx chain by @xwxtwd in https://github.com/elizaOS/eliza/pull/1438 +* chore: Keeps README translations synchronized by @0xJord4n in https://github.com/elizaOS/eliza/pull/1432 +* feat: add abstract plugin by @cygaar in https://github.com/elizaOS/eliza/pull/1225 +* fix: Make search feature in twitter client works by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1433 +* fix: fix incorrect link redirection issue by @mhxw in https://github.com/elizaOS/eliza/pull/1443 +* fix: Remove code duplication in getGoals call by @hanyh2004 in https://github.com/elizaOS/eliza/pull/1450 +* Feat: update package.json to add Cleanstart options for new database by @harperaa in https://github.com/elizaOS/eliza/pull/1449 +* feat: suppress initial message from action by @0xPBIT in https://github.com/elizaOS/eliza/pull/1444 +* New default character by @lalalune in https://github.com/elizaOS/eliza/pull/1453 +* feat: added docs for plugin-nft-generation by @vishal-kanna in https://github.com/elizaOS/eliza/pull/1327 +* feat: Add Text to 3D function by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1446 +* fix: update pnpm lock by @odilitime in https://github.com/elizaOS/eliza/pull/1457 +* feat: allow passing secrets through environment by @odilitime in https://github.com/elizaOS/eliza/pull/1454 +* feat: Add ModelConfiguration to Character to enable adjusting temperature, response length & penalties by @peersky in https://github.com/elizaOS/eliza/pull/1455 +* feat: replace `unruggable-core` with `unruggable-sdk` by @remiroyc in https://github.com/elizaOS/eliza/pull/450 +* chore: update defailt character topic test case by @shakkernerd in https://github.com/elizaOS/eliza/pull/1466 +* docs: Fixed Incorrect Model Name in API Integration by @mdqst in https://github.com/elizaOS/eliza/pull/1465 +* feat: Adding plugin for Cronos ZKEVM by @samarth30 in https://github.com/elizaOS/eliza/pull/1464 +* fix: client-twitter: fix ENABLE_ACTION_PROCESSING logic by @zkvm in https://github.com/elizaOS/eliza/pull/1463 +* fix: cronoszkEVM -> cronoszkevm by @shakkernerd in https://github.com/elizaOS/eliza/pull/1468 +* fix(core) make modelConfiguration optional by @Archethect in https://github.com/elizaOS/eliza/pull/1473 +* fix: cleaner interaction prompts in the Twitter plugin by @todorkolev in https://github.com/elizaOS/eliza/pull/1469 +* fix: duplicate twitter post by @tcm390 in https://github.com/elizaOS/eliza/pull/1472 +* chore: Docs update by @madjin in https://github.com/elizaOS/eliza/pull/1476 +* Fetch timeline for followed accounts via Twitter client methods by @ag-wnl in https://github.com/elizaOS/eliza/pull/1475 +* chore: Do not consider self tweets when evaluating actions by @ag-wnl in https://github.com/elizaOS/eliza/pull/1477 +* fix: client-discord chat_with_attachment action remove hard coded model, allow any tiktoken model by @harperaa in https://github.com/elizaOS/eliza/pull/1408 +* feat: Enhance client direct by @shakkernerd in https://github.com/elizaOS/eliza/pull/1479 +* feat: improve chat formatting line breaks by @swizzmagik in https://github.com/elizaOS/eliza/pull/1483 +* feat: add image features to react chat client by @0xPBIT in https://github.com/elizaOS/eliza/pull/1481 +* feat: Twitter Post Action Implementation by @0xPBIT in https://github.com/elizaOS/eliza/pull/1422 +* feat: Add agentic JSDoc generation by @Ed-Marcavage in https://github.com/elizaOS/eliza/pull/1343 +* feat: add readme for ton plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1496 +* feat: add readme for websearch plugin by @chandiniv1 in https://github.com/elizaOS/eliza/pull/1494 +* chore: fix typos by @qwdsds in https://github.com/elizaOS/eliza/pull/1489 +* docs: Fixed a small syntax issue in the ModelClass Update fine-tuning.md by @mdqst in https://github.com/elizaOS/eliza/pull/1493 +* add CODE_OF_CONDUCT.md by @nulLeeKH in https://github.com/elizaOS/eliza/pull/1487 +* fix: remove `type` when import from `elizaos` by @tomguluson92 in https://github.com/elizaOS/eliza/pull/1492 +* fix: improve Twitter client dry run mode and configuration logging by @e-fu in https://github.com/elizaOS/eliza/pull/1498 +* feat: extend parseBooleanFromText function with additional boolean values by @shakkernerd in https://github.com/elizaOS/eliza/pull/1501 +* docs: bad links in eliza-in-tee.md by @janeyJo in https://github.com/elizaOS/eliza/pull/1500 +* fix: improve client type identification with test coverage by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1490 +* feat: handle long tweet by @tcm390 in https://github.com/elizaOS/eliza/pull/1339 +* chore: general code fixes/clean up by @shakkernerd in https://github.com/elizaOS/eliza/pull/1513 +* add fuel plugin by @Dhaiwat10 in https://github.com/elizaOS/eliza/pull/1512 +* fix: add required incremental option and remove invalid typescript configuration by @ShaneOxM in https://github.com/elizaOS/eliza/pull/1485 +* Clear `/cache/` in `clean.sh` script by @timolegros in https://github.com/elizaOS/eliza/pull/1508 +* chore: Revert "Clear `/cache/` in `clean.sh` script" by @shakkernerd in https://github.com/elizaOS/eliza/pull/1515 +* chore: remove cache in core by @shakkernerd in https://github.com/elizaOS/eliza/pull/1516 +* feat: Add the FerePro plugin by @Rudrakc in https://github.com/elizaOS/eliza/pull/1502 +* fix: Update speech.ts by @y4my4my4m in https://github.com/elizaOS/eliza/pull/1312 +* fix: swap and bridge actions of plugin-evm by @pythonberg1997 in https://github.com/elizaOS/eliza/pull/1456 +* fix: client-twitter lowerCase bug and environment clean up (+lint fixes, and TWITTER_SEARCH_ENABLE double start fix) by @odilitime in https://github.com/elizaOS/eliza/pull/1514 +* feat: use OPENAI_API_URL from env to support custom OpenAI API endpoint by @imtms in https://github.com/elizaOS/eliza/pull/1522 +* fix: handle long tweet in utils by @oxSaturn in https://github.com/elizaOS/eliza/pull/1520 +* feat: add /:agentId/speak endpoint for text-to-speech functionality by @HowieDuhzit in https://github.com/elizaOS/eliza/pull/1528 +* Fix: Update package.json with build-docker command to match the dockerfile command by @vanshika-srivastava in https://github.com/elizaOS/eliza/pull/1527 +* feat: Add Livepeer Image Provider by @Titan-Node in https://github.com/elizaOS/eliza/pull/1525 +* feat: Add Custom System Prompt Support for plugin-image-generation by @tsubasakong in https://github.com/elizaOS/eliza/pull/839 +* chore: remove unused vars by @odilitime in https://github.com/elizaOS/eliza/pull/1529 +* feat: add avalanche plugin by @snow-farmer in https://github.com/elizaOS/eliza/pull/842 +* feat: Add GitBook Plugin provider by @azep-ninja in https://github.com/elizaOS/eliza/pull/1126 +* chore: bump version to v.0.1.7-alpha.2 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1530 +* chore: 1.7.0 prep, develop => main by @odilitime in https://github.com/elizaOS/eliza/pull/1519 + +#### New Contributors + +
+View New Contributors +* @onlyzerosonce made their first contribution in https://github.com/elizaOS/eliza/pull/1375 +* @trbutler4 made their first contribution in https://github.com/elizaOS/eliza/pull/1350 +* @hcaumo made their first contribution in https://github.com/elizaOS/eliza/pull/1392 +* @jasonqindev made their first contribution in https://github.com/elizaOS/eliza/pull/1402 +* @UD1sto made their first contribution in https://github.com/elizaOS/eliza/pull/1272 +* @aeither made their first contribution in https://github.com/elizaOS/eliza/pull/1180 +* @harveyjavier made their first contribution in https://github.com/elizaOS/eliza/pull/1420 +* @fyInALT made their first contribution in https://github.com/elizaOS/eliza/pull/1437 +* @alessandromazza98 made their first contribution in https://github.com/elizaOS/eliza/pull/1429 +* @yerinle made their first contribution in https://github.com/elizaOS/eliza/pull/1428 +* @omahs made their first contribution in https://github.com/elizaOS/eliza/pull/1423 +* @RiceChuan made their first contribution in https://github.com/elizaOS/eliza/pull/1424 +* @0xJord4n made their first contribution in https://github.com/elizaOS/eliza/pull/1432 +* @nulLeeKH made their first contribution in https://github.com/elizaOS/eliza/pull/1433 +* @mhxw made their first contribution in https://github.com/elizaOS/eliza/pull/1443 +* @hanyh2004 made their first contribution in https://github.com/elizaOS/eliza/pull/1450 +* @harperaa made their first contribution in https://github.com/elizaOS/eliza/pull/1449 +* @0xPBIT made their first contribution in https://github.com/elizaOS/eliza/pull/1444 +* @vishal-kanna made their first contribution in https://github.com/elizaOS/eliza/pull/1327 +* @remiroyc made their first contribution in https://github.com/elizaOS/eliza/pull/450 +* @mdqst made their first contribution in https://github.com/elizaOS/eliza/pull/1465 +* @samarth30 made their first contribution in https://github.com/elizaOS/eliza/pull/1464 +* @zkvm made their first contribution in https://github.com/elizaOS/eliza/pull/1463 +* @Archethect made their first contribution in https://github.com/elizaOS/eliza/pull/1473 +* @todorkolev made their first contribution in https://github.com/elizaOS/eliza/pull/1469 +* @ag-wnl made their first contribution in https://github.com/elizaOS/eliza/pull/1475 +* @swizzmagik made their first contribution in https://github.com/elizaOS/eliza/pull/1483 +* @Ed-Marcavage made their first contribution in https://github.com/elizaOS/eliza/pull/1343 +* @chandiniv1 made their first contribution in https://github.com/elizaOS/eliza/pull/1496 +* @qwdsds made their first contribution in https://github.com/elizaOS/eliza/pull/1489 +* @e-fu made their first contribution in https://github.com/elizaOS/eliza/pull/1498 +* @janeyJo made their first contribution in https://github.com/elizaOS/eliza/pull/1500 +* @ShaneOxM made their first contribution in https://github.com/elizaOS/eliza/pull/1490 +* @Dhaiwat10 made their first contribution in https://github.com/elizaOS/eliza/pull/1512 +* @timolegros made their first contribution in https://github.com/elizaOS/eliza/pull/1508 +* @Rudrakc made their first contribution in https://github.com/elizaOS/eliza/pull/1502 +* @y4my4my4m made their first contribution in https://github.com/elizaOS/eliza/pull/1312 +* @pythonberg1997 made their first contribution in https://github.com/elizaOS/eliza/pull/1456 +* @imtms made their first contribution in https://github.com/elizaOS/eliza/pull/1522 +* @HowieDuhzit made their first contribution in https://github.com/elizaOS/eliza/pull/1528 +* @vanshika-srivastava made their first contribution in https://github.com/elizaOS/eliza/pull/1527 +* @snow-farmer made their first contribution in https://github.com/elizaOS/eliza/pull/842 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.7-alpha.1...v0.1.7-alpha.2 + +--- + +## v0.1.7-alpha.1 (December 22, 2024) + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 + +#### New Contributors + +
+View New Contributors +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 +
+ +#### Full Changelog: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.2 + +#### What's Changed + +* chore: rebase develop branch by @shakkernerd in https://github.com/elizaOS/eliza/pull/1301 +* no token needed for gaianet by @suicidalgoofy in https://github.com/elizaOS/eliza/pull/1306 +* fix: add lint script for plugin evm and fix lint errors by @nicky-ru in https://github.com/elizaOS/eliza/pull/1171 +* chore: remove TWITTER_COOKIES env var by @ChristopherTrimboli in https://github.com/elizaOS/eliza/pull/1288 +* fix: update turbo to fix "cannot find package" error by @oxSaturn in https://github.com/elizaOS/eliza/pull/1307 +* fix: set default value for cache store by @oxSaturn in https://github.com/elizaOS/eliza/pull/1308 +* fix: support google model. by @oxSaturn in https://github.com/elizaOS/eliza/pull/1310 +* chore: bump agent-twitter-client version to v0.0.17 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1311 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/elizaOS/eliza/pull/1323 +* fix: Add OLLAMA model to the getTokenForProvider class by @amirkhonov in https://github.com/elizaOS/eliza/pull/1338 +* fix: postgres adapter schema by @ryanleecode in https://github.com/elizaOS/eliza/pull/1345 +* Update farcaster client max cast length by @0x330a in https://github.com/elizaOS/eliza/pull/1347 +* chore: revert discord url by @madjin in https://github.com/elizaOS/eliza/pull/1355 +* feat: elizaOS by @lalalune in https://github.com/elizaOS/eliza/pull/1352 +* chore: Merge Develop into Main by @lalalune in https://github.com/elizaOS/eliza/pull/1356 +* Update DOCUMENTATION links to point to https://elizaOS.github.io/eliza/ by @imwylin in https://github.com/elizaOS/eliza/pull/1353 +* feat: change @elizaos/eliza to @elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1357 +* chore: develop -> main, change elizaos/eliza to elizaos/core by @lalalune in https://github.com/elizaOS/eliza/pull/1359 +* chore: New version 0.1.7 alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1360 +* chore: bump version to v0.1.7-alpha.1 by @shakkernerd in https://github.com/elizaOS/eliza/pull/1361 + +#### New Contributors + +* @suicidalgoofy made their first contribution in https://github.com/elizaOS/eliza/pull/1306 +* @ChristopherTrimboli made their first contribution in https://github.com/elizaOS/eliza/pull/1288 +* @amirkhonov made their first contribution in https://github.com/elizaOS/eliza/pull/1338 +* @ryanleecode made their first contribution in https://github.com/elizaOS/eliza/pull/1345 +* @0x330a made their first contribution in https://github.com/elizaOS/eliza/pull/1347 +* @imwylin made their first contribution in https://github.com/elizaOS/eliza/pull/1353 + +**Full Changelog**: https://github.com/elizaOS/eliza/compare/v0.1.6...v0.1.7-alpha.1 + +--- + +## v0.1.6-alpha.5 (December 21, 2024) + +#### What's Changed + +* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 +* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 +* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 +* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 +* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 +* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 +* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 +* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 +* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 +* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 +* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 +* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 +* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 +* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 +* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 +* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 +* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 +* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 +* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 +* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 +* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 +* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 +* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 +* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 +* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 +* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 +* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 +* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 +* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 +* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 +* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 +* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 +* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 +* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 +* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 +* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 +* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 +* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 +* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 +* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 +* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 +* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 +* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 +* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 +* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 +* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 +* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 +* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 +* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 + +#### New Contributors + +
+View New Contributors +* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 +* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 +* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 +* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 +* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 +* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 +* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 +* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 +* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 +* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 +* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 +* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 +* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 +* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 +* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 +* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.4...v0.1.6-alpha.5 + +--- + +## v0.1.6 (December 21, 2024) + +#### What's Changed + +* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 +* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 +* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 +* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 +* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 +* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 +* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 +* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 +* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 +* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 +* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 +* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 +* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 +* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 +* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 +* use github access token by @tcm390 in https://github.com/ai16z/eliza/pull/825 +* loading indicator by @tcm390 in https://github.com/ai16z/eliza/pull/827 +* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 +* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 +* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 +* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 +* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 +* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 +* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 +* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 +* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 +* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 +* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 +* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 +* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 +* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 +* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 +* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 +* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 +* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 +* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 +* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 +* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 +* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 +* fix: re-enable coverage report upload to Codecov in CI workflow by @snobbee in https://github.com/ai16z/eliza/pull/880 +* chore: disable building docs on build command by @shakkernerd in https://github.com/ai16z/eliza/pull/884 +* feat: Add Flow Blockchain plugin by @btspoony in https://github.com/ai16z/eliza/pull/874 +* chore: enhance dev script, performance improvement and add help message by @shakkernerd in https://github.com/ai16z/eliza/pull/887 +* chore: added more help message to the important notice text. by @shakkernerd in https://github.com/ai16z/eliza/pull/891 +* chore: improved dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/892 +* fix: twitter actions not triggering by @cygaar in https://github.com/ai16z/eliza/pull/903 +* chore: update models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/890 +* fix: evaluation json parsing by @cygaar in https://github.com/ai16z/eliza/pull/907 +* docs: Add What Did You Get Done This Week #4 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/895 +* feat: create README_TH.md by @asianviking in https://github.com/ai16z/eliza/pull/918 +* feat: update gaianet config by @L-jasmine in https://github.com/ai16z/eliza/pull/915 +* feat: allow users to configure models for groq by @oxSaturn in https://github.com/ai16z/eliza/pull/910 +* chore: Consistent language for Community & Contact link label by @golryang in https://github.com/ai16z/eliza/pull/899 +* chore: deprecate text based way of generating JSON by @monilpat in https://github.com/ai16z/eliza/pull/920 +* fix: Farcater client cleanup and fixed response logic by @sayangel in https://github.com/ai16z/eliza/pull/914 +* feat: MAX_TWEET_LENGTH env implementation by @onur-saf in https://github.com/ai16z/eliza/pull/912 +* feat: implement advanced coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/725 +* feat: add dynamic watch paths for agent development by @samuveth in https://github.com/ai16z/eliza/pull/931 +* fix: use of Heurist model env vars by @boxhock in https://github.com/ai16z/eliza/pull/924 +* fix: update quickstart and .env.example by @oxSaturn in https://github.com/ai16z/eliza/pull/932 +* feat: add readContract / invokeContract functionality to Coinbase plugin by @monilpat in https://github.com/ai16z/eliza/pull/923 +* fix: telegram response memory userId to agentId by @bmgalego in https://github.com/ai16z/eliza/pull/948 +* feat: Config eternalai model from env by @genesis-0000 in https://github.com/ai16z/eliza/pull/927 +* feat: add hyperbolic api to eliza by @meppsilon in https://github.com/ai16z/eliza/pull/828 +* docs: add WSL installation guide by @ileana-pr in https://github.com/ai16z/eliza/pull/946 +* fix: Revert "docs: add WSL installation guide" by @monilpat in https://github.com/ai16z/eliza/pull/959 +* Fix farcaster client process action issue by @sin-bufan in https://github.com/ai16z/eliza/pull/963 +* fix(agent): correct EVM plugin activation condition by @0xAsten in https://github.com/ai16z/eliza/pull/962 +* fix: use MAX_TWEET_LENGTH from setting by @oxSaturn in https://github.com/ai16z/eliza/pull/960 +* feat: Supports upload files to AWS S3. by @xwxtwd in https://github.com/ai16z/eliza/pull/941 +* fix: update package name in faq by @oxSaturn in https://github.com/ai16z/eliza/pull/937 +* feat: process all responses actions by @bmgalego in https://github.com/ai16z/eliza/pull/940 +* chore: 947 add other evm chains to wallet by @n00b21337 in https://github.com/ai16z/eliza/pull/949 +* feat: add dev script to plugin-aptos by @asianviking in https://github.com/ai16z/eliza/pull/956 +* feat: Add hyperbolic env vars to override model class by @meppsilon in https://github.com/ai16z/eliza/pull/974 +* chore: pass env variables when setting up GOAT and update GOAT readme by @0xaguspunk in https://github.com/ai16z/eliza/pull/898 +* feat: Add TEE Mode to Solana Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/835 +* chore: fix broken lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/977 +* fix: revert llamacloud endpoint change by @odilitime in https://github.com/ai16z/eliza/pull/954 +* feat: add callback handler to runtime evaluate method by @bmgalego in https://github.com/ai16z/eliza/pull/938 +* fix: docker trying to filter out missing docs package by @odilitime in https://github.com/ai16z/eliza/pull/978 +* chore: rename intiface plugin by @odilitime in https://github.com/ai16z/eliza/pull/955 +* feat: allow character.json settings models for open router by @odilitime in https://github.com/ai16z/eliza/pull/953 +* LinkedIn Client by @bkellgren in https://github.com/ai16z/eliza/pull/973 +* fix: a typo in characterfile.md by @oxSaturn in https://github.com/ai16z/eliza/pull/986 +* fix: Goat Plugin + AWS S3 Service error when env vars absent by @jnaulty in https://github.com/ai16z/eliza/pull/985 +* docs: add WSL Setup Guide to documentation by @ileana-pr in https://github.com/ai16z/eliza/pull/983 +* chore: add how to startup chat ui by @yodamaster726 in https://github.com/ai16z/eliza/pull/976 +* feat: flow update generate object by @btspoony in https://github.com/ai16z/eliza/pull/929 +* feat : github image cicd by @v1xingyue in https://github.com/ai16z/eliza/pull/889 +* feat: Add NanoGPT provider by @dylan1951 in https://github.com/ai16z/eliza/pull/926 +* fix: Fix Twitter Search Logic and Add Galadriel Image Model by @dontAskVI in https://github.com/ai16z/eliza/pull/994 +* feat: create README_DE.md by @GottliebFreudenreich in https://github.com/ai16z/eliza/pull/995 +* test: adding parsing tests. changed files parsing.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/996 +* feat: allow users to configure models for openai and anthropic by @oxSaturn in https://github.com/ai16z/eliza/pull/999 +* fix: typo initialize by @cryptofish7 in https://github.com/ai16z/eliza/pull/1000 +* fix: add callback to action in farcaster client by @sin-bufan in https://github.com/ai16z/eliza/pull/1002 +* chore: Bring Develop up to date with HEAD by @odilitime in https://github.com/ai16z/eliza/pull/1006 +* feat: twitter client enhancements by @tharak123455 in https://github.com/ai16z/eliza/pull/913 +* docs: Add templates documentation to the project by @Lukapetro in https://github.com/ai16z/eliza/pull/1013 +* feat: Plugin evm multichain by @nicky-ru in https://github.com/ai16z/eliza/pull/1009 +* test: Initial release of smoke/integration tests + testing framework by @jzvikart in https://github.com/ai16z/eliza/pull/993 +* docs: "AI Agent Dev School Part 4" livestream notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1015 +* chore: Twitter search switch by @odilitime in https://github.com/ai16z/eliza/pull/1003 +* feat: improve Twitter client with action processing by @dorianjanezic in https://github.com/ai16z/eliza/pull/1007 +* fix: refactor contributor page by @tcm390 in https://github.com/ai16z/eliza/pull/809 +* chore: Update CI configuration to enable test coverage and add covera… by @snobbee in https://github.com/ai16z/eliza/pull/1019 +* chore: Twitter fetchHomeTimeline rework by @odilitime in https://github.com/ai16z/eliza/pull/1021 +* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1024 +* feat: Add custom fetch logic for agent by @v1xingyue in https://github.com/ai16z/eliza/pull/1010 +* docs: Update README.md by @sergical in https://github.com/ai16z/eliza/pull/1025 +* add echochambers by @savageops in https://github.com/ai16z/eliza/pull/997 +* chore: Push Develop into Main by @odilitime in https://github.com/ai16z/eliza/pull/1028 +* feat: create example folder with example plugin by @monilpat in https://github.com/ai16z/eliza/pull/1004 +* feat: add venice.ai api model provider by @proteanx in https://github.com/ai16z/eliza/pull/1008 +* feat: Add AI Agent Dev School Tutorial Link by @lalalune in https://github.com/ai16z/eliza/pull/1038 +* feat: Add Discord Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1032 +* docs: characterfile.md docs outdated with latest eliza version by @tqdpham96 in https://github.com/ai16z/eliza/pull/1042 +* feat: improve voice processing and add deepgram transcription option by @tcm390 in https://github.com/ai16z/eliza/pull/1026 +* fix: use pull_request_target for integration tests by @jnaulty in https://github.com/ai16z/eliza/pull/1035 +* feat: client-discord stop implementation / agent improvements by @odilitime in https://github.com/ai16z/eliza/pull/1029 +* fix: re-enable generateNewTweetLoop / lint fixes by @odilitime in https://github.com/ai16z/eliza/pull/1043 +* chore: release develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1045 +* chore: improve smokeTests environment validation and logging by @aramxc in https://github.com/ai16z/eliza/pull/1046 +* fix: add auto to clients in types to use client-auto by @HashWarlock in https://github.com/ai16z/eliza/pull/1050 +* feat: add/change change through REST api (client-direct) by @odilitime in https://github.com/ai16z/eliza/pull/1052 +* fix: discord client ci issues by @cygaar in https://github.com/ai16z/eliza/pull/1054 +* fix: Fix pnpm lockfiles by @jzvikart in https://github.com/ai16z/eliza/pull/1055 +* fix: Allow bot to post tweets with images generated by the imageGenerationPlugin by @tcm390 in https://github.com/ai16z/eliza/pull/1040 +* feat: Add Telegram Team features by @azep-ninja in https://github.com/ai16z/eliza/pull/1033 +* feat: add venice.ai image generation by @proteanx in https://github.com/ai16z/eliza/pull/1057 +* feat: improve X/Twitter login with cookie validation and retry mechanism by @arslanaybars in https://github.com/ai16z/eliza/pull/856 +* feat: create README_VI.md by @tqdpham96 in https://github.com/ai16z/eliza/pull/1058 +* Update docs (CONTRIBUTING.md) by @lessuselesss in https://github.com/ai16z/eliza/pull/1053 +* feat: add README_TH.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1034 +* feat: multiversx plugin by @mgavrila in https://github.com/ai16z/eliza/pull/860 +* feat: Add NEAR Protocol plugin by @serrrfirat in https://github.com/ai16z/eliza/pull/847 +* chore: commented out unused variables in solana swap action's plugin by @shakkernerd in https://github.com/ai16z/eliza/pull/1073 +* fix: incorrect eslint config file path by @shakkernerd in https://github.com/ai16z/eliza/pull/1074 +* feat: add plugin-ton by @jinbangyi in https://github.com/ai16z/eliza/pull/1039 +* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1075 +* chore: Update package.json by @Freytes in https://github.com/ai16z/eliza/pull/1031 +* chore: improve eslint by --cache by @shengxj1 in https://github.com/ai16z/eliza/pull/1056 +* fix: missing eslint config file by @shakkernerd in https://github.com/ai16z/eliza/pull/1076 +* fix: remove unnecessary devDependencies by @shakkernerd in https://github.com/ai16z/eliza/pull/1077 +* Add slack plugin by @AIFlowML in https://github.com/ai16z/eliza/pull/859 +* fix: errors in swap action in plugin-near by @shakkernerd in https://github.com/ai16z/eliza/pull/1078 +* Adding plugin for ZKsync Era by @arose00 in https://github.com/ai16z/eliza/pull/906 +* fix: transfer action linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1079 +* chore: add npmignore file by @shakkernerd in https://github.com/ai16z/eliza/pull/1080 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1081 +* fix: eslint command by @shakkernerd in https://github.com/ai16z/eliza/pull/1082 +* chore: remove unnecessary packages by @shakkernerd in https://github.com/ai16z/eliza/pull/1083 +* fix: dynamic import of fs module by @shakkernerd in https://github.com/ai16z/eliza/pull/1084 +* chore: remove unused imports and rename runtime variable by @shakkernerd in https://github.com/ai16z/eliza/pull/1085 +* fix: client slack linting errors by @shakkernerd in https://github.com/ai16z/eliza/pull/1086 +* fix: syntax error: invalid arithmetic operator by @shakkernerd in https://github.com/ai16z/eliza/pull/1088 +* chore: increase timeout to 3mins by @shakkernerd in https://github.com/ai16z/eliza/pull/1092 +* chore: kill pnpm start by @shakkernerd in https://github.com/ai16z/eliza/pull/1093 +* chore: debugging start behaviour by @shakkernerd in https://github.com/ai16z/eliza/pull/1094 +* docs: add README.md to plugin-evm by @nicky-ru in https://github.com/ai16z/eliza/pull/1095 +* fix: return types of createAgent & startAgent by @BlockJuic3 in https://github.com/ai16z/eliza/pull/1097 +* feat: Smoke Test script by @shakkernerd in https://github.com/ai16z/eliza/pull/1101 +* feat: allow users to configure models for grok by @oxSaturn in https://github.com/ai16z/eliza/pull/1091 +* test: adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/998 +* chore: improving client typing by @BalanaguYashwanth in https://github.com/ai16z/eliza/pull/1036 +* fix: handle no termination message by @shakkernerd in https://github.com/ai16z/eliza/pull/1102 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1103 +* fix: Fixed twitter posts include from including `/n` in the text by @Titan-Node in https://github.com/ai16z/eliza/pull/1070 +* fix: add missing imports by @shakkernerd in https://github.com/ai16z/eliza/pull/1104 +* chore: improve formatting of .env.example for better readability by @guzus in https://github.com/ai16z/eliza/pull/897 +* feat: Lens client by @imthatcarlos in https://github.com/ai16z/eliza/pull/1098 +* feat: Add plugin-nft-generation: create Solana NFT collections. by @xwxtwd in https://github.com/ai16z/eliza/pull/1011 +* Documentation: Plugin list numbering and titles by @brunocalmels in https://github.com/ai16z/eliza/pull/1107 +* feat: add plugin-sui by @jnaulty in https://github.com/ai16z/eliza/pull/934 +* feat: plugin-story by @jacob-tucker in https://github.com/ai16z/eliza/pull/1030 +* Fix/charity by @awidearray in https://github.com/ai16z/eliza/pull/852 +* Feat: Update community section of docs by @madjin in https://github.com/ai16z/eliza/pull/1111 +* fix: Revert "Feat: Update community section of docs" by @monilpat in https://github.com/ai16z/eliza/pull/1112 +* feat: New docs for community section by @madjin in https://github.com/ai16z/eliza/pull/1114 +* chore: fix broken pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1115 +* fix: load image from diff endpoints by @qgpcybs in https://github.com/ai16z/eliza/pull/837 +* feat: Updated characters types, Discord & Telegram enhancements by @azep-ninja in https://github.com/ai16z/eliza/pull/957 +* FAL image settings escape hatch by @daojonesceo in https://github.com/ai16z/eliza/pull/814 +* fix: add more heplful default agents (Dobby and C3PO) by @n00b21337 in https://github.com/ai16z/eliza/pull/1124 +* fix: discord client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1125 +* fix: Refactor to prevent unnecessary lockfile changes by @monilpat in https://github.com/ai16z/eliza/pull/1120 +* fix: fix the name by @n00b21337 in https://github.com/ai16z/eliza/pull/1133 +* feat: Add `chatapi.akash.network` to available list of model providers (FREE LLAMA API ACCESS!) by @MbBrainz in https://github.com/ai16z/eliza/pull/1131 +* feat: add support for handlebars templating engine as an option by @erise133 in https://github.com/ai16z/eliza/pull/1136 +* clean newlines for new tweet by @owlcode in https://github.com/ai16z/eliza/pull/1141 +* fix: telegram client duplicate function removal by @azep-ninja in https://github.com/ai16z/eliza/pull/1140 +* fix: Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash by @FWangZil in https://github.com/ai16z/eliza/pull/965 +* feat: allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana by @0xNerd in https://github.com/ai16z/eliza/pull/1135 +* chore: remove comment by @shakkernerd in https://github.com/ai16z/eliza/pull/1143 +* fix: remove docker compose command since Docker file already runs by @rarepepi in https://github.com/ai16z/eliza/pull/1139 +* fix: improve fomo integration by @odilitime in https://github.com/ai16z/eliza/pull/1147 +* chore: fix PR #1147 by @odilitime in https://github.com/ai16z/eliza/pull/1148 +* chore: Merge monday, merging develop into main by @odilitime in https://github.com/ai16z/eliza/pull/1144 +* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 +* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 +* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 +* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 +* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 +* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 +* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 +* fix: Enable multiple bots to join Discord voice channels by @tcm390 in https://github.com/ai16z/eliza/pull/1156 +* chore: print commands to start the client and remove unused --non-itera… by @yang-han in https://github.com/ai16z/eliza/pull/1163 +* feat: make script dash compatible by @shakkernerd in https://github.com/ai16z/eliza/pull/1165 +* fix: Fix typo in multiversx plugin prompt for creating token by @thomasWos in https://github.com/ai16z/eliza/pull/1170 +* docs: Update "What Did You Get Done This Week? 5" spaces notes by @YoungPhlo in https://github.com/ai16z/eliza/pull/1174 +* docs: fixed CONTRIBUTING.md file Issue: 1048 by @ileana-pr in https://github.com/ai16z/eliza/pull/1191 +* test: adding tests for runtime.ts. Modified README since we switched to vitest by @ai16z-demirix in https://github.com/ai16z/eliza/pull/1190 +* feat: integration tests fixes + library improvements by @jzvikart in https://github.com/ai16z/eliza/pull/1177 +* docs(cn): add python 3.7 by @9547 in https://github.com/ai16z/eliza/pull/1201 +* fix: gitpod cicd bug by @v1xingyue in https://github.com/ai16z/eliza/pull/1207 +* docs: Update README.md by @marcNY in https://github.com/ai16z/eliza/pull/1209 +* docs: Update "CN README" with more details by @tomguluson92 in https://github.com/ai16z/eliza/pull/1196 +* chore: New docs by @madjin in https://github.com/ai16z/eliza/pull/1211 +* fix: improve twitter post generation prompt by @cygaar in https://github.com/ai16z/eliza/pull/1217 +* fix: Allow the bot to post messages with images generated by the imageGenerationPlugin on Telegram. by @tcm390 in https://github.com/ai16z/eliza/pull/1220 +* fix: postgres needs the user to exist before you can add a participant by @odilitime in https://github.com/ai16z/eliza/pull/1219 +* fix: CircuitBreaker.ts by @tomguluson92 in https://github.com/ai16z/eliza/pull/1226 +* chore: clean up scripts by @danbednarski in https://github.com/ai16z/eliza/pull/1218 +* fix: fail when cannot get token, add Akash to generateText switch by @vpavlin in https://github.com/ai16z/eliza/pull/1214 +* feat: add parse mode=Markdown, enhance telegram bot output by @simpletrontdip in https://github.com/ai16z/eliza/pull/1229 +* feat: make twitter login retry times as env by @renlulu in https://github.com/ai16z/eliza/pull/1244 +* fix: Sync UI Client with server port env by @jonathangus in https://github.com/ai16z/eliza/pull/1239 +* Update README for french, spanish and italian language by @azurwastaken in https://github.com/ai16z/eliza/pull/1236 +* Update trump.character.json - Enhance terminology in the project for clarity and inclusivity by @yjshi2015 in https://github.com/ai16z/eliza/pull/1237 +* Fix visibility issue github image cicd by @luisalrp in https://github.com/ai16z/eliza/pull/1243 +* fix: twitterShouldRespondTemplate Fails When Defined as a String in JSON Character Config by @tcm390 in https://github.com/ai16z/eliza/pull/1242 +* fix: optional chaining on search to avoid startup errors when search is not enabled by @netdragonx in https://github.com/ai16z/eliza/pull/1202 +* feat: make express payload limit configurable by @renlulu in https://github.com/ai16z/eliza/pull/1245 +* fix: Fix local_llama key warning by @odilitime in https://github.com/ai16z/eliza/pull/1250 +* doc: add Twitter automation label notice (#1253) by @julienbrs in https://github.com/ai16z/eliza/pull/1254 +* Update trump.character.json by @lalalune in https://github.com/ai16z/eliza/pull/1252 +* fix: unsupported model provider: claude_vertex by @tcm390 in https://github.com/ai16z/eliza/pull/1258 +* feat: upgrade Tavily API with comprehensive input and constrain the token consumption by @tomguluson92 in https://github.com/ai16z/eliza/pull/1246 +* feat: add README_DE.md in docs directory by @derRizzMeister in https://github.com/ai16z/eliza/pull/1262 +* fix: pnpm lockfile by @shakkernerd in https://github.com/ai16z/eliza/pull/1273 +* chore: Revert "fix: pnpm lockfile" by @shakkernerd in https://github.com/ai16z/eliza/pull/1275 +* fix: Fix client.push issue and update README for Slack client verification by @SumeetChougule in https://github.com/ai16z/eliza/pull/1182 +* fix: write summary file before trying to cache it by @tobbelobb in https://github.com/ai16z/eliza/pull/1205 +* fix: fix ENABLE_ACTION_PROCESSING logic by @oxSaturn in https://github.com/ai16z/eliza/pull/1268 +* fix: fix lockfile by @odilitime in https://github.com/ai16z/eliza/pull/1283 +* chore: clean up merged PR1168 by @odilitime in https://github.com/ai16z/eliza/pull/1289 +* feat: Redis Cache Implementation by @shakkernerd in https://github.com/ai16z/eliza/pull/1279 +* fix: integration tests fix by @twilwa in https://github.com/ai16z/eliza/pull/1291 +* fix: pnpm lock file by @shakkernerd in https://github.com/ai16z/eliza/pull/1292 +* fix: add missing claude vertex case to handleProvider by @shakkernerd in https://github.com/ai16z/eliza/pull/1293 +* fix: output checkable variable for conditional by @twilwa in https://github.com/ai16z/eliza/pull/1294 +* feat: Add caching support for Redis by @shakkernerd in https://github.com/ai16z/eliza/pull/1295 +* chore: bump version to 0.1.6-alpha.5 by @shakkernerd in https://github.com/ai16z/eliza/pull/1296 +* feat: Update main for v0.1.6-alpha.5 by @odilitime in https://github.com/ai16z/eliza/pull/1290 +* fix: remove clients from default character by @shakkernerd in https://github.com/ai16z/eliza/pull/1297 +* fix: default character model to LLAMALOCAL by @shakkernerd in https://github.com/ai16z/eliza/pull/1299 +* feat: release version 0.1.6 by @shakkernerd in https://github.com/ai16z/eliza/pull/1300 + +#### New Contributors + +
+View New Contributors +* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 +* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 +* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 +* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 +* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 +* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 +* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 +* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 +* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 +* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 +* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 +* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 +* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 +* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 +* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 +* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 +* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 +* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 +* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 +* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 +* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 +* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 +* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 +* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 +* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 +* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 +* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 +* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 +* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 +* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 +* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 +* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 +* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 +* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 +* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 +* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 +* @aramxc made their first contribution in https://github.com/ai16z/eliza/pull/1046 +* @arslanaybars made their first contribution in https://github.com/ai16z/eliza/pull/856 +* @derRizzMeister made their first contribution in https://github.com/ai16z/eliza/pull/1034 +* @mgavrila made their first contribution in https://github.com/ai16z/eliza/pull/860 +* @serrrfirat made their first contribution in https://github.com/ai16z/eliza/pull/847 +* @jinbangyi made their first contribution in https://github.com/ai16z/eliza/pull/1039 +* @shengxj1 made their first contribution in https://github.com/ai16z/eliza/pull/1056 +* @AIFlowML made their first contribution in https://github.com/ai16z/eliza/pull/859 +* @arose00 made their first contribution in https://github.com/ai16z/eliza/pull/906 +* @BlockJuic3 made their first contribution in https://github.com/ai16z/eliza/pull/1097 +* @BalanaguYashwanth made their first contribution in https://github.com/ai16z/eliza/pull/1036 +* @Titan-Node made their first contribution in https://github.com/ai16z/eliza/pull/1070 +* @guzus made their first contribution in https://github.com/ai16z/eliza/pull/897 +* @imthatcarlos made their first contribution in https://github.com/ai16z/eliza/pull/1098 +* @brunocalmels made their first contribution in https://github.com/ai16z/eliza/pull/1107 +* @jacob-tucker made their first contribution in https://github.com/ai16z/eliza/pull/1030 +* @qgpcybs made their first contribution in https://github.com/ai16z/eliza/pull/837 +* @daojonesceo made their first contribution in https://github.com/ai16z/eliza/pull/814 +* @MbBrainz made their first contribution in https://github.com/ai16z/eliza/pull/1131 +* @erise133 made their first contribution in https://github.com/ai16z/eliza/pull/1136 +* @owlcode made their first contribution in https://github.com/ai16z/eliza/pull/1141 +* @FWangZil made their first contribution in https://github.com/ai16z/eliza/pull/965 +* @0xNerd made their first contribution in https://github.com/ai16z/eliza/pull/1135 +* @yang-han made their first contribution in https://github.com/ai16z/eliza/pull/1163 +* @thomasWos made their first contribution in https://github.com/ai16z/eliza/pull/1170 +* @9547 made their first contribution in https://github.com/ai16z/eliza/pull/1201 +* @marcNY made their first contribution in https://github.com/ai16z/eliza/pull/1209 +* @danbednarski made their first contribution in https://github.com/ai16z/eliza/pull/1218 +* @vpavlin made their first contribution in https://github.com/ai16z/eliza/pull/1214 +* @simpletrontdip made their first contribution in https://github.com/ai16z/eliza/pull/1229 +* @renlulu made their first contribution in https://github.com/ai16z/eliza/pull/1244 +* @jonathangus made their first contribution in https://github.com/ai16z/eliza/pull/1239 +* @azurwastaken made their first contribution in https://github.com/ai16z/eliza/pull/1236 +* @yjshi2015 made their first contribution in https://github.com/ai16z/eliza/pull/1237 +* @luisalrp made their first contribution in https://github.com/ai16z/eliza/pull/1243 +* @netdragonx made their first contribution in https://github.com/ai16z/eliza/pull/1202 +* @julienbrs made their first contribution in https://github.com/ai16z/eliza/pull/1254 +* @SumeetChougule made their first contribution in https://github.com/ai16z/eliza/pull/1182 +* @tobbelobb made their first contribution in https://github.com/ai16z/eliza/pull/1205 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.6 + +--- + +## v0.1.6-alpha.4 (December 17, 2024) + +#### What's Changed + +* fix: client twitter login and auth handler by @shakkernerd in https://github.com/ai16z/eliza/pull/1158 +* chore: bump version to 0.1.6-alpha.4 by @shakkernerd in https://github.com/ai16z/eliza/pull/1159 + +**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.3...v0.1.6-alpha.4 + +--- + +## v0.1.6-alpha.3 (December 17, 2024) + +#### What's Changed + +* feat: update packages version script by @shakkernerd in https://github.com/ai16z/eliza/pull/1150 +* chore: bump version to 0.1.6-alpha.3 by @shakkernerd in https://github.com/ai16z/eliza/pull/1152 +* fix: fetch log level to debug by @shakkernerd in https://github.com/ai16z/eliza/pull/1153 +* fix: fix direct-client ability to start agents by @odilitime in https://github.com/ai16z/eliza/pull/1154 +* chore: develop into main by @shakkernerd in https://github.com/ai16z/eliza/pull/1155 + +**Full Changelog**: https://github.com/ai16z/eliza/compare/v0.1.6-alpha.2...v0.1.6-alpha.3 + +--- + +## v0.1.6-alpha.2 (December 17, 2024) + +December 16th 2024 release + +#### Features (feat) + +- allow agents to create/buy/sell tokens on FOMO.fund's bonding curve in plugin-solana #1135 +- add support for handlebars templating engine as an option #1136 +- Add Discord Team features #1032 +- Add Telegram Team features #1033 +- Updated characters types, Discord & Telegram enhancements #957 +- Plugin evm multichain #1009 +- add plugin-sui #934 +- add plugin-ton #1039 +- Add NEAR Protocol plugin #847 +- multiversx plugin #860 +- add plugin-nft-generation: create Solana NFT collections #1011 +- Lens client #1098 +- allow users to configure models for grok #1091 +- Smoke Test script #1101 +- plugin-story #1030 +- add venice.ai image generation #1057 +- improve X/Twitter login with cookie validation and retry mechanism #856 +- add/change change through REST api (client-direct) #1052 +- twitter client enhancements #913 +- github image cicd #889 +- add README_TH.md in docs directory #1034 +- Adding plugin for ZKsync Era #906 +- Add slack plugin #859 + +#### Fixes (fix) + +- improve fomo integration #1147 +- Fix Parameter Parsing in plugin-evm TransferAction and Return Transaction Hash #965 +- telegram client duplicate function removal #1140 +- discord client duplicate function removal #1125 +- Docker default non-interactive mode for Cloud instances #796 +- Use LARGE models for responses #853 +- load image from diff endpoints #837 +- fix the name #1133 +- add more helpful default agents (Dobby and C3PO) #1124 +- Refactor to prevent unnecessary lockfile changes #1120 +- add missing imports #1104 +- Fixed twitter posts include from including /n in the text #1070 +- handle no termination message #1102 +- return types of createAgent & startAgent #1097 +- syntax error: invalid arithmetic operator #1088 +- client slack linting errors #1086 +- dynamic import of fs module #1084 +- transfer action linting errors #1079 +- errors in swap action in plugin-near #1078 +- remove unnecessary devDependencies #1077 +- missing eslint config file #1076 +- Allow bot to post tweets with images generated by the imageGenerationPlugin #1040 +- discord client ci issues #1054 +- Fix pnpm lockfiles #1055 +- add auto to clients in types to use client-auto #1050 + +#### Chores (chore) + +- fix PR #1147 #1148 +- remove comment #1143 +- fix broken pnpm lockfile #1115 +- fix broken pnpm lockfile #1103 +- debugging start behaviour #1094 +- kill pnpm start #1093 +- increase timeout to 3mins #1092 +- remove unused imports and rename runtime variable #1085 +- remove unnecessary packages #1083 +- fix broken pnpm lockfile #1081 +- add npmignore file #1080 +- commented out unused variables in solana swap action's plugin #1073 +- improve eslint by --cache #1056 +- Update package.json #1031 +- improve smokeTests environment validation and logging #1046 +- improve formatting of .env.example for better readability #897 + +#### Documentation (docs) + +- add README.md to plugin-evm #1095 +- New docs for community section #1114 +- Update docs (CONTRIBUTING.md) #1053 +- Update community section of docs #1111 +- Plugin list numbering and titles #1107 + +#### Tests (test) + +- adding tests. changed files actions.test.ts, messages.test.ts, models.test.ts #998 + +#### Other (Misc) +- clean newlines for new tweet #1141 +- FAL image settings escape hatch #814 +- Revert "Feat: Update community section of docs" #1112 +- Fix/charity #852 + +--- + +## v0.1.6-alpha.1 (December 13, 2024) +Week of December 9th 2024 release, Many bug fixes + +#### What's Changed + +#### Features +- Add Flow Blockchain plugin - [#874](https://github.com/ai16z/eliza/pull/874) +- Add hyperbolic API to Eliza - [#828](https://github.com/ai16z/eliza/pull/828) +- MAX_TWEET_LENGTH env implementation - [#912](https://github.com/ai16z/eliza/pull/912) +- Add advanced Coinbase trading - [#725](https://github.com/ai16z/eliza/pull/725) +- Add readContract/invokeContract functionality to Coinbase plugin - [#923](https://github.com/ai16z/eliza/pull/923) +- Add NanoGPT provider - [#926](https://github.com/ai16z/eliza/pull/926) +- Config eternalai model from env - [#927](https://github.com/ai16z/eliza/pull/927) +- Add hyperbolic env vars to override model class - [#974](https://github.com/ai16z/eliza/pull/974) +- Add TEE Mode to Solana Plugin - [#835](https://github.com/ai16z/eliza/pull/835) +- Add callback handler to runtime evaluate method - [#938](https://github.com/ai16z/eliza/pull/938) +- Add dynamic watch paths for agent development - [#931](https://github.com/ai16z/eliza/pull/931) +- Plugin evm multichain - [#1009](https://github.com/ai16z/eliza/pull/1009) +- Add venice.ai API model provider - [#1008](https://github.com/ai16z/eliza/pull/1008) +- Improve Twitter client with action processing - [#1007](https://github.com/ai16z/eliza/pull/1007) +- Add custom fetch logic for agent - [#1010](https://github.com/ai16z/eliza/pull/1010) +- Add Discord Team features - [#1032](https://github.com/ai16z/eliza/pull/1032) +- Improve voice processing and add deepgram transcription option - [#1026](https://github.com/ai16z/eliza/pull/1026) +- Create example folder with example plugin - [#1004](https://github.com/ai16z/eliza/pull/1004) + +#### Fixes +- Re-enable coverage report upload to Codecov in CI workflow - [#880](https://github.com/ai16z/eliza/pull/880) +- Twitter actions not triggering - [#903](https://github.com/ai16z/eliza/pull/903) +- Evaluation JSON parsing - [#907](https://github.com/ai16z/eliza/pull/907) +- Telegram response memory userId to agentId - [#948](https://github.com/ai16z/eliza/pull/948) +- Farcaster client cleanup and fixed response logic - [#914](https://github.com/ai16z/eliza/pull/914) +- Use MAX_TWEET_LENGTH from setting - [#960](https://github.com/ai16z/eliza/pull/960) +- Correct EVM plugin activation condition - [#962](https://github.com/ai16z/eliza/pull/962) +- Docker trying to filter out missing docs package - [#978](https://github.com/ai16z/eliza/pull/978) +- Re-enable generateNewTweetLoop / lint fixes - [#1043](https://github.com/ai16z/eliza/pull/1043) +- Fix Twitter Search Logic and add Galadriel Image Model - [#994](https://github.com/ai16z/eliza/pull/994) +- Fix farcaster client process action issue - [#963](https://github.com/ai16z/eliza/pull/963) +- Fix typo in characterfile.md - [#986](https://github.com/ai16z/eliza/pull/986) +- Fix typo initialize - [#1000](https://github.com/ai16z/eliza/pull/1000) +- Fix package name in FAQ - [#937](https://github.com/ai16z/eliza/pull/937) + +#### Chores +- Disable building docs on build command - [#884](https://github.com/ai16z/eliza/pull/884) +- Enhance dev script, performance improvement, and add help message - [#887](https://github.com/ai16z/eliza/pull/887) +- Improve dev command - [#892](https://github.com/ai16z/eliza/pull/892) +- Consistent language for Community & Contact link label - [#899](https://github.com/ai16z/eliza/pull/899) +- Fix broken lockfile - [#977](https://github.com/ai16z/eliza/pull/977) +- Pass env variables when setting up GOAT and update GOAT readme - [#898](https://github.com/ai16z/eliza/pull/898) +- Deprecate text-based way of generating JSON - [#920](https://github.com/ai16z/eliza/pull/920) +- Bring Develop up to date with HEAD - [#1006](https://github.com/ai16z/eliza/pull/1006) +- Push Develop into Main - [#1028](https://github.com/ai16z/eliza/pull/1028) +- Release develop into main - [#1045](https://github.com/ai16z/eliza/pull/1045) + +#### Docs +- Add What Did You Get Done This Week #4 summaries and timestamps - [#895](https://github.com/ai16z/eliza/pull/895) +- Add templates documentation to the project - [#1013](https://github.com/ai16z/eliza/pull/1013) +- Update README.md - [#1024](https://github.com/ai16z/eliza/pull/1024) and [#1025](https://github.com/ai16z/eliza/pull/1025) +- Create README_TH.md - [#918](https://github.com/ai16z/eliza/pull/918) +- Add AI Agent Dev School Tutorial Link - [#1038](https://github.com/ai16z/eliza/pull/1038) +- Add WSL Setup Guide to documentation - [#983](https://github.com/ai16z/eliza/pull/983) + +#### Tests +- Initial release of smoke/integration tests + testing framework - [#993](https://github.com/ai16z/eliza/pull/993) +- Adding parsing tests. Changed files parsing.test.ts - [#996](https://github.com/ai16z/eliza/pull/996) + + +#### New Contributors +
+New Contributors +* @asianviking made their first contribution in https://github.com/ai16z/eliza/pull/918 +* @golryang made their first contribution in https://github.com/ai16z/eliza/pull/899 +* @onur-saf made their first contribution in https://github.com/ai16z/eliza/pull/912 +* @samuveth made their first contribution in https://github.com/ai16z/eliza/pull/931 +* @boxhock made their first contribution in https://github.com/ai16z/eliza/pull/924 +* @meppsilon made their first contribution in https://github.com/ai16z/eliza/pull/828 +* @ileana-pr made their first contribution in https://github.com/ai16z/eliza/pull/946 +* @sin-bufan made their first contribution in https://github.com/ai16z/eliza/pull/963 +* @0xAsten made their first contribution in https://github.com/ai16z/eliza/pull/962 +* @n00b21337 made their first contribution in https://github.com/ai16z/eliza/pull/949 +* @bkellgren made their first contribution in https://github.com/ai16z/eliza/pull/973 +* @jnaulty made their first contribution in https://github.com/ai16z/eliza/pull/985 +* @dylan1951 made their first contribution in https://github.com/ai16z/eliza/pull/926 +* @GottliebFreudenreich made their first contribution in https://github.com/ai16z/eliza/pull/995 +* @cryptofish7 made their first contribution in https://github.com/ai16z/eliza/pull/1000 +* @tharak123455 made their first contribution in https://github.com/ai16z/eliza/pull/913 +* @Lukapetro made their first contribution in https://github.com/ai16z/eliza/pull/1013 +* @nicky-ru made their first contribution in https://github.com/ai16z/eliza/pull/1009 +* @jzvikart made their first contribution in https://github.com/ai16z/eliza/pull/993 +* @sergical made their first contribution in https://github.com/ai16z/eliza/pull/1024 +* @savageops made their first contribution in https://github.com/ai16z/eliza/pull/997 +* @proteanx made their first contribution in https://github.com/ai16z/eliza/pull/1008 +* @azep-ninja made their first contribution in https://github.com/ai16z/eliza/pull/1032 +* @tqdpham96 made their first contribution in https://github.com/ai16z/eliza/pull/1042 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.5...v0.1.6-alpha.1 + +--- + +## v0.1.5-alpha.5 (December 07, 2024) + +#### What's Changed +* feat: working farcaster client with neynar by @sayangel in https://github.com/ai16z/eliza/pull/570 + +
+New Contributors +* @sayangel made their first contribution in https://github.com/ai16z/eliza/pull/570 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.4...v0.1.5-alpha.5 + +--- + +## v0.1.5-alpha.4 (December 06, 2024) + +#### What's Changed +* feat: add coinbase ERC20, ERC721, and ERC1155 tokenContract deployment / invokement plugin by @monilpat in https://github.com/ai16z/eliza/pull/803 +* fix: Include scripts/postinstall.js in the final NPM package by @martincik in https://github.com/ai16z/eliza/pull/843 +* fix: run release workflow after a github release is created by @cygaar in https://github.com/ai16z/eliza/pull/846 +* feat: add Aptos plugin by @0xaptosj in https://github.com/ai16z/eliza/pull/818 +* fix: plugins docs by @cygaar in https://github.com/ai16z/eliza/pull/848 +* fix: Use LARGE models for responses by @lalalune in https://github.com/ai16z/eliza/pull/853 +* Update Node version in local-development.md by @oxSaturn in https://github.com/ai16z/eliza/pull/850 +* Updated quickstart.md to contemplate common issue by @fede2442 in https://github.com/ai16z/eliza/pull/861 +* Remove duplicated coinbase CDP options in .env.example by @juntao in https://github.com/ai16z/eliza/pull/863 +* feat: coinbase webhook + add more examples + testing by @monilpat in https://github.com/ai16z/eliza/pull/801 +* test: adding environment and knowledge tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/862 +* Update quickstart.md by @oxSaturn in https://github.com/ai16z/eliza/pull/872 +* docs: Add AI Agent Dev School Parts 2 and 3 summaries and timestamps by @YoungPhlo in https://github.com/ai16z/eliza/pull/877 +* Add google model env vars by @peersky in https://github.com/ai16z/eliza/pull/875 + +#### New Contributors + +
+New Contributors +* @0xaptosj made their first contribution in https://github.com/ai16z/eliza/pull/818 +* @oxSaturn made their first contribution in https://github.com/ai16z/eliza/pull/850 +* @fede2442 made their first contribution in https://github.com/ai16z/eliza/pull/861 +* @juntao made their first contribution in https://github.com/ai16z/eliza/pull/863 +* @peersky made their first contribution in https://github.com/ai16z/eliza/pull/875 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.3...v0.1.5-alpha.4 + +--- + +## v0.1.5-alpha.3 (December 04, 2024) + +#### What's Changed +* fix: lerna publish command by @cygaar in https://github.com/ai16z/eliza/pull/811 +* feat: (core) Add circuit breaker pattern for database operations -… by @augchan42 in https://github.com/ai16z/eliza/pull/812 +* fix: pin all node dependencies + update @solana/web3.js to safe version by @cygaar in https://github.com/ai16z/eliza/pull/832 +* fix: docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/826 +* fix: twitter cache expires by @palsp in https://github.com/ai16z/eliza/pull/824 +* chore: bump version to 0.1.5-alpha.1 by @cygaar in https://github.com/ai16z/eliza/pull/833 +* chore: revert viem package version by @shakkernerd in https://github.com/ai16z/eliza/pull/834 +* chore: Revert/viem version and bump @goat-sdk/plugin-erc20 by @shakkernerd in https://github.com/ai16z/eliza/pull/836 +* chore: bump version to 0.1.5-alpha.3 by @cygaar in https://github.com/ai16z/eliza/pull/838 + +#### New Contributors + +
+New Contributors +* @palsp made their first contribution in https://github.com/ai16z/eliza/pull/824 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5-alpha.0...v0.1.5-alpha.3 + +--- + +## v0.1.5-alpha.0 (December 03, 2024) + +#### What's Changed +* fix: When the plugins field in the .character.json file is configured with plugin name. by @xwxtwd in https://github.com/ai16z/eliza/pull/784 +* fixs: uuid compatible for number by @tomguluson92 in https://github.com/ai16z/eliza/pull/785 +* Update generation.ts to fix TOGETHER/LLAMACLOUD image generation by @ProphetX10 in https://github.com/ai16z/eliza/pull/786 +* fix: dev command by @shakkernerd in https://github.com/ai16z/eliza/pull/793 +* chore: update README_KOR.md to match latest README.md by @mike0295 in https://github.com/ai16z/eliza/pull/789 +* fix: enviroment -> environment by @tomguluson92 in https://github.com/ai16z/eliza/pull/787 +* fix: Docker default non-interactive mode for Cloud instances by @rarepepi in https://github.com/ai16z/eliza/pull/796 +* fix: swap type error, create user trust on first message in telegram by @MarcoMandar in https://github.com/ai16z/eliza/pull/800 +* fix: update npm publication workflow by @cygaar in https://github.com/ai16z/eliza/pull/805 +* refactor: Improve actions samples random selection by @dievardump in https://github.com/ai16z/eliza/pull/799 +* fix: part 2 of updating the npm publish workflow by @cygaar in https://github.com/ai16z/eliza/pull/806 +* fix: release workflow part 3 by @cygaar in https://github.com/ai16z/eliza/pull/807 +* fix: update package version to v0.1.5-alpha.0 by @cygaar in https://github.com/ai16z/eliza/pull/808 + +#### New Contributors + +
+New Contributors +* @xwxtwd made their first contribution in https://github.com/ai16z/eliza/pull/784 +* @ProphetX10 made their first contribution in https://github.com/ai16z/eliza/pull/786 +* @mike0295 made their first contribution in https://github.com/ai16z/eliza/pull/789 +* @rarepepi made their first contribution in https://github.com/ai16z/eliza/pull/796 +* @dievardump made their first contribution in https://github.com/ai16z/eliza/pull/799 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.5...v0.1.5-alpha.0 + +--- + +## v0.1.5 (December 02, 2024) + +#### What's Changed +* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 +* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 +* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 +* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 +* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 +* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 +* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 +* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 +* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 +* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 +* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 +* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 +* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 +* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 +* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 +* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 +* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 +* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 +* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 +* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 +* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 +* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 +* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 +* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 +* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 +* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 +* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 +* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 +* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 +* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 +* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 +* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 +* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 +* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 +* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 +* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 +* docs: add template and client configuration guide by @oguzserdar in https://github.com/ai16z/eliza/pull/510 +* Wrap `fastembed` in try catch to allow non node environments to build by @antpb in https://github.com/ai16z/eliza/pull/508 +* fix: husky and pre-commit by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/514 +* fix: lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/515 +* test: add linter to all packages and enable vitest by @snobbee in https://github.com/ai16z/eliza/pull/490 +* feat: add coinbase plugin starting with cb commerce functionality by @monilpat in https://github.com/ai16z/eliza/pull/513 +* fix: Gracefully Handle Add Participants Unique Constraint Error in Postgres by @VarKrishin in https://github.com/ai16z/eliza/pull/495 +* fix: Ollama fix by @yodamaster726 in https://github.com/ai16z/eliza/pull/524 +* fix: ollama local and llama local by @yodamaster726 in https://github.com/ai16z/eliza/pull/521 +* fix: Fix/telegram by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/530 +* fix(deps): update dependency @ai-sdk/anthropic to ^0.0.56 by @renovate in https://github.com/ai16z/eliza/pull/528 +* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/529 +* chore(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/526 +* fix(deps): update dependency @ai-sdk/openai to v1.0.4 by @renovate in https://github.com/ai16z/eliza/pull/533 +* fix(deps): update dependency @ai-sdk/google-vertex to ^0.0.43 by @renovate in https://github.com/ai16z/eliza/pull/532 +* fix: pass runtime to video service by @0xFlicker in https://github.com/ai16z/eliza/pull/535 +* fix: discord voice memory id not unique by @bmgalego in https://github.com/ai16z/eliza/pull/540 +* fix: db queries not using agentId in all memory queries by @bmgalego in https://github.com/ai16z/eliza/pull/539 +* fix: error in getGoals and remove coinbase package-lock.json by @bmgalego in https://github.com/ai16z/eliza/pull/545 +* fix: Use BigInt for tweet IDs in client-twitter by @wraitii in https://github.com/ai16z/eliza/pull/552 +* fix: add try catch to process action by @bmgalego in https://github.com/ai16z/eliza/pull/546 +* fix: generateText format consistency by @tomguluson92 in https://github.com/ai16z/eliza/pull/550 +* fix: bump echogarden to fix case sensitive issue by @0xFlicker in https://github.com/ai16z/eliza/pull/561 +* Improved Twitter Documentation by @grallc in https://github.com/ai16z/eliza/pull/559 +* fix: sql command by @0xFlicker in https://github.com/ai16z/eliza/pull/560 +* fix: remove db adapters depencies from core and remove plugin-node from telegram by @bmgalego in https://github.com/ai16z/eliza/pull/571 +* fix: add missing documents and knowledge memory managers to runtime interface by @bmgalego in https://github.com/ai16z/eliza/pull/572 +* fix: remove postinstall script from plugin-coinbase by @bmgalego in https://github.com/ai16z/eliza/pull/573 +* fix: postgres by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/557 +* fix: Token provider getHighestLiquidityPair by @bmgalego in https://github.com/ai16z/eliza/pull/547 +* Add community stream notes for WDYGDTW 2 by @YoungPhlo in https://github.com/ai16z/eliza/pull/580 +* feat: add new pages by @madjin in https://github.com/ai16z/eliza/pull/581 +* fix: Devex Fixes by @lalalune in https://github.com/ai16z/eliza/pull/583 +* feat: update api docs by @madjin in https://github.com/ai16z/eliza/pull/582 +* feat: Update packages by @lalalune in https://github.com/ai16z/eliza/pull/584 +* Update dependency @echogarden/espeak-ng-emscripten to v0.3.3 by @renovate in https://github.com/ai16z/eliza/pull/537 +* Update dependency @opendocsg/pdf2md to v0.1.32 by @renovate in https://github.com/ai16z/eliza/pull/538 +* Update dependency agent-twitter-client to v0.0.14 by @renovate in https://github.com/ai16z/eliza/pull/542 +* Update docusaurus monorepo to v3.6.3 by @renovate in https://github.com/ai16z/eliza/pull/543 +* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/544 +* feat: More package updates by @lalalune in https://github.com/ai16z/eliza/pull/585 +* Pin dependency vue to 3.5.13 by @renovate in https://github.com/ai16z/eliza/pull/527 +* feat: Shaw/realityspiral/coinbase fixes by @lalalune in https://github.com/ai16z/eliza/pull/586 +* feat: implement coinbase mass payments across base/sol/eth/pol/arb by @monilpat in https://github.com/ai16z/eliza/pull/569 +* Shaw/logger fixes by @lalalune in https://github.com/ai16z/eliza/pull/587 +* fix: missing updates for logger.ts by @yodamaster726 in https://github.com/ai16z/eliza/pull/525 +* fix: React Client fixes by @lalalune in https://github.com/ai16z/eliza/pull/588 +* feat: add agent selection, router and sidebar layout in React client by @vivoidos in https://github.com/ai16z/eliza/pull/536 +* fix: fixing failing goals, cache and token tests by @ai16z-demirix in https://github.com/ai16z/eliza/pull/522 +* fix: Shaw/fix zerog by @lalalune in https://github.com/ai16z/eliza/pull/589 +* feat: Add 0G plugin for file storage by @Wilbert957 in https://github.com/ai16z/eliza/pull/416 +* fix: enable test run in CI for core package by @pgoos in https://github.com/ai16z/eliza/pull/590 +* CS - first api hookups. by @justabot in https://github.com/ai16z/eliza/pull/564 +* feat: update sidebars by @madjin in https://github.com/ai16z/eliza/pull/593 +* Download updates by @justabot in https://github.com/ai16z/eliza/pull/594 +* feat: Farcaster Client by @bmgalego in https://github.com/ai16z/eliza/pull/386 +* Pr 33 by @MarcoMandar in https://github.com/ai16z/eliza/pull/596 +* fix: discord crash on sending message to null channel by @odilitime in https://github.com/ai16z/eliza/pull/598 +* fix: db queries in sqljs database adapter not using agentId by @bmgalego in https://github.com/ai16z/eliza/pull/606 +* fix: agent DirectClient is not a type by @odilitime in https://github.com/ai16z/eliza/pull/605 +* fix: add Memory Manager getMemoriesByRoomIds missing tableName param by @bmgalego in https://github.com/ai16z/eliza/pull/602 +* fix: time prompt to include UTC, convert to verbose english to help prompting by @odilitime in https://github.com/ai16z/eliza/pull/603 +* feat: add knowledge to state by @bmgalego in https://github.com/ai16z/eliza/pull/600 +* feat: Adding tests for actions and generation. Skiping test step in defaultCharacters by @ai16z-demirix in https://github.com/ai16z/eliza/pull/591 +* feat: sell simulation service by @MarcoMandar in https://github.com/ai16z/eliza/pull/597 +* fix: use correct getCachedEmbeddings query_field_sub_name by @bmgalego in https://github.com/ai16z/eliza/pull/607 +* fix: knowledge module exporting process by @bmgalego in https://github.com/ai16z/eliza/pull/609 +* fix: add client farcaster templates to character type by @bmgalego in https://github.com/ai16z/eliza/pull/610 +* feat: make node-plugin lazy-loaded for faster boot times by @bmgalego in https://github.com/ai16z/eliza/pull/599 +* chore(nvmrc): update Node.js version from v23.1.0 to v23.3.0 by @wolfcito in https://github.com/ai16z/eliza/pull/611 +* fix: Fix buttplug.io integration and merge by @lalalune in https://github.com/ai16z/eliza/pull/612 +* feat: Add buttplug.io integration by @8times4 in https://github.com/ai16z/eliza/pull/517 +* fix: Update and add Conflux by @lalalune in https://github.com/ai16z/eliza/pull/613 +* feat: add Conflux plugin by @darwintree in https://github.com/ai16z/eliza/pull/481 +* feat: Add decentralized inferencing for Eliza (LLAMA, Hermes, Flux) by @genesis-0000 in https://github.com/ai16z/eliza/pull/516 +* fix: memory similarity log & new knowledge ingestion by @yoniebans in https://github.com/ai16z/eliza/pull/616 +* feat: starknet portfolio provider by @milancermak in https://github.com/ai16z/eliza/pull/595 +* bugfix: Modify docker run error after agent folder move by @THtianhao in https://github.com/ai16z/eliza/pull/458 +* fix: handle when tweet_results is empty better by @odilitime in https://github.com/ai16z/eliza/pull/620 +* fix: small improvements to agent process exits by @cygaar in https://github.com/ai16z/eliza/pull/625 +* Feat/sell simulation by @MarcoMandar in https://github.com/ai16z/eliza/pull/627 +* fix: Add Tweet Response Deduplication Check by @tsubasakong in https://github.com/ai16z/eliza/pull/622 +* fix: node package builds by @cygaar in https://github.com/ai16z/eliza/pull/636 +* dicord bot voice by @tcm390 in https://github.com/ai16z/eliza/pull/633 +* feat: Initial TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/632 +* Notes for AI Agent Dev School #1 by @YoungPhlo in https://github.com/ai16z/eliza/pull/638 +* feat: Merge EVM and add character override by @lalalune in https://github.com/ai16z/eliza/pull/643 +* fix: Add docs, update providers for TEE Plugin by @HashWarlock in https://github.com/ai16z/eliza/pull/640 +* fix: running a character.json fails when running per docs by @yodamaster726 in https://github.com/ai16z/eliza/pull/624 +* feat: support starkname by @irisdv in https://github.com/ai16z/eliza/pull/628 +* refactor: better db connection handling by @cygaar in https://github.com/ai16z/eliza/pull/635 +* add connection instruction for connecting with X by @zjasper666 in https://github.com/ai16z/eliza/pull/641 +* Feat/simulation sell types by @MarcoMandar in https://github.com/ai16z/eliza/pull/642 +* updates postgres setup instructions in docs by @DataRelic in https://github.com/ai16z/eliza/pull/645 +* Update ci.yaml by @snobbee in https://github.com/ai16z/eliza/pull/652 +* feat: improve browser service by @cygaar in https://github.com/ai16z/eliza/pull/653 +* added support for LlamaLocal's path outside plugin-node/dist by @dr-fusion in https://github.com/ai16z/eliza/pull/649 +* CS - adding better errors and readme. by @justabot in https://github.com/ai16z/eliza/pull/654 +* feat: implement coinbase trading by @monilpat in https://github.com/ai16z/eliza/pull/608 +* fix: pnpm-lock.yaml by @monilpat in https://github.com/ai16z/eliza/pull/664 +* feat: add minimal config file for code cov by @pgoos in https://github.com/ai16z/eliza/pull/659 +* fix: embedding search for non-openai models by @cygaar in https://github.com/ai16z/eliza/pull/660 +* feat: evm pubkey derivation by @St4rgarden in https://github.com/ai16z/eliza/pull/667 +* fix: add missing commands to quickstart by @0xaguspunk in https://github.com/ai16z/eliza/pull/665 +* Add Galadriel LLM Inference Provider by @dontAskVI in https://github.com/ai16z/eliza/pull/651 +* redpill custom models by @v1xingyue in https://github.com/ai16z/eliza/pull/668 +* feat: Add wallet history (transactions, balances) to coinbase providers by @monilpat in https://github.com/ai16z/eliza/pull/658 +* fix: discord permissions and duplicate reactions, new /joinchannel command by @augchan42 in https://github.com/ai16z/eliza/pull/662 +* feat: add image text model provider separation and fal.ai integration by @yoniebans in https://github.com/ai16z/eliza/pull/650 +* feat : whatsapp by @awidearray in https://github.com/ai16z/eliza/pull/626 +* feat: add ICP token creation support by @asDNSk in https://github.com/ai16z/eliza/pull/357 +* integrate tavily by @tcm390 in https://github.com/ai16z/eliza/pull/518 +* incorrect package install location Update plugins.md by @cryptoradagast in https://github.com/ai16z/eliza/pull/669 +* fix: eslint not working by @cygaar in https://github.com/ai16z/eliza/pull/672 +* fix: add missing viem dependency by @HashWarlock in https://github.com/ai16z/eliza/pull/674 +* fix: embeddings for messages with urls by @cygaar in https://github.com/ai16z/eliza/pull/671 +* Fix: run tests with coverage by @pgoos in https://github.com/ai16z/eliza/pull/676 +* feat: improve embeddings, models and connectivity by @augchan42 in https://github.com/ai16z/eliza/pull/677 +* fix: Make TEE Plugin available to launch agent & fix previous launch error by @HashWarlock in https://github.com/ai16z/eliza/pull/678 +* fix: getEmbeddingZeroVector calls by @cygaar in https://github.com/ai16z/eliza/pull/682 +* feat: add Turborepo by @lalalune in https://github.com/ai16z/eliza/pull/670 +* feat: make twitter client polling configurable by @cygaar in https://github.com/ai16z/eliza/pull/683 +* chore: remove unused packages introduced in #677 by @shakkernerd in https://github.com/ai16z/eliza/pull/693 +* Fix/logging issues by @augchan42 in https://github.com/ai16z/eliza/pull/688 +* chore: Remove web-agent folder - duplicate of client folder by @shakkernerd in https://github.com/ai16z/eliza/pull/699 +* fix: update docker image to support turbo and reduce build time by @HashWarlock in https://github.com/ai16z/eliza/pull/702 +* fix: Switch from tiktoken to js-tiktoken for worker compatibility by @antpb in https://github.com/ai16z/eliza/pull/703 +* fix: simplify linting dependencies by @cygaar in https://github.com/ai16z/eliza/pull/721 +* fix: twitter recent interactions by @cygaar in https://github.com/ai16z/eliza/pull/729 +* feat: add new pages, update sidebar by @madjin in https://github.com/ai16z/eliza/pull/728 +* feat: increase knowledge context by @cygaar in https://github.com/ai16z/eliza/pull/730 +* refactor: ClientBase to use a map for managing multiple Twitter clients by account identifier by @tcm390 in https://github.com/ai16z/eliza/pull/722 +* fix: move `fastembed` import to the isnode condition check by @antpb in https://github.com/ai16z/eliza/pull/709 +* chore: remove unused env var by @2pmflow in https://github.com/ai16z/eliza/pull/737 +* fix (core): message completion footer format by @CodingTux in https://github.com/ai16z/eliza/pull/742 +* fix(deps): pin dependencies by @renovate in https://github.com/ai16z/eliza/pull/744 +* fix: packagejson updated to latest agent-client 0.0.16 by @denizekiz in https://github.com/ai16z/eliza/pull/753 +* Add running with Gitpod by @v1xingyue in https://github.com/ai16z/eliza/pull/758 +* fix(deps): update dependency @ai-sdk/openai to v1.0.5 by @renovate in https://github.com/ai16z/eliza/pull/751 +* Update environment, add twitter quality of life updates by @lalalune in https://github.com/ai16z/eliza/pull/765 +* fix: improve twitter post content quality by @cygaar in https://github.com/ai16z/eliza/pull/763 +* fix(deps): update dependency tailwind-merge to v2.5.5 by @renovate in https://github.com/ai16z/eliza/pull/761 +* fix: recentPosts always empty by @tcm390 in https://github.com/ai16z/eliza/pull/756 +* feat: Pin dependencies and unify tsconfig by @lalalune in https://github.com/ai16z/eliza/pull/767 +* Update dependency dompurify to v3.2.2 by @renovate in https://github.com/ai16z/eliza/pull/548 +* Update dependency @supabase/supabase-js to v2.46.2 by @renovate in https://github.com/ai16z/eliza/pull/754 +* Update dependency clsx to v2.1.1 by @renovate in https://github.com/ai16z/eliza/pull/760 +* Update dependency uuid to v11.0.3 by @renovate in https://github.com/ai16z/eliza/pull/766 +* fix: follow-up improvements for ICP token creation (PR #357) by @asDNSk in https://github.com/ai16z/eliza/pull/757 +* feat: more dependency updates by @lalalune in https://github.com/ai16z/eliza/pull/771 +* fix(deps): replace dependency eslint-plugin-vitest with @vitest/eslint-plugin 1.0.1 by @renovate in https://github.com/ai16z/eliza/pull/749 +* chore(deps): update dependency @eslint/js to v9.16.0 by @renovate in https://github.com/ai16z/eliza/pull/769 +* chore(deps): update dependency @vitest/eslint-plugin to v1.1.13 by @renovate in https://github.com/ai16z/eliza/pull/770 +* fix(deps): update sqlite related by @renovate in https://github.com/ai16z/eliza/pull/768 +* fix: Integrate jin's docs changes and rebuild docs with a16z by @lalalune in https://github.com/ai16z/eliza/pull/772 +* feat: Create community section by @madjin in https://github.com/ai16z/eliza/pull/745 +* Integrate goat plugin by @lalalune in https://github.com/ai16z/eliza/pull/773 +* feat: add goat plugin by @0xaguspunk in https://github.com/ai16z/eliza/pull/736 +* Add decentralized GenAI backend by @L-jasmine in https://github.com/ai16z/eliza/pull/762 +* Integrate more LLMs, fix case issue in switch by @lalalune in https://github.com/ai16z/eliza/pull/774 +* Merge more model providers and fix issues by @lalalune in https://github.com/ai16z/eliza/pull/775 +* feat: Add two more providers: Ali Bailian(Qwen) and Volengine(Doubao, Bytedance) by @btspoony in https://github.com/ai16z/eliza/pull/747 +* add simulator tutor for plugin-tee docs by @shelvenzhou in https://github.com/ai16z/eliza/pull/746 +* feat: (voice) enhance character card voice configuration support by @augchan42 in https://github.com/ai16z/eliza/pull/698 +* feat: donate 1% of coinbase transactions by default by @monilpat in https://github.com/ai16z/eliza/pull/759 +* Create docker-setup.md by @Freytes in https://github.com/ai16z/eliza/pull/776 +* fix: Refactor image interface and update to move llama cloud -> together provider by @lalalune in https://github.com/ai16z/eliza/pull/777 +* fix: Text2Image interface refactored by @tomguluson92 in https://github.com/ai16z/eliza/pull/752 +* refactor: refactor dockerfile to reduce image and build time by @HashWarlock in https://github.com/ai16z/eliza/pull/782 +* feat: Update default character by @lalalune in https://github.com/ai16z/eliza/pull/781 + +#### New Contributors + +
+New Contributors +* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 +* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 +* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 +* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 +* @darwintree made their first contribution in https://github.com/ai16z/eliza/pull/446 +* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 +* @snobbee made their first contribution in https://github.com/ai16z/eliza/pull/463 +* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 +* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 +* @antpb made their first contribution in https://github.com/ai16z/eliza/pull/508 +* @VarKrishin made their first contribution in https://github.com/ai16z/eliza/pull/495 +* @yodamaster726 made their first contribution in https://github.com/ai16z/eliza/pull/524 +* @0xFlicker made their first contribution in https://github.com/ai16z/eliza/pull/535 +* @wraitii made their first contribution in https://github.com/ai16z/eliza/pull/552 +* @tomguluson92 made their first contribution in https://github.com/ai16z/eliza/pull/550 +* @grallc made their first contribution in https://github.com/ai16z/eliza/pull/559 +* @YoungPhlo made their first contribution in https://github.com/ai16z/eliza/pull/580 +* @Wilbert957 made their first contribution in https://github.com/ai16z/eliza/pull/416 +* @pgoos made their first contribution in https://github.com/ai16z/eliza/pull/590 +* @justabot made their first contribution in https://github.com/ai16z/eliza/pull/564 +* @wolfcito made their first contribution in https://github.com/ai16z/eliza/pull/611 +* @8times4 made their first contribution in https://github.com/ai16z/eliza/pull/517 +* @genesis-0000 made their first contribution in https://github.com/ai16z/eliza/pull/516 +* @yoniebans made their first contribution in https://github.com/ai16z/eliza/pull/616 +* @milancermak made their first contribution in https://github.com/ai16z/eliza/pull/595 +* @THtianhao made their first contribution in https://github.com/ai16z/eliza/pull/458 +* @cygaar made their first contribution in https://github.com/ai16z/eliza/pull/625 +* @irisdv made their first contribution in https://github.com/ai16z/eliza/pull/628 +* @zjasper666 made their first contribution in https://github.com/ai16z/eliza/pull/641 +* @DataRelic made their first contribution in https://github.com/ai16z/eliza/pull/645 +* @dr-fusion made their first contribution in https://github.com/ai16z/eliza/pull/649 +* @St4rgarden made their first contribution in https://github.com/ai16z/eliza/pull/667 +* @0xaguspunk made their first contribution in https://github.com/ai16z/eliza/pull/665 +* @dontAskVI made their first contribution in https://github.com/ai16z/eliza/pull/651 +* @augchan42 made their first contribution in https://github.com/ai16z/eliza/pull/662 +* @asDNSk made their first contribution in https://github.com/ai16z/eliza/pull/357 +* @cryptoradagast made their first contribution in https://github.com/ai16z/eliza/pull/669 +* @2pmflow made their first contribution in https://github.com/ai16z/eliza/pull/737 +* @CodingTux made their first contribution in https://github.com/ai16z/eliza/pull/742 +* @L-jasmine made their first contribution in https://github.com/ai16z/eliza/pull/762 +* @btspoony made their first contribution in https://github.com/ai16z/eliza/pull/747 +* @shelvenzhou made their first contribution in https://github.com/ai16z/eliza/pull/746 +* @Freytes made their first contribution in https://github.com/ai16z/eliza/pull/776 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.5 + +--- + +## v0.1.4-alpha.3 (November 28, 2024) + +#### What's Changed + +* feat: adding back the renovate file for automated security scanning by @sirkitree in https://github.com/ai16z/eliza/pull/358 +* feat: readme and linting by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/449 +* fix: postgres embedding issues by @tarrencev in https://github.com/ai16z/eliza/pull/425 +* fix: X dry run by @laser-riot in https://github.com/ai16z/eliza/pull/452 +* Add npm install instructions to homepage header by @null-hax in https://github.com/ai16z/eliza/pull/459 +* docs: Fix my name in stream notes by @odilitime in https://github.com/ai16z/eliza/pull/442 +* feat: create-eliza-app by @coffeeorgreentea in https://github.com/ai16z/eliza/pull/462 +* fix: Add missing fuzzystrmatch extension for levenshtein() method to postgresql schema.sql definition by @martincik in https://github.com/ai16z/eliza/pull/460 +* fix: Fixing failling tests token.test.ts and videoGeneration.test.ts by @ai16z-demirix in https://github.com/ai16z/eliza/pull/465 +* feat: init github client by @tarrencev in https://github.com/ai16z/eliza/pull/456 +* docs: Add Discord username question by @odilitime in https://github.com/ai16z/eliza/pull/468 +* docs: Update Contributors to bring inline with PR468 by @odilitime in https://github.com/ai16z/eliza/pull/470 +* feat: Cache Manager by @bmgalego in https://github.com/ai16z/eliza/pull/378 +* ollama generate case was using console.debug. by @drew-royster in https://github.com/ai16z/eliza/pull/474 +* fix: ci by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/475 +* feat: Twitter Refactor by @bmgalego in https://github.com/ai16z/eliza/pull/478 +* refactor: add template types by @vivoidos in https://github.com/ai16z/eliza/pull/479 +* feat: adds check by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/466 +* fix: ignored modelEndpointOverride in generation by @darwintree in https://github.com/ai16z/eliza/pull/446 +* feat: Improvements by @bmgalego in https://github.com/ai16z/eliza/pull/482 +* fix: agent type error and sqlite file env by @bmgalego in https://github.com/ai16z/eliza/pull/484 +* fix: agent loadCharacters file resolver by @bmgalego in https://github.com/ai16z/eliza/pull/486 +* fix: fix character path loading by @bmgalego in https://github.com/ai16z/eliza/pull/487 +* fix: added missing packages to tsup configs' externals by @massivefermion in https://github.com/ai16z/eliza/pull/488 +* docs: Create best-practices.md documentation by @snobbee in https://github.com/ai16z/eliza/pull/463 +* feat: Added TWITTER_COOKIE example on quickstart.md by @haeunchin in https://github.com/ai16z/eliza/pull/476 +* feat: Improve knowledge embeddings by @tarrencev in https://github.com/ai16z/eliza/pull/472 +* feat: improve type saftey by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/494 +* fix: improve embeddings by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/496 +* node-v by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/501 +* fix: deps by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/503 +* chore: add contributor license by @awidearray in https://github.com/ai16z/eliza/pull/502 +* fix: remove sol dep by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/504 +* fix: issue with npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/505 +* fix: services fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/509 +* fix: speech service fix by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/512 + +#### New Contributors + +
+New Contributors +* @laser-riot made their first contribution in https://github.com/ai16z/eliza/pull/452 +* @null-hax made their first contribution in https://github.com/ai16z/eliza/pull/459 +* @coffeeorgreentea made their first contribution in https://github.com/ai16z/eliza/pull/462 +* @drew-royster made their first contribution in https://github.com/ai16z/eliza/pull/474 +* @massivefermion made their first contribution in https://github.com/ai16z/eliza/pull/488 +* @haeunchin made their first contribution in https://github.com/ai16z/eliza/pull/476 +* @awidearray made their first contribution in https://github.com/ai16z/eliza/pull/502 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.3...v0.1.4-alpha.3 + +--- + +## v0.1.3-alpha.2 (November 20, 2024) + +#### What's Changed +* fix: configs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/431 +* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 +* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 +* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 +* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 +* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.1...v0.1.3-alpha.2 + +--- + +## v0.1.3 (November 20, 2024) + +#### What's Changed +* docs: Update contributing.md to incorporate Contribution Guidelines by @monilpat in https://github.com/ai16z/eliza/pull/430 +* fix: linting and imports ready for npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/433 +* feat: don't require .env to exist by @odilitime in https://github.com/ai16z/eliza/pull/427 +* chore: Update pr.yaml to show actual condition so easier to follow by @monilpat in https://github.com/ai16z/eliza/pull/429 +* fix: imports by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/435 +* fix: path by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/436 +* fix: since agent is moved out of packages, adjust default path by @odilitime in https://github.com/ai16z/eliza/pull/432 +* fix: Fix linter issues by @martincik in https://github.com/ai16z/eliza/pull/397 +* feat: add all the style guidelines to the context by @o-on-x in https://github.com/ai16z/eliza/pull/441 +* fix: fixes some console logs by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/440 +* fix: The bot is by default deafened and we don't want that by @martincik in https://github.com/ai16z/eliza/pull/437 +* fix: unrug by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/444 +* fix: voice perms by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/447 + +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.1.2...v0.1.3 + +--- + +## v0.1.1 (November 20, 2024) + +#### What's Changed +* Groq api integration by @juke in https://github.com/ai16z/eliza/pull/194 +* Updated documentation by @atvonsc in https://github.com/ai16z/eliza/pull/195 +* Major documentation updates by @madjin in https://github.com/ai16z/eliza/pull/199 +* swap Dao action initital by @MarcoMandar in https://github.com/ai16z/eliza/pull/196 +* Swap functionality by @lalalune in https://github.com/ai16z/eliza/pull/197 +* Add RedPill API Support by @HashWarlock in https://github.com/ai16z/eliza/pull/198 +* Fix Discord Voice and DMs by @lalalune in https://github.com/ai16z/eliza/pull/203 +* Shaw fix characters paths, .ts requirement and missings args by @lalalune in https://github.com/ai16z/eliza/pull/204 +* Implement grok beta by @MeDott29 in https://github.com/ai16z/eliza/pull/216 +* add the template overrides by @lalalune in https://github.com/ai16z/eliza/pull/207 +* lazy load llama by @lalalune in https://github.com/ai16z/eliza/pull/220 +* Abstracts Eliza into a Package to enble publishing onto NPM along with plugin system by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/214 +* Add OLLAMA as Model Provider by @o-on-x in https://github.com/ai16z/eliza/pull/221 +* models.gguf stored in models file, & tsconfig changes for ref @eliza/core & other things by @o-on-x in https://github.com/ai16z/eliza/pull/224 +* plugin-image-generation tsconfig.json fix & ollama error handling by @o-on-x in https://github.com/ai16z/eliza/pull/228 +* Update Docs by @madjin in https://github.com/ai16z/eliza/pull/231 +* update docs by @madjin in https://github.com/ai16z/eliza/pull/233 +* move code out to plugins, adapters and clients by @lalalune in https://github.com/ai16z/eliza/pull/225 +* Added OpenRouter model provider by @o-on-x in https://github.com/ai16z/eliza/pull/245 +* Support google models in generation by @parzival418 in https://github.com/ai16z/eliza/pull/246 +* trust integration by @MarcoMandar in https://github.com/ai16z/eliza/pull/248 +* Working PostGres Adapter by @cvartanian in https://github.com/ai16z/eliza/pull/247 +* use openai embeddings setting by @o-on-x in https://github.com/ai16z/eliza/pull/252 +* refactor embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/254 +* embedding set to use openai endpoint when using openai embeddings by @o-on-x in https://github.com/ai16z/eliza/pull/255 +* bigint support in logger by @o-on-x in https://github.com/ai16z/eliza/pull/256 +* Fix: changed claude-3-5-haiku to claude-3-5-haiku-20241022 for fixing… by @denizekiz in https://github.com/ai16z/eliza/pull/257 +* Update docs by @madjin in https://github.com/ai16z/eliza/pull/253 +* cachedEmbeddings fix by @dorianjanezic in https://github.com/ai16z/eliza/pull/262 +* add verbose config with logger by @v1xingyue in https://github.com/ai16z/eliza/pull/249 +* recommendations, token info, client auto by @MarcoMandar in https://github.com/ai16z/eliza/pull/250 +* fix: docs features darkmode color by @fabianhug in https://github.com/ai16z/eliza/pull/266 +* docs homepage rework by @mrpspring in https://github.com/ai16z/eliza/pull/280 +* Improve Docs by @madjin in https://github.com/ai16z/eliza/pull/273 +* Don't blow up if the wallet is missing by @ferric-sol in https://github.com/ai16z/eliza/pull/281 +* Fix embedding calculation for sqlite by @ferric-sol in https://github.com/ai16z/eliza/pull/261 +* Fix: compute unit increasein swapts, default is too low to make trans… by @denizekiz in https://github.com/ai16z/eliza/pull/276 +* add modelProvider to json to resolve embeddings error by @twilwa in https://github.com/ai16z/eliza/pull/274 +* fix docs: add python as a prerequisite (needed for node-gyp) by @metadiver in https://github.com/ai16z/eliza/pull/277 +* Bundles by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/285 +* Loaf stuff by @lalalune in https://github.com/ai16z/eliza/pull/286 +* Added missing GROK model provider key initialization by @FabriceIRANKUNDA in https://github.com/ai16z/eliza/pull/296 +* Added Transfer / Send Token Action by @o-on-x in https://github.com/ai16z/eliza/pull/297 +* telegram: start agent after client initialization by @o-on-x in https://github.com/ai16z/eliza/pull/304 +* Telegram client refactor for bot info availability by @ropresearch in https://github.com/ai16z/eliza/pull/308 +* Increased llama and llama based model temperatures by @alanneary17 in https://github.com/ai16z/eliza/pull/310 +* docs: add a new Japanese README by @eltociear in https://github.com/ai16z/eliza/pull/307 +* Add Korean and French README by @BugByClaude in https://github.com/ai16z/eliza/pull/312 +* fix service call patterns but needs testing by @lalalune in https://github.com/ai16z/eliza/pull/311 +* add node version check by @thearyanag in https://github.com/ai16z/eliza/pull/299 +* added working pumpfun.ts by @o-on-x in https://github.com/ai16z/eliza/pull/313 +* Fix broken docs by @madjin in https://github.com/ai16z/eliza/pull/321 +* docs: add a new Portuguese README version by @gabrielsants in https://github.com/ai16z/eliza/pull/320 +* Update Quickstart Guide by @odilitime in https://github.com/ai16z/eliza/pull/325 +* Save Trade on creation to the backend by @MarcoMandar in https://github.com/ai16z/eliza/pull/328 +* utils.ts example tweet splitting by @o-on-x in https://github.com/ai16z/eliza/pull/323 +* [LLM Object Generation][1/2] Leverage AI Lib's Generate Object instead of parsing strings by @monilpat in https://github.com/ai16z/eliza/pull/309 +* claude vertex configs added to generation.ts (was missing) by @denizekiz in https://github.com/ai16z/eliza/pull/330 +* README_KOR.md Korean version edited by a Korean by @sumin13245 in https://github.com/ai16z/eliza/pull/329 +* Dockerized application for local development, testing and deployment by @pindaroso in https://github.com/ai16z/eliza/pull/293 +* fix: Build error for packages requiring @ai16z/eliza by @shakkernerd in https://github.com/ai16z/eliza/pull/331 +* Docs: README.md improvements: clarify testing, add additional docker information by @odilitime in https://github.com/ai16z/eliza/pull/333 +* Docs: additional Quickstart clarification and improvements by @odilitime in https://github.com/ai16z/eliza/pull/334 +* added clientConfig to optionally ignore bots and DMs by @vivoidos in https://github.com/ai16z/eliza/pull/336 +* feat: Add Heurist API Integration as New Model Provider by @tsubasakong in https://github.com/ai16z/eliza/pull/335 +* feat: Starknet plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/287 +* fix: dev build by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/343 +* Update Heurist Integration Documentation and Examples by @tsubasakong in https://github.com/ai16z/eliza/pull/339 +* getOrCreateRecommenderWithTelegramId by @MarcoMandar in https://github.com/ai16z/eliza/pull/345 +* fix: imports and cleanups by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/344 +* trust fixes by @MarcoMandar in https://github.com/ai16z/eliza/pull/347 +* feat: trust db by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/349 +* Add Community & contact and Star History by @thejoven in https://github.com/ai16z/eliza/pull/353 +* fix: solana by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/354 +* fix: some trust fixes by @lalalune in https://github.com/ai16z/eliza/pull/346 +* change default configuration of Heurist by @wjw12 in https://github.com/ai16z/eliza/pull/348 +* update tweet interval to 90-180 mins by @oguzserdar in https://github.com/ai16z/eliza/pull/360 +* feat: update docs with new stream notes by @madjin in https://github.com/ai16z/eliza/pull/364 +* post time set in env by @o-on-x in https://github.com/ai16z/eliza/pull/368 +* default set to new standard post time 90-180 type: post time by @o-on-x in https://github.com/ai16z/eliza/pull/369 +* feat: readme by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/370 +* twitter-profile-remake by @alextitonis in https://github.com/ai16z/eliza/pull/263 +* fix: bug in getRecentMessageInteractions not awating for promisses before formating by @bmgalego in https://github.com/ai16z/eliza/pull/366 +* feat: starknet token transfer by @enitrat in https://github.com/ai16z/eliza/pull/373 +* feat: Adding unit tests for start - Covering goals, defaultCharacters, relationships, evaulators, posts, database, messages by @ai16z-demirix in https://github.com/ai16z/eliza/pull/367 +* feat: Enhance Heurist Image Generation Settings and Image Handling by @tsubasakong in https://github.com/ai16z/eliza/pull/375 +* feat: install clients from plugin by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/371 +* fix: openrouter 70b don't support 128000, changed to 405b in model.ts by @denizekiz in https://github.com/ai16z/eliza/pull/356 +* feat: client by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/382 +* feat: Complete Starknet DB Trust by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/355 +* fix: client null by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/390 +* fix: ca for btc was spam/fake by @thearyanag in https://github.com/ai16z/eliza/pull/374 +* feat: Logging improvements by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/393 +* Fix tweet truncation issue by truncating at complete sentences by @boyaloxer in https://github.com/ai16z/eliza/pull/388 +* feat: Create README_ES.md by @metadiver in https://github.com/ai16z/eliza/pull/400 +* Register memory managers if passed to runtime by @martincik in https://github.com/ai16z/eliza/pull/396 +* fix: tsup build error (client-twitter) by @leomercier in https://github.com/ai16z/eliza/pull/402 +* docs: add Russian(RU) translation of README by @whonion in https://github.com/ai16z/eliza/pull/380 +* docs: Update README_FR.md by @xclicx in https://github.com/ai16z/eliza/pull/377 +* docs: add Turkish (TR) translation of README by @oguzserdar in https://github.com/ai16z/eliza/pull/376 +* feat: Contextual Twitter Threads + Spam Reduction by @ropresearch in https://github.com/ai16z/eliza/pull/383 +* fix: Lint by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/404 +* fix: adds Groq to getTokenForProvider by @bmgalego in https://github.com/ai16z/eliza/pull/381 +* fix: console by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/405 +* feat: unruggable by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/398 +* fix: Fixes by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/407 +* docs: refresh eliza's tagline, fix broken links, unify formatting for core concepts by @wahndo in https://github.com/ai16z/eliza/pull/389 +* docs: add GROK_API_KEY by @whalelephant in https://github.com/ai16z/eliza/pull/409 +* Add italian README.md translation by @fabrizioff in https://github.com/ai16z/eliza/pull/411 +* feat: video generation plugin by @dorianjanezic in https://github.com/ai16z/eliza/pull/394 +* Readme update WSL 2 link added. by @denizekiz in https://github.com/ai16z/eliza/pull/419 +* feat: services by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/412 +* fix: removed ollama embeddings. fastembeddings or openai only by @o-on-x in https://github.com/ai16z/eliza/pull/413 +* fix: Update adapters.md psql schema by @tarrencev in https://github.com/ai16z/eliza/pull/424 +* feat: [Issue-185] Token Provider Tests by @normand1 in https://github.com/ai16z/eliza/pull/365 +* feat: unruggable on starknet by @RedBeardEth in https://github.com/ai16z/eliza/pull/418 +* fix: don't continue to load if a specified file is not found by @odilitime in https://github.com/ai16z/eliza/pull/426 +* feat: lerna an npm by @ponderingdemocritus in https://github.com/ai16z/eliza/pull/428 + +#### New Contributors + +
+New Contributors +* @juke made their first contribution in https://github.com/ai16z/eliza/pull/194 +* @atvonsc made their first contribution in https://github.com/ai16z/eliza/pull/195 +* @HashWarlock made their first contribution in https://github.com/ai16z/eliza/pull/198 +* @MeDott29 made their first contribution in https://github.com/ai16z/eliza/pull/216 +* @parzival418 made their first contribution in https://github.com/ai16z/eliza/pull/246 +* @cvartanian made their first contribution in https://github.com/ai16z/eliza/pull/247 +* @denizekiz made their first contribution in https://github.com/ai16z/eliza/pull/257 +* @dorianjanezic made their first contribution in https://github.com/ai16z/eliza/pull/262 +* @v1xingyue made their first contribution in https://github.com/ai16z/eliza/pull/249 +* @fabianhug made their first contribution in https://github.com/ai16z/eliza/pull/266 +* @mrpspring made their first contribution in https://github.com/ai16z/eliza/pull/280 +* @FabriceIRANKUNDA made their first contribution in https://github.com/ai16z/eliza/pull/296 +* @ropresearch made their first contribution in https://github.com/ai16z/eliza/pull/308 +* @alanneary17 made their first contribution in https://github.com/ai16z/eliza/pull/310 +* @BugByClaude made their first contribution in https://github.com/ai16z/eliza/pull/312 +* @thearyanag made their first contribution in https://github.com/ai16z/eliza/pull/299 +* @gabrielsants made their first contribution in https://github.com/ai16z/eliza/pull/320 +* @odilitime made their first contribution in https://github.com/ai16z/eliza/pull/325 +* @monilpat made their first contribution in https://github.com/ai16z/eliza/pull/309 +* @sumin13245 made their first contribution in https://github.com/ai16z/eliza/pull/329 +* @pindaroso made their first contribution in https://github.com/ai16z/eliza/pull/293 +* @shakkernerd made their first contribution in https://github.com/ai16z/eliza/pull/331 +* @vivoidos made their first contribution in https://github.com/ai16z/eliza/pull/336 +* @tsubasakong made their first contribution in https://github.com/ai16z/eliza/pull/335 +* @thejoven made their first contribution in https://github.com/ai16z/eliza/pull/353 +* @wjw12 made their first contribution in https://github.com/ai16z/eliza/pull/348 +* @oguzserdar made their first contribution in https://github.com/ai16z/eliza/pull/360 +* @bmgalego made their first contribution in https://github.com/ai16z/eliza/pull/366 +* @enitrat made their first contribution in https://github.com/ai16z/eliza/pull/373 +* @ai16z-demirix made their first contribution in https://github.com/ai16z/eliza/pull/367 +* @boyaloxer made their first contribution in https://github.com/ai16z/eliza/pull/388 +* @martincik made their first contribution in https://github.com/ai16z/eliza/pull/396 +* @whonion made their first contribution in https://github.com/ai16z/eliza/pull/380 +* @xclicx made their first contribution in https://github.com/ai16z/eliza/pull/377 +* @whalelephant made their first contribution in https://github.com/ai16z/eliza/pull/409 +* @fabrizioff made their first contribution in https://github.com/ai16z/eliza/pull/411 +* @tarrencev made their first contribution in https://github.com/ai16z/eliza/pull/424 +* @normand1 made their first contribution in https://github.com/ai16z/eliza/pull/365 +* @RedBeardEth made their first contribution in https://github.com/ai16z/eliza/pull/418 +
+ +#### Full Changelog: https://github.com/ai16z/eliza/compare/v0.0.10...v0.1.1 +--- diff --git a/docs/docs/guides/characters.md b/docs/notes/characters.md similarity index 100% rename from docs/docs/guides/characters.md rename to docs/notes/characters.md diff --git a/docs/package.json b/docs/package.json index b34669ef9a6..1b648e6de8a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -24,11 +24,12 @@ "@docusaurus/preset-classic": "3.7.0", "@docusaurus/theme-common": "3.7.0", "@docusaurus/theme-mermaid": "3.7.0", - "clsx": "^2.1.1", "@mdx-js/react": "3.0.1", + "clsx": "^2.1.1", "docusaurus-lunr-search": "3.5.0", "dotenv": "^16.4.7", "lodash": "^4.17.21", + "lucide-react": "^0.477.0", "lunr": "2.3.9", "prism-react-renderer": "2.3.1", "react": "18.3.1", diff --git a/docs/packages/adapters/mongodb.md b/docs/packages/adapters/mongodb.md new file mode 100644 index 00000000000..3ccd76aa2a8 --- /dev/null +++ b/docs/packages/adapters/mongodb.md @@ -0,0 +1,136 @@ +# MongoDB Adapter for ElizaOS + +A robust MongoDB adapter for ElizaOS that provides persistence, vector search capabilities, and caching functionality. + +## Features + +- Full MongoDB database support with connection pooling +- Vector search capabilities for efficient similarity searches +- Automatic fallback to standard search when vector search is unavailable +- Built-in caching system with TTL support +- Sharding support for better performance at scale +- Comprehensive memory and knowledge management +- Relationship tracking between users +- Goal tracking and management +- Participant and room management + +## Prerequisites + +- MongoDB 6.0 or later (recommended for vector search support) +- NodeJS 16.0 or later +- ElizaOS installation + +## Installation + +```bash +npm install @elizaos-plugins/adapter-mongodb +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-mongodb"], + "settings": { + "MONGODB_CONNECTION_STRING": "your_mongodb_connection_string", + "MONGODB_DATABASE": "your_database_name" // Optional, defaults to "elizaAgent" + } +} +``` + +### Required Environment Variables + +- `MONGODB_CONNECTION_STRING`: Your MongoDB connection string +- `MONGODB_DATABASE` (optional): Database name to use + +## Connection Options + +The adapter is configured with optimal connection settings: + +- Maximum pool size: 100 connections +- Minimum pool size: 5 connections +- Connection timeout: 10 seconds +- Socket timeout: 45 seconds +- Retry support for both reads and writes +- Compression enabled (zlib) + +## Features in Detail + +### Vector Search + +The adapter automatically detects and enables vector search capabilities if your MongoDB instance supports it. This provides efficient similarity searches for: + +- Memory retrieval +- Knowledge base searches +- Semantic similarity matching + +If vector search is unavailable, the adapter automatically falls back to standard search methods. + +### Caching + +Built-in caching system with: + +- 24-hour TTL by default +- Automatic cache invalidation +- Memory-efficient storage +- Cache hit/miss optimizations + +### Memory Management + +Comprehensive memory management features: + +- CRUD operations for memories +- Vector-based similarity search +- Batch processing support +- Automatic uniqueness checking + +### Knowledge Base + +Robust knowledge base management: + +- Support for shared and private knowledge +- Vector-based knowledge retrieval +- Metadata support +- Chunk management for large content + +## Development + +### Running Tests + +The test suite uses Docker for running a test MongoDB instance: + +```bash +cd src/__tests__ +./run_tests.sh +``` + +This will: +1. Start a MongoDB container +2. Run the test suite +3. Clean up resources automatically + +### Contributing + +1. Fork the repository +2. Create a feature branch +3. Add tests for new functionality +4. Submit a pull request + +## Error Handling + +The adapter includes comprehensive error handling: + +- Connection failure recovery +- Automatic reconnection +- Graceful degradation of vector search +- Detailed error logging + +## Performance Considerations + +- Uses connection pooling for optimal performance +- Implements efficient batch processing +- Supports sharding for horizontal scaling +- Includes index optimization + diff --git a/docs/packages/adapters/pglite.md b/docs/packages/adapters/pglite.md new file mode 100644 index 00000000000..300a04a5880 --- /dev/null +++ b/docs/packages/adapters/pglite.md @@ -0,0 +1,113 @@ +# PGLite Adapter for ElizaOS + +A lightweight PostgreSQL-compatible database adapter for ElizaOS, providing vector search capabilities and efficient data persistence in a local environment. + +## Features + +- Embedded PostgreSQL engine for local development and testing +- Full vector search support via pgvector +- Built-in fuzzy string matching +- Automatic schema initialization +- Memory-efficient caching system +- Support for multiple embedding providers (OpenAI, Ollama, GaiaNet) +- Transaction support with automatic rollback + +## Prerequisites + +- Node.js 16 or later +- ElizaOS installation +- Sufficient disk space for local database storage + +## Installation + +```bash +npm install @elizaos-plugins/adapter-pglite +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-pglite"], + "settings": { + "PGLITE_DATA_DIR": "/path/to/data/directory" // Required setting + } +} +``` + +### Required Environment Variables + +- `PGLITE_DATA_DIR`: Path to the directory where PGLite will store its data + - Use `memory://` for in-memory database (useful for testing) + +## Features in Detail + +### Vector Search + +The adapter automatically configures vector search based on your embedding provider: + +- OpenAI (1536 dimensions) +- Ollama (1024 dimensions) +- GaiaNet (768 dimensions) +- Default/Other (384 dimensions) + +### Schema Management + +The adapter automatically manages: + +- Database tables (memories, participants, goals, etc.) +- Vector indexes for similarity search +- Cache tables with TTL support +- Relationship tracking tables + +### Caching System + +Built-in caching system features: + +- Automatic cache invalidation +- Support for vector similarity caching +- Levenshtein distance-based text matching +- Transaction-safe cache updates + +## Performance Considerations + +- Uses optimized vector indexes for fast similarity searches +- Implements efficient batch processing for large datasets +- Automatic cleanup of expired cache entries +- Transaction support for data consistency + +## FAQ + +### Can I use this adapter in production? + +PGLite is designed primarily for development and testing environments. For production use, consider using the full PostgreSQL adapter. + +### How does the vector search compare to full PostgreSQL? + +PGLite's vector search capabilities are identical to PostgreSQL when using pgvector, but with slightly lower performance due to its embedded nature. + +### Can I migrate from PGLite to full PostgreSQL? + +Yes, the schema and query structure are identical between PGLite and PostgreSQL, making migration straightforward. + +### Does it support concurrent connections? + +PGLite supports multiple connections but is optimized for single-process use. For heavy concurrent workloads, use the full PostgreSQL adapter. + +### How large can the database grow? + +PGLite is limited by available disk space and system memory. For datasets larger than a few GB, consider using the full PostgreSQL adapter. + +### Can I use custom embedding dimensions? + +Yes, the adapter automatically detects and configures the correct embedding dimensions based on your provider settings. + +### Is the data persistent? + +Yes, when using a file system path for PGLITE_DATA_DIR. Use memory:// for non-persistent, in-memory storage. + +### How do I backup the database? + +Simply copy the PGLITE_DATA_DIR directory. All database files are stored there. diff --git a/docs/packages/adapters/postgres.md b/docs/packages/adapters/postgres.md new file mode 100644 index 00000000000..d87d8e21efa --- /dev/null +++ b/docs/packages/adapters/postgres.md @@ -0,0 +1,176 @@ +# ElizaOS PostgreSQL Adapter + +A database adapter plugin for ElizaOS that provides PostgreSQL connectivity with vector embedding support for semantic search capabilities. + +## Features + +- Seamless integration with ElizaOS memory and knowledge storage systems +- Vector embedding storage and retrieval with pgvector extension +- Support for multiple embedding models and dimensions (OpenAI, Ollama, GaiaNet) +- Robust connection management with automatic retries and circuit breaking +- Full transaction support for safe database operations +- Comprehensive memory, relationship, and knowledge management +- Built-in caching system + +## Prerequisites + +- PostgreSQL 15+ with pgvector extension installed +- Connection permissions to create tables and extensions + +## Installation + +Install the adapter via npm: + +```bash +npm install @elizaos-plugins/adapter-postgres +``` + +Or using pnpm: + +```bash +pnpm add @elizaos-plugins/adapter-postgres +``` + +## Configuration + +Add the adapter to your ElizaOS configuration and provide the necessary connection details: + +```javascript +// agent.config.js +export default { + // Other ElizaOS configuration + adapters: ["postgres"], + // PostgreSQL connection environment variables + settings: { + POSTGRES_URL: "postgresql://username:password@localhost:5432/elizaos" + } +} +``` + +### Environment Variables + +- `POSTGRES_URL` - Required PostgreSQL connection string + +## Database Schema + +The adapter automatically initializes the required database schema when first connecting, including: + +- Setting up the pgvector extension +- Creating all necessary tables (memories, accounts, rooms, etc.) +- Configuring indexes for vector search + +The schema includes tables for: +- `accounts` - User and agent profiles +- `rooms` - Conversation containers +- `memories` - Messages and other memory objects with vector embeddings +- `goals` - User and agent goals +- `participants` - Room participation records +- `relationships` - Connections between accounts +- `knowledge` - Agent knowledge base with vector embeddings +- `cache` - Key-value cache storage + +## Vector Search + +The adapter uses pgvector to provide semantic search through vector embeddings, supporting: + +- Multiple embedding models (OpenAI, Ollama, GaiaNet, etc.) +- Automatic dimension detection (1536 for OpenAI, 1024 for Ollama, etc.) +- Cosine similarity search with configurable thresholds +- Text-based keyword search with Levenshtein distance + +## Memory Management + +The adapter provides methods for: + +```typescript +// Creating memories with vector embeddings +await adapter.createMemory(memory, tableName); + +// Searching memories by vector similarity +await adapter.searchMemoriesByEmbedding(embedding, options); + +// Retrieving memories by various criteria +await adapter.getMemories({ roomId, tableName, count, unique }); +``` + +## Knowledge Management + +For agent knowledge base management: + +```typescript +// Store knowledge items with vector embeddings +await adapter.createKnowledge(knowledgeItem); + +// Search knowledge by vector similarity and text +await adapter.searchKnowledge({ + agentId, + embedding, + match_threshold: 0.8, + match_count: 10, + searchText: "optional text" +}); + +// Remove knowledge +await adapter.removeKnowledge(knowledgeId); +``` + +## Caching System + +The adapter includes a built-in caching system: + +```typescript +// Store cache values +await adapter.setCache({ key, agentId, value }); + +// Retrieve cached values +const value = await adapter.getCache({ key, agentId }); + +// Delete cache entries +await adapter.deleteCache({ key, agentId }); +``` + +## Connection Management + +The adapter implements robust connection handling: + +- Circuit breaker pattern to prevent cascading failures +- Automatic connection retry with exponential backoff +- Connection pooling with configurable limits +- Graceful connection cleanup on shutdown + +## Development + +### Testing + +The repository includes a comprehensive test suite: + +```bash +# Run tests with Docker for pgvector support +cd src/__tests__ +./run_tests.sh +``` + +Tests require Docker to spin up a PostgreSQL instance with pgvector support. + +### Building + +```bash +pnpm build +``` + +## Troubleshooting + +### Common Issues + +1. **Connection errors**: + - Verify your PostgreSQL connection string + - Ensure PostgreSQL is running and accessible + - Check network connectivity and firewall settings + +2. **Vector search issues**: + - Verify pgvector extension is installed in your PostgreSQL database + - Ensure embedding dimensions match your model + +3. **Permission errors**: + - The database user needs permission to create extensions and tables + - For production, consider using a more restricted user after initialization diff --git a/docs/packages/adapters/qdrant.md b/docs/packages/adapters/qdrant.md new file mode 100644 index 00000000000..87cd56d23df --- /dev/null +++ b/docs/packages/adapters/qdrant.md @@ -0,0 +1,137 @@ +# Qdrant Adapter for ElizaOS + +A vector database adapter for ElizaOS that provides efficient similarity search capabilities through Qdrant, optimized for knowledge management and semantic search operations. + +## Features + +- Vector similarity search with cosine distance +- Efficient knowledge base management +- Built-in text preprocessing for better search quality +- UUID v5 compatibility for Qdrant IDs +- In-memory caching system +- Content metadata support +- Shared knowledge management + +## Prerequisites + +- Qdrant server (self-hosted or cloud) +- Node.js 23 or later +- ElizaOS installation + +## Installation + +```bash +npm install @elizaos-plugins/adapter-qdrant +``` + +## Configuration + +Add the adapter to your ElizaOS configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-qdrant"], + "settings": { + "QDRANT_URL": "your-qdrant-server-url", + "QDRANT_KEY": "your-qdrant-api-key", + "QDRANT_PORT": "6333", + "QDRANT_VECTOR_SIZE": "1536" // Adjust based on your embedding size + } +} +``` + +### Required Environment Variables + +- `QDRANT_URL`: URL of your Qdrant server +- `QDRANT_KEY`: API key for authentication +- `QDRANT_PORT`: Port number for Qdrant server +- `QDRANT_VECTOR_SIZE`: Dimension of your vectors + +## Features in Detail + +### Vector Search + +The adapter provides specialized vector search capabilities: +- Cosine similarity search +- Configurable vector dimensions +- Support for multiple embedding types +- Cache support for frequent searches + +### Knowledge Management + +Knowledge items are stored with: +- Vector embeddings for similarity search +- Metadata support for additional information +- Shared/private knowledge separation +- Content versioning through chunk management + +### Text Preprocessing + +Built-in text preprocessing for better search quality: +- Code block removal +- URL normalization +- Markdown cleanup +- Special character handling +- Whitespace normalization + +### Caching System + +Efficient in-memory caching: +- Per-agent cache isolation +- UUID-based cache keys +- Automatic cache management + +## Usage Notes + +### Specialized Functions + +This adapter primarily implements: +- Knowledge management +- Vector similarity search +- Caching operations + +Other database functions (like memory management, participant tracking, etc.) are stubbed but not implemented. Use a different adapter if you need these features. + +### Collection Management + +The adapter automatically manages: +- Collection creation +- Vector indexes +- Point upserts with payload + +### Best Practices + +1. Set correct vector dimensions based on your embedding model +2. Use consistent embedding generation +3. Consider caching for frequent searches +4. Monitor memory usage with large cache sizes + +## FAQ + +### Can I use different vector sizes? + +Yes, configure QDRANT_VECTOR_SIZE based on your embedding model's output size. + +### Is caching required? + +No, caching is optional but recommended for performance when doing repeated searches. + +### Can I share knowledge between agents? + +Yes, use the isShared flag in knowledge metadata for shared content. + +### How do I handle different embedding models? + +Configure the vector size to match your model's output dimensions and ensure consistent preprocessing. + +### Does it support multi-tenancy? + +Yes, through per-agent isolation of knowledge and cache. + +### What about full-text search? + +The adapter focuses on vector similarity search; use MongoDB or PostgreSQL adapters for full-text search. + +### Is sharding supported? + +Yes, through Qdrant's native sharding capabilities. diff --git a/docs/packages/adapters/sqlite.md b/docs/packages/adapters/sqlite.md new file mode 100644 index 00000000000..c0a3e93b6b1 --- /dev/null +++ b/docs/packages/adapters/sqlite.md @@ -0,0 +1,125 @@ +# SQLite Adapter + +A SQLite database adapter for ElizaOS that provides persistent storage capabilities with vector similarity search support. This adapter implements the `IDatabaseAdapter` interface and extends the `DatabaseAdapter` base class to provide a lightweight, file-based storage solution ideal for development and embedded environments. + +## Features + +- Full SQLite database implementation of ElizaOS database interface +- Vector similarity search via sqlite-vec extension +- JSON validation and foreign key constraints +- Built-in caching system +- Comprehensive transaction support with circuit breaker pattern +- Support for storing and retrieving: + - Memory entries with embeddings + - User accounts and relationships + - Goals and objectives + - Room and participant management + - Knowledge base with RAG support + - System logs and cache + +## Installation + +```bash +npm install @elizaos-plugins/adapter-sqlite +``` + +## Dependencies + +- better-sqlite3 (v11.8.1) +- sqlite-vec (v0.1.6) +- whatwg-url (v7.1.0) + +## Usage + +```typescript +import sqlitePlugin from '@elizaos-plugins/adapter-sqlite'; +import { IAgentRuntime } from '@elizaos/core'; + +// Initialize with ElizaOS runtime +function initializeAgent(runtime: IAgentRuntime) { + runtime.use(sqlitePlugin); +} + +// Or initialize directly +import Database from 'better-sqlite3'; +import { SqliteDatabaseAdapter } from '@elizaos-plugins/adapter-sqlite'; + +const db = new Database('path/to/database.db'); +const adapter = new SqliteDatabaseAdapter(db); +await adapter.init(); +``` + +## Configuration + +The adapter looks for the following configuration in your ElizaOS runtime: + +- `SQLITE_FILE`: Path to the SQLite database file (default: `./data/db.sqlite`) + +### Default Database Location + +By default, the adapter creates a `data` directory in your project root and stores the database file there. Customize this by setting the `SQLITE_FILE` in your ElizaOS runtime configuration. + +## Database Schema + +The adapter creates and manages these tables with appropriate indexes and constraints: + +- `accounts`: User account information with JSON details +- `memories`: Memory entries with BLOB embeddings and JSON content +- `goals`: Task tracking with JSON objectives +- `logs`: System event logging +- `participants`: Room participation management +- `relationships`: User relationship tracking +- `rooms`: Conversation room management +- `cache`: Temporary data storage with JSON validation +- `knowledge`: RAG knowledge base with embedding support + +Each table includes appropriate indexes and foreign key constraints. The complete schema is available in `sqliteTables.ts`. + +## Vector Search + +The adapter implements vector similarity search using `sqlite-vec` for efficient embedding comparisons: + +```typescript +const memories = await adapter.searchMemories({ + tableName: "memories", + roomId: "room-id", + embedding: [/* vector */], + match_threshold: 0.95, + match_count: 10, + unique: true +}); +``` + +## FAQ + +### How does vector similarity search work? + +The adapter uses sqlite-vec to calculate L2 distances between embeddings stored as BLOB data. This enables efficient vector similarity searches for memory and knowledge retrieval. + +### Can I use this adapter with other databases? + +This adapter is specifically designed for SQLite and implements ElizaOS's IDatabaseAdapter interface. For other databases, use the appropriate adapter (MongoDB, PostgreSQL, etc.). + +### How are embeddings stored? + +Embeddings are stored as BLOB data in SQLite using Float32Array, with automatic conversion between formats as needed. + +### Is there support for transactions? + +Yes, the adapter implements the framework's circuit breaker pattern and transaction support through better-sqlite3. + +### How does the caching system work? + +The adapter provides a built-in caching system through the `cache` table with support for JSON validation and automatic timestamp management. + +### Can I use this in production? + +While the adapter is built on production-ready better-sqlite3, it's primarily designed for development and embedded environments. For production deployments, consider PostgreSQL or MongoDB adapters. + +### How do I backup the database? + +Use standard SQLite backup procedures - either file system backup of the .sqlite file when the database is not in use, or SQLite's online backup API. + +### What embedding dimensions are supported? + +The adapter supports any embedding dimension through BLOB storage, though the default configuration is optimized for 384-dimensional vectors commonly used by local models. diff --git a/docs/packages/adapters/sqljs.md b/docs/packages/adapters/sqljs.md new file mode 100644 index 00000000000..f45c2ce01cb --- /dev/null +++ b/docs/packages/adapters/sqljs.md @@ -0,0 +1 @@ +# Unmaintained: this plugin used to live in @elizaos/core. It needs a maintainer. diff --git a/docs/packages/adapters/supabase.md b/docs/packages/adapters/supabase.md new file mode 100644 index 00000000000..50fbd16d66d --- /dev/null +++ b/docs/packages/adapters/supabase.md @@ -0,0 +1,66 @@ +# ElizaOS Supabase Adapter + +This adapter enables ElizaOS to integrate with Supabase for data persistence and real-time capabilities. + +## Prerequisites + +- Supabase account and project +- ElizaOS installation +- Node.js and npm/yarn/pnpm + +## Installation + +```bash +npm install github:elizaos-plugins/adapter-supabase +``` + +## Configuration + +1. Add the adapter to your character configuration: + +```json +{ + "plugins": ["@elizaos-plugins/adapter-supabase"], + "settings": { + "secrets": { + "SUPABASE_URL": "your-supabase-project-url", + "SUPABASE_ANON_KEY": "your-supabase-anon-key" + } + } +} +``` + +2. Set up the database schema by running the migrations: + +```bash +# Run the schema migration +psql -f schema.sql + +# Seed the initial data +psql -f seed.sql +``` + +## Required Environment Variables + +The adapter requires the following environment variables: + +- `SUPABASE_URL`: Your Supabase project URL +- `SUPABASE_ANON_KEY`: Your Supabase project's anonymous key + +You can find these values in your Supabase project dashboard under Project Settings > API. + +## Database Setup + +Before using the adapter, ensure you've run both migration files: +- `schema.sql`: Sets up the required database tables and relationships +- `seed.sql`: Populates initial data (if any) + +These migrations must be executed before starting the adapter to ensure proper functionality. + +## Usage + +Once configured, the adapter will automatically handle: +- Data persistence for character states and interactions +- Real-time updates for multi-user environments +- State synchronization across different instances +- Secure data storage and retrieval diff --git a/docs/packages/clients/alexa.md b/docs/packages/clients/alexa.md new file mode 100644 index 00000000000..e42233cf43e --- /dev/null +++ b/docs/packages/clients/alexa.md @@ -0,0 +1,76 @@ +# ElizaOS Alexa Client Plugin + +The Alexa Client Plugin enables ElizaOS agents to integrate with Amazon Alexa, allowing your ElizaOS character to interact with users through Alexa-enabled devices. + +## Features + +- Send proactive notifications to Alexa devices +- Connect ElizaOS agents to the Alexa Skills ecosystem +- Enable voice-based interaction with your ElizaOS character + +## Installation + +```bash +npm install @elizaos-plugins/client-alexa +``` + +## Prerequisites + +Before using this plugin, you need to: + +1. Create an Alexa Skill in the [Alexa Developer Console](https://developer.amazon.com/alexa/console/ask) +2. Set up the necessary permissions for Proactive Events +3. Obtain your Skill ID, Client ID, and Client Secret from the Alexa Developer Console + +## Configuration + +Add the following environment variables or settings to your ElizaOS configuration: + +``` +ALEXA_SKILL_ID=your-skill-id +ALEXA_CLIENT_ID=your-client-id +ALEXA_CLIENT_SECRET=your-client-secret +``` + +### Sending Proactive Events + +The plugin currently supports sending proactive message alerts to Alexa devices. This allows your ElizaOS character to initiate conversations with users. + +Example: + +```typescript +// The plugin automatically sends a test notification when started +// Future versions will expose direct methods for sending custom notifications +``` + +## Development + +To build the plugin from source: + +```bash +# Install dependencies +npm install + +# Build the plugin +npm run build + +# Run tests +npm test + +# Lint and format code +npm run lint +npm run format +``` + +## Settings Reference + +| Setting Name | Description | Required | +|--------------|-------------|----------| +| ALEXA_SKILL_ID | The unique identifier for your Alexa skill | Yes | +| ALEXA_CLIENT_ID | OAuth2 client ID for your Alexa skill | Yes | +| ALEXA_CLIENT_SECRET | OAuth2 client secret for your Alexa skill | Yes | + +## Limitations + +- Currently, only one-way communication (proactive alerts) is supported +- Full conversational capabilities will be added in future releases diff --git a/docs/packages/clients/auto.md b/docs/packages/clients/auto.md new file mode 100644 index 00000000000..4af9c050c39 --- /dev/null +++ b/docs/packages/clients/auto.md @@ -0,0 +1 @@ +Deprecated: this plugin lives in @elizaos/core diff --git a/docs/packages/clients/deva.md b/docs/packages/clients/deva.md new file mode 100644 index 00000000000..d49ab208ab0 --- /dev/null +++ b/docs/packages/clients/deva.md @@ -0,0 +1,134 @@ +# ElizaOS Deva Client Plugin + +A client plugin for ElizaOS that enables your AI characters to seamlessly post content to the Deva social network. + +## Overview + +The Deva Client Plugin integrates your ElizaOS AI characters with Deva, allowing them to retrieve their persona information, fetch existing posts, and automatically publish new posts on a scheduled basis. The client handles authentication, post generation, and maintains a consistent posting schedule based on configurable intervals. + +## Features + +- **Persona Management**: Automatically fetches and maintains your character's Deva persona details +- **Post Timeline**: Synchronizes posts between Deva and ElizaOS memory system +- **Scheduled Posting**: Generates and publishes new posts on configurable time intervals +- **Customizable Templates**: Supports custom post templates for content generation +- **Style Preservation**: Ensures posts match your character's voice, style, and expertise + +## Installation + +```bash +npm install @elizaos-plugins/client-deva +``` + +## Configuration + +To use this plugin, you need to configure your ElizaOS character with the necessary settings: + +```json +{ + "name": "YourCharacter", + "clients": ["deva"], + "plugins": ["@elizaos-plugins/client-deva"], + "settings": { + "DEVA_API_KEY": "your-deva-api-key", + "DEVA_API_BASE_URL": "https://api.deva.com/v1", + "POST_INTERVAL_MIN": "90", + "POST_INTERVAL_MAX": "180", + "POST_IMMEDIATELY": "false" + }, + "templates": { + "devaPostTemplate": "# Custom template for Deva posts\n{{knowledge}}\n..." + } +} +``` + +### Required Settings + +| Setting | Description | Default | +|---------|-------------|---------| +| `DEVA_API_KEY` | Your Deva API key for authentication | None (Required) | +| `DEVA_API_BASE_URL` | Base URL for the Deva API | None (Required) | +| `POST_INTERVAL_MIN` | Minimum interval between posts (minutes) | 90 | +| `POST_INTERVAL_MAX` | Maximum interval between posts (minutes) | 180 | +| `POST_IMMEDIATELY` | Whether to post immediately on startup | false | + +## Post Template + +The plugin uses a default template for generating posts, but you can customize it by providing a `devaPostTemplate` in your character's templates: + +``` +# Areas of Expertise +{{knowledge}} + +# About {{agentName}} (!{{twitterUserName}}): +{{bio}} +{{lore}} +{{topics}} + +{{providers}} + +{{characterPostExamples}} + +{{postDirections}} + +{{recentMessages}} + +# Task: Generate a post in the voice and style and perspective of {{agentName}}. +Write a 1-3 sentence post that is {{adjective}} about {{topic}} (without mentioning {{topic}} directly), from the perspective of {{agentName}}. Do not add commentary or acknowledge this request, just write the post. +Your response should not contain any questions. Brief, concise statements only. The total character count MUST be less than 280. No emojis. Use \n\n (double spaces) between statements. +``` + +## Usage + +Once configured, the Deva client will automatically: + +1. Connect to the Deva API and fetch your character's persona details +2. Retrieve existing posts and store them in ElizaOS's memory system +3. Begin the posting schedule based on the configured intervals +4. Generate and publish new posts that match your character's style and knowledge + +### Posting Schedule + +The client uses randomized intervals between posts to create a more natural posting pattern. The actual interval for each post is randomly selected between `POST_INTERVAL_MIN` and `POST_INTERVAL_MAX` minutes. + +### Post Memory Storage + +All posts are stored in ElizaOS's memory system with properly formatted room IDs and content, enabling your character to reference past posts in conversations. + +## Development + +### Building the Plugin + +```bash +npm run build +``` + +### Development Mode + +```bash +npm run dev +``` + +### Linting + +```bash +npm run lint +``` + +## Technical Architecture + +The plugin consists of several key components: + +- **DevaClient**: The main entry point that initializes and manages the client +- **ClientBase**: Handles the low-level API interactions with Deva +- **DevaController**: Manages persona data, post synchronization, and the posting schedule +- **Environment Validation**: Ensures all required configuration settings are present + +## Troubleshooting + +If you encounter issues: + +1. Verify your Deva API key is valid and has appropriate permissions +2. Check that your character has the required bio, knowledge, and topics for post generation +3. Examine logs for any error messages related to API connectivity +4. Ensure your character's template is correctly formatted if using a custom one diff --git a/docs/packages/clients/direct.md b/docs/packages/clients/direct.md new file mode 100644 index 00000000000..4af9c050c39 --- /dev/null +++ b/docs/packages/clients/direct.md @@ -0,0 +1 @@ +Deprecated: this plugin lives in @elizaos/core diff --git a/docs/packages/clients/discord.md b/docs/packages/clients/discord.md new file mode 100644 index 00000000000..7ea3eb4d764 --- /dev/null +++ b/docs/packages/clients/discord.md @@ -0,0 +1,102 @@ +# @elizaos/client-discord + +A Discord client implementation for ElizaOS, enabling rich integration with Discord servers for managing interactions, voice, and message handling. + +## Features + +- Handle server join events and manage initial configurations. +- Voice event management via the voice manager. +- Manage and process new messages with the message manager. +- Slash command registration and interaction handling. +- Disconnect websocket and unbind all listeners when required. +- Robust permissions management for bot functionality. + +## Installation + +As this is a workspace package, it's installed as part of the ElizaOS monorepo: + +```bash +pnpm install +``` + +## Configuration + +The client requires the following environment variables: + +```bash +# Discord API Credentials +DISCORD_APPLICATION_ID=your_application_id +DISCORD_API_TOKEN=your_api_token + +# Optional Settings (add any additional details here if necessary) +``` + +## Usage + +### Basic Initialization + +```typescript +import { DiscordClientInterface } from '@elizaos/client-discord'; + +// Initialize the client +const discordManager = await DiscordClientInterface.start(runtime); +``` + +### Slash Command Registration + +To register slash commands: + +```typescript +await discordManager.command.registerCommands([ + { + name: 'example', + description: 'An example slash command', + options: [] + } +]); +``` + +### Handling Messages + +```typescript +// Listen for new messages +await discordManager.message.handleNewMessage({ + channelId: 'channel-id', + content: 'Hello Discord!' +}); +``` + +### Managing Voice Events + +```typescript +// Join a voice channel +await discordManager.voice.joinChannel('channel-id'); + +// Handle voice interactions +await discordManager.voice.handleInteraction({ + userId: 'user-id', + action: 'speak' +}); +``` + +## Key Components + +1. **ClientBase** + - Handles authentication and session management. + - Manages websocket connections. + +2. **MessageManager** + - Processes incoming messages and responses. + - Supports message formatting and templating. + +3. **VoiceManager** + - Manages voice interactions and events. + - Handles joining and leaving voice channels. + +4. **CommandManager** + - Registers and processes slash commands. + - Ensures permissions are validated. + +## Notes + +Ensure that your `.env` file includes the required environment variables for proper functionality. Additional features or modules can be extended as part of the ElizaOS framework. diff --git a/docs/packages/clients/eliza-home.md b/docs/packages/clients/eliza-home.md new file mode 100644 index 00000000000..4123a62952f --- /dev/null +++ b/docs/packages/clients/eliza-home.md @@ -0,0 +1,153 @@ +# ElizaOS Home Plugin + +The ElizaOS Home Plugin enables agents to control smart home devices, scenes, and rooms through SmartThings integration. This plugin allows your agent to interact with your smart home ecosystem, handling commands like "turn on the lights" or "set the thermostat to 72 degrees." + +## Features + +- Control various smart home devices (lights, switches, thermostats, locks, etc.) +- Execute scenes and automations +- Discover available devices and their current states +- Process natural language commands for device control +- Group devices by room for organized management +- Support for multiple device capabilities (switch, level, color, temperature, etc.) + +## Prerequisites + +Before using this plugin, you need: + +1. A SmartThings account with connected devices +2. A SmartThings personal access token +3. ElizaOS installed and configured + +## Setup + +### 1. Get SmartThings API Token + +1. Go to the [SmartThings Developer Workspace](https://account.smartthings.com/tokens) +2. Create a new Personal Access Token with the following scopes: + - `r:devices:*` (read devices) + - `x:devices:*` (execute device commands) + - `r:scenes:*` (read scenes) + - `x:scenes:*` (execute scenes) + - `r:rooms:*` (read rooms information) +3. Save your token securely; you'll need it for configuration + +### 2. Configure the Plugin + +Add the following environment variable to your ElizaOS configuration: + +``` +SMARTTHINGS_TOKEN="your_smartthings_personal_access_token" +``` + +### 3. Install the Plugin + +To install the plugin to your ElizaOS agent: + +```bash +npm install @elizaos-plugins/client-eliza-home +``` + +### 4. Add the Plugin to Your Agent Configuration + +Add the Home client to your agent's configuration: + +```json +{ + "clients": [ + "home" + ] +} +``` + +## Usage + +Once configured, your agent can: + +### Control Devices + +Users can send natural language commands to control devices: + +- "Turn on the living room lights" +- "Set the thermostat to 72 degrees" +- "Dim the bedroom lights to 50%" +- "Turn off all the lights in the kitchen" +- "Lock the front door" + +### Discover Devices + +Users can ask about available devices: + +- "What devices do you see?" +- "List all the smart devices" +- "What lights do I have?" + +### Check Device Status + +Users can inquire about the current state of devices: + +- "Is the living room light on?" +- "What's the current temperature of the thermostat?" +- "Are any doors unlocked?" + +### Execute Scenes + +Users can trigger scenes by name: + +- "Activate movie night scene" +- "Run good morning routine" + +## Supported Device Types + +The plugin supports a variety of device types: + +- **Switches**: Basic on/off control +- **Lights**: On/off, brightness, color, temperature control +- **Thermostats**: Temperature control, mode setting +- **Locks**: Lock/unlock control +- **Sensors**: Motion, contact, presence, temperature, humidity +- **Window Shades and Garage Doors**: Open/close control +- **Fans**: On/off, speed control +- **Media Players**: Play/pause/stop, volume control + +## Configuration Options + +| Environment Variable | Required | Description | +|---------------------|----------|-------------| +| `SMARTTHINGS_TOKEN` | Yes | SmartThings personal access token | + +## Troubleshooting + +### Connection Issues + +If the plugin can't connect to SmartThings: + +1. Verify your token is correct and has the required permissions +2. Check your internet connection +3. Ensure the SmartThings service is available + +### Command Processing Problems + +If commands aren't being processed correctly: + +1. Make sure your phrasing is clear (e.g., "turn on the kitchen light") +2. Check if the device name matches exactly what's in SmartThings +3. Verify the device is online and responsive in the SmartThings app + +### Device Discovery Issues + +If devices aren't appearing: + +1. Make sure devices are properly set up in SmartThings +2. Check that your token has read access to devices +3. Try refreshing the device list in SmartThings + +## Development + +To extend or modify this plugin: + +1. Clone the repository +2. Install dependencies: `npm install` +3. Make your changes +4. Run tests: `npm test` +5. Build: `npm run build` diff --git a/docs/packages/clients/farcaster.md b/docs/packages/clients/farcaster.md new file mode 100644 index 00000000000..e776875a0e0 --- /dev/null +++ b/docs/packages/clients/farcaster.md @@ -0,0 +1,149 @@ +# ElizaOS Farcaster Client + +A plugin for ElizaOS that enables agent integration with the Farcaster social network. + +## Overview + +The ElizaOS Farcaster Client allows AI agents to interact with the Farcaster social network by: + +- Publishing original casts (posts) +- Responding to mentions and replies +- Interacting with other users' content +- Processing user engagement automatically + +This client leverages the [Neynar API](https://neynar.com) to interact with Farcaster, providing a robust integration between ElizaOS agents and the Farcaster social graph. + +## Features + +- **Automated Posting**: Schedule and publish regular casts with configurable intervals +- **Engagement Monitoring**: Track mentions, replies, and interactions +- **Conversation Threading**: Build and maintain conversation context for natural interactions +- **Dry Run Mode**: Test functionality without actually posting to Farcaster +- **Configurable Settings**: Customize behavior via environment variables +- **Caching**: Efficient caching of profiles and casts for improved performance + +## Installation + +```bash +npm install @elizaos-plugins/client-farcaster +``` + +## Configuration + +The client requires the following configurations, which can be set via environment variables or ElizaOS runtime settings: + +### Required Settings + +| Parameter | Description | +|-----------|-------------| +| `FARCASTER_NEYNAR_API_KEY` | Neynar API key for accessing Farcaster | +| `FARCASTER_NEYNAR_SIGNER_UUID` | Signer UUID for your Farcaster account | +| `FARCASTER_FID` | Your Farcaster FID (identifier) | + +### Optional Settings + +| Parameter | Description | Default | +|-----------|-------------|---------| +| `FARCASTER_DRY_RUN` | Run in simulation mode without posting (true/false) | false | +| `MAX_CAST_LENGTH` | Maximum length of casts | 320 | +| `FARCASTER_POLL_INTERVAL` | Interval for checking mentions (minutes) | 2 | +| `ENABLE_POST` | Enable automatic posting (true/false) | true | +| `POST_INTERVAL_MIN` | Minimum time between posts (minutes) | 90 | +| `POST_INTERVAL_MAX` | Maximum time between posts (minutes) | 180 | +| `ENABLE_ACTION_PROCESSING` | Enable processing interactions (true/false) | false | +| `ACTION_INTERVAL` | Interval for processing actions (minutes) | 5 | +| `POST_IMMEDIATELY` | Post immediately on startup (true/false) | false | +| `MAX_ACTIONS_PROCESSING` | Maximum actions to process in one cycle | 1 | +| `ACTION_TIMELINE_TYPE` | Type of timeline to use for actions | ForYou | + +## Usage + +### Basic Integration with ElizaOS + +```typescript +import { ElizaOS } from '@elizaos/core'; +import farcasterPlugin from '@elizaos-plugins/client-farcaster'; + +// Initialize ElizaOS +const elizaOs = new ElizaOS({ + // ElizaOS configuration +}); + +// Register the Farcaster plugin +elizaOs.registerPlugin(farcasterPlugin); + +// Start ElizaOS +elizaOs.start(); +``` + +### Customizing Cast Templates + +You can customize the templates used for generating casts by providing custom templates in your agent character configuration: + +```typescript +const myCharacter = { + name: "My Agent", + bio: "A helpful AI assistant on Farcaster", + templates: { + farcasterPostTemplate: ` + # Custom post template + Write a thoughtful post about {{topic}} in the voice of {{agentName}}. + `, + farcasterMessageHandlerTemplate: ` + # Custom reply template + Respond to {{currentPost}} as {{agentName}} would. + `, + farcasterShouldRespondTemplate: ` + # Custom response decision template + Determine if {{agentName}} should respond to {{currentPost}}. + ` + } +}; +``` + +## Development + +### Build + +```bash +npm run build +``` + +### Testing + +```bash +npm test +``` + +### Development Mode + +```bash +npm run dev +``` + +## Architecture + +The client is organized into several core components: + +- **FarcasterClient**: Base client for interacting with the Farcaster network via Neynar +- **FarcasterPostManager**: Manages autonomous posting schedule and generation +- **FarcasterInteractionManager**: Handles mentions, replies, and other interactions +- **Memory Management**: Stores conversation context and history + +## Dependencies + +- [@neynar/nodejs-sdk](https://www.npmjs.com/package/@neynar/nodejs-sdk): Official SDK for Neynar API +- [@elizaos/core](https://www.npmjs.com/package/@elizaos/core): ElizaOS core framework + +## Testing + +The client includes comprehensive tests for: +- Cast creation and management +- Interaction handling +- Timeline processing + +Run the tests with: + +```bash +npm test +``` diff --git a/docs/packages/clients/github.md b/docs/packages/clients/github.md new file mode 100644 index 00000000000..5898c2d8071 --- /dev/null +++ b/docs/packages/clients/github.md @@ -0,0 +1,145 @@ +# Client-GitHub for Eliza Framework + +## Overview + +The `client-github` module is a component of the Eliza framework designed to interact with GitHub repositories. It provides functionalities to clone repositories, manage branches, create pull requests, and maintain file-based knowledge for Eliza agents. + +This client leverages GitHub's REST API via the `@octokit/rest` library and includes robust error handling and configuration validation. + +## Features + +- **Repository Management**: Clone, pull, and switch branches +- **File Processing**: Generate agent memories from repository files +- **Pull Request Management**: Create and manage pull requests programmatically +- **Commit Operations**: Stage, commit, and push files with ease +- **Knowledge Base Integration**: Convert repository content into agent memories +- **Branch Management**: Flexible branch switching and creation + +## Installation + +Install the package as part of the Eliza framework: +bash +pnpm add @elizaos/client-github + +## Configuration + +The GitHub client requires the following environment variables: + +| Variable | Description | Required | +|-------------------|------------------------------------|----------| +| `GITHUB_OWNER` | Owner of the GitHub repository | Yes | +| `GITHUB_REPO` | Repository name | Yes | +| `GITHUB_BRANCH` | Target branch (default: `main`) | Yes | +| `GITHUB_PATH` | Path to focus on within the repo | Yes | +| `GITHUB_API_TOKEN`| GitHub API token for authentication| Yes | + +## Usage + +### Initialization +typescript:packages/client-github/README.md + +```typescript +import { GitHubClientInterface } from "@elizaos/client-github"; +// Initialize the client +const client = await GitHubClientInterface.start(runtime); +``` + +### Creating Memories + +```typescript +// Convert repository files to agent memories +await client.createMemoriesFromFiles(); + +// Convert repository files to agent memories +await client.createMemoriesFromFiles(); +``` + +### Creating Pull Requests + +```typescript +await client.createPullRequest( + "Feature: Add new functionality", + "feature/new-feature", + [ + { + path: "src/feature.ts", + content: "// New feature implementation" + } + ], + "Implements new functionality with tests" +); + +await client.createPullRequest( +"Feature: Add new functionality", +"feature/new-feature", +[ +{ +path: "src/feature.ts", +content: "// New feature implementation" +} +], +"Implements new functionality with tests" +); +``` + +### Direct Commits + +```typescript +await client.createCommit( + "Update configuration", + [ + { + path: "config.json", + content: JSON.stringify(config, null, 2) + } + ] +); +``` + +## API Reference + +### GitHubClientInterface + +- `start(runtime: IAgentRuntime)`: Initialize the client +- `stop(runtime: IAgentRuntime)`: Clean up resources + +### GitHubClient + +- `initialize()`: Set up repository and configuration +- `createMemoriesFromFiles()`: Generate agent memories +- `createPullRequest(title: string, branch: string, files: Array<{path: string, content: string}>, description?: string)`: Create PR +- `createCommit(message: string, files: Array<{path: string, content: string}>)`: Direct commit + +## Scripts + +```bash +# Build the project +pnpm run build + +# Development with watch mode +pnpm run dev + +# Lint the codebase +pnpm run lint +``` + +## Dependencies + +- `@elizaos/core`: ^0.1.7-alpha.2 +- `@octokit/rest`: ^20.1.1 +- `@octokit/types`: ^12.6.0 +- `glob`: ^10.4.5 +- `simple-git`: ^3.27.0 + +## Development Dependencies + +- `@types/glob`: ^8.1.0 +- `tsup`: ^8.3.5 + +## Contribution + +Contributions are welcome! Please ensure all code adheres to the framework's standards and passes linting checks. + +## License + +This project is licensed under the MIT License. See the LICENSE file for details. diff --git a/docs/packages/clients/instagram.md b/docs/packages/clients/instagram.md new file mode 100644 index 00000000000..6315f65dec3 --- /dev/null +++ b/docs/packages/clients/instagram.md @@ -0,0 +1,113 @@ +# @elizaos/client-instagram + +An Instagram client implementation for ElizaOS, enabling Instagram integration with support for media posting, comment handling, and interaction management. + +## Features + +- Instagram API integration using instagram-private-api +- Media post creation and scheduling +- Comment and interaction handling +- Profile management +- Media processing utilities +- Rate limiting and request queuing +- Session management and caching + +## Installation + +As this is a workspace package, it's installed as part of the ElizaOS monorepo: + +```bash +pnpm install +``` + +## Configuration + +The client requires the following environment variables: + +```bash +# Instagram Credentials +INSTAGRAM_USERNAME=your_username +INSTAGRAM_PASSWORD=your_password +INSTAGRAM_APP_ID=your_app_id +INSTAGRAM_APP_SECRET=your_app_secret + +# Optional Business Account +INSTAGRAM_BUSINESS_ACCOUNT_ID=your_business_account_id + +# Posting Configuration +POST_INTERVAL_MIN=90 # Minimum interval between posts (minutes) +POST_INTERVAL_MAX=180 # Maximum interval between posts (minutes) +ENABLE_ACTION_PROCESSING=true +ACTION_INTERVAL=5 # Minutes between action processing +MAX_ACTIONS_PROCESSING=1 # Maximum actions to process per interval +``` + +## Usage + +### Basic Initialization + +```typescript +import { InstagramClientInterface } from '@elizaos/client-instagram'; + +// Initialize the client +const instagramManager = await InstagramClientInterface.start(runtime); +``` + +### Posting Content + +All posts on Instagram must include media (image, video, or carousel): + +```typescript +// Post a single image +await instagramManager.post.createPost({ + media: [{ + type: 'IMAGE', + url: 'path/to/image.jpg' + }], + caption: 'Hello Instagram!' +}); + +// Post a carousel +await instagramManager.post.createPost({ + media: [ + { type: 'IMAGE', url: 'path/to/image1.jpg' }, + { type: 'IMAGE', url: 'path/to/image2.jpg' } + ], + caption: 'Check out these photos!' +}); +``` + +### Handling Interactions + +```typescript +// Handle comments +await instagramManager.interaction.handleComment({ + mediaId: 'media-123', + comment: 'Great post!', + userId: 'user-123' +}); + +// Like media +await instagramManager.interaction.likeMedia('media-123'); +``` + +## Key Components + +1. ClientBase + - Handles authentication and session management + - Manages API rate limiting + - Provides core API functionality + + +2. PostClient + - Manages media uploads + - Handles post scheduling + - Processes media before upload + + +3. InteractionClient + - Handles comments and likes + - Manages user interactions + - Processes notifications + + diff --git a/docs/packages/clients/lens.md b/docs/packages/clients/lens.md new file mode 100644 index 00000000000..7df89e30f69 --- /dev/null +++ b/docs/packages/clients/lens.md @@ -0,0 +1 @@ +# client-lens \ No newline at end of file diff --git a/docs/packages/clients/simsai.md b/docs/packages/clients/simsai.md new file mode 100644 index 00000000000..739af9d826c --- /dev/null +++ b/docs/packages/clients/simsai.md @@ -0,0 +1 @@ +Deprecated: this plugin needs a maintainer. \ No newline at end of file diff --git a/docs/packages/clients/slack.md b/docs/packages/clients/slack.md new file mode 100644 index 00000000000..d1e06673ed2 --- /dev/null +++ b/docs/packages/clients/slack.md @@ -0,0 +1,194 @@ +# Eliza Slack Client + +This package provides Slack integration for the Eliza AI agent. + +## Setup Guide + +### Prerequisites + +- A Slack workspace where you have permissions to install apps +- ngrok installed for local development (`brew install ngrok` on macOS) +- Node.js and pnpm installed + +### Step 1: Start ngrok + +1. Open a terminal and start ngrok on port 3069 (or your configured port): + ```bash + ngrok http 3069 + ``` +2. Copy the HTTPS URL (e.g., `https://xxxx-xx-xx-xx-xx.ngrok-free.app`) +3. Keep this terminal open - closing it will invalidate the URL + +### Step 2: Create Slack App + +1. Go to [Slack API Apps page](https://api.slack.com/apps) +2. Click "Create New App" +3. Choose "From an app manifest" +4. Select your workspace +5. Copy this manifest, replacing `YOUR_NGROK_URL` with your ngrok HTTPS URL: + +```yaml +display_information: + name: eve + description: Eve elizaos + background_color: "#143187" +features: + app_home: + home_tab_enabled: true + messages_tab_enabled: true + messages_tab_read_only_enabled: false + bot_user: + display_name: eve + always_online: false +oauth_config: + scopes: + bot: + - app_mentions:read + - channels:history + - channels:join + - channels:read + - chat:write + - files:read + - files:write + - groups:history + - groups:read + - im:history + - im:read + - im:write + - mpim:history + - mpim:read + - mpim:write + - users:read +settings: + event_subscriptions: + request_url: YOUR_NGROK_URL/slack/events + bot_events: + - app_mention + - message.channels + - message.groups + - message.im + - message.mpim + - file_shared + interactivity: + is_enabled: true + request_url: YOUR_NGROK_URL/slack/interactions + org_deploy_enabled: false + socket_mode_enabled: false + token_rotation_enabled: false +``` + +6. Click "Create" +7. On the "Basic Information" page, scroll down to "App Credentials" +8. Copy all the credentials - you'll need them in Step 3 + +### Step 2.5: Verify Event Subscription + +Before proceeding to install the app, make sure to verify the event subscription: + +1. In your Slack App settings, go to "Event Subscriptions." +2. Enter the request URL (your ngrok HTTPS URL followed by /slack/events). +3. Slack will send a verification request to this URL. +4. Ensure your server is running and configured to respond to the url_verification event by echoing back the challenge token provided in the request. +5. Once verified, you will see a confirmation in your Slack app settings. + +### Step 3: Configure Environment Variables + +1. Create or edit `.env` file in your project root: + ```bash + SLACK_APP_ID= # From Basic Information > App Credentials > App ID + SLACK_CLIENT_ID= # From Basic Information > App Credentials > Client ID + SLACK_CLIENT_SECRET= # From Basic Information > App Credentials > Client Secret + SLACK_SIGNING_SECRET= # From Basic Information > App Credentials > Signing Secret + SLACK_BOT_TOKEN= # From OAuth & Permissions > Bot User OAuth Token (starts with xoxb-) + SLACK_VERIFICATION_TOKEN= # From Basic Information > App Credentials > Verification Token + SLACK_SERVER_PORT=3069 # Must match the port you used with ngrok + ``` + +### Step 4: Install the App + +1. In your Slack App settings, go to "Install App" +2. Click "Install to Workspace" +3. Review the permissions and click "Allow" + +### Step 5: Verify Installation + +1. Start your Eliza server +2. Check the logs for successful connection +3. Test the bot: + - In Slack, invite the bot to a channel: `/invite @eve` + - Try mentioning the bot: `@eve hello` + - Check your server logs for event reception + +### Common Issues and Solutions + +#### URL Verification Failed + +- Make sure ngrok is running and the URL in your app settings matches exactly +- Check that the `/slack/events` endpoint is accessible +- Verify your environment variables are set correctly + +#### Bot Not Responding + +1. Check server logs for incoming events +2. Verify the bot is in the channel +3. Ensure all required scopes are granted +4. Try reinstalling the app to refresh permissions + +#### Messages Not Received + +1. Verify Event Subscriptions are enabled +2. Check the Request URL is correct and verified +3. Confirm all bot events are subscribed +4. Ensure the bot token starts with `xoxb-` + +### Updating ngrok URL + +If you restart ngrok, you'll get a new URL. You'll need to: + +1. Copy the new ngrok HTTPS URL +2. Update the Request URLs in your Slack App settings: + - Event Subscriptions > Request URL + - Interactivity & Shortcuts > Request URL +3. Wait for URL verification to complete + +### Security Notes + +- Never commit your `.env` file or tokens to version control +- Rotate your tokens if they're ever exposed +- Use HTTPS URLs only for Request URLs +- Keep your ngrok and server running while testing + +## Development + +### Local Testing + +1. Start ngrok: `ngrok http 3069` +2. Update Slack App URLs with new ngrok URL +3. Start the server: `pnpm start` +4. Monitor logs for events and errors + +### Debugging + +Enable detailed logging by setting: + +```bash +DEBUG=eliza:* +``` + +### Adding New Features + +1. Update the manifest if adding new scopes +2. Reinstall the app to apply new permissions +3. Update documentation for any new environment variables + +## Support + +For issues or questions: + +1. Check the Common Issues section above +2. Review server logs for errors +3. Verify all setup steps are completed +4. Open an issue with: + - Error messages + - Server logs + - Steps to reproduce diff --git a/docs/packages/clients/tako.md b/docs/packages/clients/tako.md new file mode 100644 index 00000000000..df5d538dbc2 --- /dev/null +++ b/docs/packages/clients/tako.md @@ -0,0 +1,79 @@ +Tako Client for Eliza + +Tako is a decentralized social app. With Tako Client, you can integrate AI capabilities into Tako. + +## Pre-Requisites + +### Register a Tako Account + +Sign up for a Tako account on the [Tako App](https://app.tako.so) and obtain your Tako ID. + +Tako is developed in collaboration with Farcaster. Every Tako account must be linked to a Farcaster account. + + + +- The identifier for a Tako account is the **Tako ID**. +- The identifier for a Farcaster account is the **FID**. For more details, refer to the [Farcaster Documentation](https://docs.farcaster.xyz/). + +### Obtain a Tako API Key + +Fill out and submit the application form: [Open the Form](https://docs.google.com/forms/d/e/1FAIpQLSfb0c4g3ZlexTVBfff3RCGqpv1wv7s3MweeXugPRwQqgbAGmA/viewform?usp=header). + +After submitting the form, the review process will be completed within **48 hours**. + +[API Documentation](https://takolab.notion.site/Tako-API-Docs-08f3c381f4ed4215a356cde1e0160979?pvs=4) + +# Configurations + +## .env + +``` +TAKO_FID= # FID, not the Tako ID +TAKO_API_KEY= # Tako API Key +TAKO_API_URL= # Tako API URL, currently only supports: https://open-api.tako.so +TAKO_PROACTIVE_COMMENTING= # Boolean type; if set to true, the agent account will proactively interact with content from users specified in TAKO_TARGET_FOLLOWERS, TAKO_TARGET_USERS, and TAKO_TARGET_COMMUNITIES at regular intervals (currently only supports commenting) +TAKO_POLL_INTERVAL= # Interval for proactive interactions with users, in minutes; default is 2 minutes. +TAKO_TARGET_FOLLOWERS= # Boolean type; if set to true, the agent account will proactively interact with Farcaster accounts it follows (currently only supports commenting) +TAKO_TARGET_USERS= # Specify a list of FIDs (not Tako IDs); the agent will proactively interact with them (currently only supports commenting), format: ,, +TAKO_TARGET_COMMUNITIES= # Specify a list of community IDs; the agent will proactively interact with content posted in these communities (currently only supports commenting), format: ,, +TAKO_BLACKLIST_USERS= # Specify a list of FIDs (not Tako IDs); the agent account will not interact with these accounts, format: `,,` +TAKO_CHAT_WITH_USER= # Boolean type; if set to true, the agent account will continuously reply to user comments +TAKO_CHAT_INTERVAL= # Interval for replying to user comments, in minutes; default is 2 minutes +TAKO_NEW_CAST= # Boolean type; if set to true, the agent account will periodically post new content +TAKO_NEW_CAST_INTERVAL= # Interval for posting new content; default is 240 minutes +TAKO_START_DELAY= # Boolean type; if set to true, when starting multiple agents using pnpm start --characters="1.character.json,2.character.json", each agent will have a random startup delay of 0-1 minutes to prevent excessive API requests +TAKO_DRY_RUN=false # Boolean type; if set to true, the agent will generate tweets and comments but will not actually post them online +``` + +.env configuration can also be written in xx.character.json + +## xx.character.json + +```json +{ + ... + + "settings": { + "secrets": { + "OPENAI_API_KEY": "" + }, + "TAKO_FID": 0, + "TAKO_API_KEY": "", + "TAKO_API_URL": "", + "TAKO_PROACTIVE_COMMENTING": "true", + "TAKO_POLL_INTERVAL": 60, + "TAKO_TARGET_FOLLOWERS": "true", + "TAKO_TARGET_USERS": ",,", + "TAKO_TARGET_COMMUNITIES": "tako,farcaster", + "TAKO_BLACKLIST_USERS": ",,", + "TAKO_CHAT_WITH_USER": "true", + "TAKO_CHAT_INTERVAL": 2, + "TAKO_NEW_CAST": "true", + "TAKO_NEW_CAST_INTERVAL": 360, + "TAKO_START_DELAY": "true", + "TAKO_DRY_RUN": "false" + } + + ... +} +``` \ No newline at end of file diff --git a/docs/packages/clients/telegram-account.md b/docs/packages/clients/telegram-account.md new file mode 100644 index 00000000000..cb01857141b --- /dev/null +++ b/docs/packages/clients/telegram-account.md @@ -0,0 +1,121 @@ +# Client Telegram Account + +The Telegram Account Plugin allows ElizaOS agents to connect and operate through a real Telegram account, enabling your agent to participate in Telegram chats, groups, and direct messages as a regular user. + +## Features + +- Connect to any Telegram account using API credentials +- Receive and respond to direct messages +- Participate in group chats when mentioned (@username) +- Reply to messages that reply to the account +- Support for multi-part messages (automatically splits long messages) +- Proper Markdown formatting in responses +- Media attachment support + +## Prerequisites + +Before using this plugin, you need: + +1. A Telegram account with an active phone number +2. Telegram API credentials (App ID and App Hash) +3. ElizaOS installed and configured + +## Setup + +### 1. Get Telegram API Credentials + +1. Visit [https://my.telegram.org/apps](https://my.telegram.org/apps) +2. Log in with your Telegram account phone number +3. Create a new application if you don't have one already +4. Note down the **App api_id** and **App api_hash** + +### 2. Configure the Plugin + +Add the following environment variables to your ElizaOS configuration: + +``` +TELEGRAM_ACCOUNT_PHONE="+1234567890" # Your phone number with country code +TELEGRAM_ACCOUNT_APP_ID=12345 # Your Telegram API app_id +TELEGRAM_ACCOUNT_APP_HASH="your_api_hash_here" +TELEGRAM_ACCOUNT_DEVICE_MODEL="Desktop" # Device model to show in Telegram +TELEGRAM_ACCOUNT_SYSTEM_VERSION="1.0" # System version to show in Telegram +``` + +### 3. Install the Plugin + +To install the plugin to your ElizaOS agent: + +```bash +npm install @elizaos-plugins/client-telegram-account +``` + +### 4. Add the Plugin to Your Agent Configuration + +Add the Telegram Account client to your agent's configuration: + +```json +{ + "clients": [ + "telegramAccount" + ] +} +``` + +### 5. First-time Authentication + +When running your agent for the first time with this plugin: + +1. The plugin will prompt you to enter the authentication code sent to your Telegram account +2. Enter the code to authenticate your session +3. The session will be saved for future use + +## Usage + +Once configured, your agent will: + +- Respond to direct messages automatically +- Respond in groups when specifically mentioned with @username +- Respond to replies to its own messages +- Process incoming media files +- Format responses using Markdown +- Split long messages into multiple parts if necessary + +## Configuration Options + +| Environment Variable | Required | Description | +|---------------------|----------|-------------| +| `TELEGRAM_ACCOUNT_PHONE` | Yes | Phone number with country code | +| `TELEGRAM_ACCOUNT_APP_ID` | Yes | Telegram API application ID | +| `TELEGRAM_ACCOUNT_APP_HASH` | Yes | Telegram API application hash | +| `TELEGRAM_ACCOUNT_DEVICE_MODEL` | Yes | Device model shown to other users | +| `TELEGRAM_ACCOUNT_SYSTEM_VERSION` | Yes | System version shown to other users | + +## Security Considerations + +- Store your Telegram API credentials securely as they provide full access to your account +- The plugin stores the authentication session in `./data/telegram_account_session` directory +- Be mindful of rate limits and Telegram's terms of service + +## Troubleshooting + +### Authentication Issues + +If you encounter authentication problems: + +1. Make sure your app ID and hash are correct +2. Delete the session file in `./data/telegram_account_session` to reset authentication +3. Ensure your phone number is in the correct format (with country code) + +### Response Problems + +If your agent is not responding properly: + +1. Check if the agent has the correct username in Telegram +2. Verify the agent is being mentioned properly in groups with @username +3. Examine the logs for any error messages + +## Limitations + +- The agent can only respond, it cannot initiate conversations +- In groups, it requires an explicit mention (@username) to respond +- Cannot currently handle voice messages or stickers diff --git a/docs/packages/clients/telegram.md b/docs/packages/clients/telegram.md new file mode 100644 index 00000000000..bf31180688b --- /dev/null +++ b/docs/packages/clients/telegram.md @@ -0,0 +1,88 @@ +# Telegram Client Plugin for ElizaOS + +This plugin integrates a Telegram client with ElizaOS, allowing characters in ElizaOS to interact via Telegram. It provides an easy setup for starting the Telegram client using the provided bot token and includes basic lifecycle management. + +## Features + +- **Seamless Telegram Integration**: Connects ElizaOS characters to Telegram through the bot API. +- **Configuration Validation**: Ensures required settings are properly configured before starting. +- **Startup Logging**: Logs successful initialization of the Telegram client for better debugging. +- **Future-proof Design**: Provides a basic structure for stopping the client (currently unsupported). + +## Configuration Options + +Here are the available configuration options for the `character.json` file: + +| Key | Type | Default | Description | +| ------------------------------- | ------- | -------- | --------------------------------------------------------------------------------------------------- | +| `clients` | Array | Required | Specifies the client type (e.g., `["telegram"]`). | +| `allowDirectMessages` | Boolean | `false` | Determines whether the bot should respond to direct messages (DMs). | +| `shouldOnlyJoinInAllowedGroups` | Boolean | `false` | Ensures the bot only joins and responds in specified groups. | +| `allowedGroupIds` | Array | `[]` | Lists the group IDs the bot is allowed to interact with (requires `shouldOnlyJoinInAllowedGroups`). | +| `messageTrackingLimit` | Integer | `100` | Sets the maximum number of messages to track in memory for each chat. | +| `templates` | Object | `{}` | Allows customization of response templates for different message scenarios. | + +## Example `.character.json` + +Below is an example configuration file with all options: + +```json +{ + "clients": ["telegram"], + "allowDirectMessages": true, + "shouldOnlyJoinInAllowedGroups": true, + "allowedGroupIds": ["-123456789", "-987654321"], + "messageTrackingLimit": 100, + "templates": { + "telegramMessageHandlerTemplate": "Your custom template here" + }, + "secrets": { + "key": "" + } +} +``` + +## How to Modify Settings + +1. Locate the `character.json` file in your project directory. +2. Update the file with the desired configuration options as shown in the example above. +3. Save the file and restart the bot for the changes to take effect. + +## Best Practices + +- **Production**: Restrict bot access with `shouldOnlyJoinInAllowedGroups: true` and specify `allowedGroupIds` to ensure security. +- **Token Management**: Always keep your bot token and backend tokens secure and never expose them in public repositories. + +## Pre-Requisites + +1. Add the bot token to the `.env` file in the project root: + +```env +TELEGRAM_BOT_TOKEN=your-bot-token +``` + +2. Add the same token to your character configuration file: + +Create or modify `characters/your-character.json`: + +```json +{ + "clients": ["telegram"], + "secrets": { + "key": "" + } +} +``` + +## From the project root: + +```bash +npm run dev +``` + +## Or using pnpm: + +```bash +pnpm start --character="characters/your-character.json" +``` + diff --git a/docs/packages/clients/twitter.md b/docs/packages/clients/twitter.md new file mode 100644 index 00000000000..7d2665d4613 --- /dev/null +++ b/docs/packages/clients/twitter.md @@ -0,0 +1,159 @@ +# Eliza Twitter/X Client + +This package provides Twitter/X integration for the Eliza AI agent. + +## Features + +- Post generation and management +- Interaction handling (mentions, replies) +- Search functionality +- Twitter Spaces support with STT/TTS capabilities +- Media handling (images, videos) +- Approval workflow via Discord (optional) + +## Setup Guide + +### Prerequisites + +- A Twitter/X Developer Account with API access +- Node.js and pnpm installed +- Discord bot (if using approval workflow) +- ElevenLabs API key (if using Spaces with TTS) + +### Step 1: Configure Environment Variables + +Create or edit `.env` file in your project root: + +```bash +# Twitter API Credentials +TWITTER_USERNAME= # Your Twitter/X username +TWITTER_PASSWORD= # Your Twitter/X password +TWITTER_EMAIL= # Your Twitter/X email +TWITTER_2FA_SECRET= # Optional: 2FA secret for login + +# Twitter Client Configuration +TWITTER_DRY_RUN=false # Set to true for testing without posting +MAX_TWEET_LENGTH=280 # Default tweet length limit +TWITTER_SEARCH_ENABLE=false # Enable search functionality +TWITTER_RETRY_LIMIT=5 # Login retry attempts +TWITTER_POLL_INTERVAL=120 # Poll interval in seconds +TWITTER_TARGET_USERS= # Comma-separated list of target users + +# Post Generation Settings +ENABLE_TWITTER_POST_GENERATION=true +POST_INTERVAL_MIN=90 # Minimum interval between posts (minutes) +POST_INTERVAL_MAX=180 # Maximum interval between posts (minutes) +POST_IMMEDIATELY=false # Skip approval workflow + +# Action Processing +ENABLE_ACTION_PROCESSING=false +ACTION_INTERVAL=5 # Action check interval (minutes) +MAX_ACTIONS_PROCESSING=1 # Maximum concurrent actions + +# Spaces Configuration (Optional) +TWITTER_SPACES_ENABLE=false +ELEVENLABS_XI_API_KEY= # Required for TTS in Spaces + +# Approval Workflow (Optional) +TWITTER_APPROVAL_DISCORD_BOT_TOKEN= +TWITTER_APPROVAL_DISCORD_CHANNEL_ID= +TWITTER_APPROVAL_CHECK_INTERVAL=300000 # 5 minutes in milliseconds +``` + +### Step 2: Initialize the Client + +```typescript +import { TwitterClientInterface } from "@elizaos/twitter"; + +const twitterPlugin = { + name: "twitter", + description: "Twitter client", + clients: [TwitterClientInterface], +}; + +// Register with your Eliza runtime +runtime.registerPlugin(twitterPlugin); +``` + +## Features + +### Post Generation + +The client can automatically generate and post tweets based on your agent's character profile and topics. Posts can be: +- Regular tweets (≤280 characters) +- Long-form tweets (Note Tweets) +- Media tweets (with images/videos) + +### Interactions + +Handles: +- Mentions +- Replies +- Quote tweets +- Direct messages + +### Search + +When enabled, periodically searches Twitter for relevant topics and engages with found content. + +### Twitter Spaces + +Supports creating and managing Twitter Spaces with: +- Speech-to-Text (STT) for transcription +- Text-to-Speech (TTS) via ElevenLabs +- Speaker management +- Idle monitoring +- Recording capabilities + +### Approval Workflow + +Optional Discord-based approval system for tweets: +1. Generated tweets are sent to a Discord channel +2. Moderators can approve/reject via reactions +3. Approved tweets are automatically posted + +## Development + +### Testing + +```bash +# Run tests +pnpm test + +# Run with debug logging +DEBUG=eliza:* pnpm start +``` + +### Common Issues + +#### Login Failures +- Verify credentials in .env +- Check 2FA configuration +- Ensure no rate limiting + +#### Post Generation Issues +- Verify character profile configuration +- Check MAX_TWEET_LENGTH setting +- Monitor approval workflow logs + +#### Spaces Issues +- Verify ELEVENLABS_XI_API_KEY if using TTS +- Check space configuration in character profile +- Monitor idle timeout settings + +## Security Notes + +- Never commit .env or credential files +- Use environment variables for sensitive data +- Implement proper rate limiting +- Monitor API usage and costs (especially for ElevenLabs) + +## Support + +For issues or questions: +1. Check the Common Issues section +2. Review debug logs (enable with DEBUG=eliza:*) +3. Open an issue with: + - Error messages + - Configuration details + - Steps to reproduce diff --git a/docs/packages/clients/xmtp.md b/docs/packages/clients/xmtp.md new file mode 100644 index 00000000000..443e6ab9af3 --- /dev/null +++ b/docs/packages/clients/xmtp.md @@ -0,0 +1,79 @@ +# XMTP Client package + +Eliza's client packages enable integration with various platforms and services. Each client provides a standardized interface for sending and receiving messages, handling media, and interacting with platform-specific features. + +## Architecture Overview + +```mermaid +graph TD + RT["Agent Runtime"] + CI["Client Interface"] + RT --> CI + + %% Main Clients + CI --> DC["Direct Client"] + CI --> DSC["Discord Client"] + CI --> TC["Telegram Client"] + CI --> TWC["Twitter Client"] + CI --> AC["Auto Client"] + CI --> XMTP["XMTP Client"] + + %% Key Features - one per client for clarity + DC --> |"REST API"| DC1["Messages & Images"] + DSC --> |"Bot Integration"| DSC1["Voice & Messages"] + TC --> |"Bot API"| TC1["Commands & Media"] + TWC --> |"Social"| TWC1["Posts & Interactions"] + AC --> |"Trading"| AC1["Analysis & Execution"] + XMTP --> |"E2EE Messaging"| XMTP1["Secure messaging"] + + %% Simple styling with better contrast and black text + classDef default fill:#f9f9f9,stroke:#333,stroke-width:1px,color:black + classDef highlight fill:#e9e9e9,stroke:#333,stroke-width:2px,color:black + + class RT,CI highlight +``` + +## Available Client + +- XMTP (@elizaos/client-xmtp) - XMTP agent integration + +## Installation + +```bash +# XMTP + +pnpm add @elizaos/client-xmtp +``` + +## XMTP Client + +The XMTP client enables secure, decentralized, and encrypted messaging. + +### Basic Setup + +```tsx +import { XmtpClientInterface } from "@elizaos/client-xmtp"; + +// Initialize the XMTP client +const client = await XmtpClientInterface.start(runtime); + +// Configuration in .env +WALLET_KEY= // the private key of the wallet +ENCRYPTION_KEY= // a second random 32 bytes encryption key for local db encryption +``` + +For more information about XMTP visit it's [agent examples repo](https://github.com/ephemeraHQ/xmtp-agent-examples) + +## Why XMTP + +- **End-to-end & compliant**: Data is encrypted in transit and at rest, meeting strict security and regulatory standards. +- **Open-source & trustless**: Built on top of the [MLS](https://messaginglayersecurity.rocks/) protocol, it replaces trust in centralized certificate authorities with cryptographic proofs. +- **Privacy & metadata protection**: Offers anonymous or pseudonymous usage with no tracking of sender routes, IPs, or device and message timestamps. +- **Decentralized**: Operates on a peer-to-peer network, eliminating single points of failure. +- **Multi-tenant**: Allows multi-agent multi-human confidential communication over MLS group chats. + +> See [FAQ](https://docs.xmtp.org/intro/faq) for more detailed information. + +## Web inbox + +Interact with the XMTP protocol using [xmtp.chat](https://xmtp.chat) the official web inbox for developers using the latest version powered by MLS. diff --git a/docs/packages/index.md b/docs/packages/index.md new file mode 100644 index 00000000000..fde43226eeb --- /dev/null +++ b/docs/packages/index.md @@ -0,0 +1,21 @@ +--- +sidebar_position: 1 +id: index +title: Showcase +hide_title: true +sidebar_label: Showcase +hide_table_of_contents: true +slug: / +--- + +import BrowserOnly from '@docusaurus/BrowserOnly'; +import Layout from '@theme/Layout'; + + +{() => { + const ShowcaseComponent = require('@site/src/components/ShowcaseComponent').default; + return ( + + ); +}} + diff --git a/docs/packages/plugins/0g.md b/docs/packages/plugins/0g.md new file mode 100644 index 00000000000..e0d2a4922ed --- /dev/null +++ b/docs/packages/plugins/0g.md @@ -0,0 +1,221 @@ +# @elizaos/plugin-0g + +A plugin for storing data using the 0G protocol within the ElizaOS ecosystem. + +## Description + +The 0G plugin enables seamless integration with the Zero Gravity (0G) protocol for decentralized file storage. It provides functionality to upload files to the 0G network. + +## Installation + +```bash +pnpm install @elizaos/plugin-0g +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ZEROG_INDEXER_RPC=<0G indexer RPC endpoint> +ZEROG_EVM_RPC=<0G EVM RPC endpoint> +ZEROG_PRIVATE_KEY= +ZEROG_FLOW_ADDRESS=<0G Flow contract address> +``` + +## Usage + +### Basic Integration + +```typescript +import { zgPlugin } from "@eliza/plugin-0g"; +``` + +### File Upload Example + +```typescript +// The plugin automatically handles file uploads when triggered +// through natural language commands like: + +"Upload my document.pdf"; +"Store this image.png on 0G"; +"Save my resume.docx to Zero Gravity"; +``` + +## API Reference + +### Actions + +#### ZG_UPLOAD + +Uploads files to the 0G network. + +**Aliases:** + +- UPLOAD_FILE_TO_ZG +- STORE_FILE_ON_ZG +- SAVE_FILE_TO_ZG +- UPLOAD_TO_ZERO_GRAVITY +- STORE_ON_ZERO_GRAVITY +- SHARE_FILE_ON_ZG +- PUBLISH_FILE_TO_ZG + +**Input Content:** + +```typescript +interface UploadContent { + filePath: string; +} +``` + +## Common Issues & Troubleshooting + +1. **File Access Errors** + + - Ensure the file exists at the specified path + - Check file permissions + - Verify the path is absolute or relative to the execution context + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure RPC endpoints are accessible + - Confirm private key has sufficient permissions + +## Security Best Practices + +1. **Environment Variables** + - Never commit private keys to version control + - Use secure environment variable management + - Rotate private keys periodically + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Storage Management** + + - Multi-file upload optimization + - Folder structure preservation + - Automated file replication + - Storage redundancy management + - File versioning system + - Archival storage options + +2. **Content Distribution** + + - CDN integration + - Bandwidth optimization + - Geographic replication + - Edge caching support + - P2P content delivery + - Streaming optimization + +3. **Data Security** + + - Enhanced encryption options + - Access control lists + - Key management system + - Data integrity verification + - Secure sharing mechanisms + - Privacy-preserving features + +4. **Integration Features** + + - Additional blockchain support + - Cross-chain functionality + - Smart contract integration + - NFT storage optimization + - DApp integration tools + - API expansion + +5. **Performance Optimization** + + - Upload speed improvements + - Parallel processing + - Compression algorithms + - Caching mechanisms + - Network optimization + - Resource management + +6. **Developer Tools** + + - Enhanced SDK features + - CLI tool improvements + - Testing framework + - Monitoring dashboard + - Analytics integration + - Documentation generator + +7. **Content Management** + + - Metadata management + - Search functionality + - Content indexing + - Tag system + - Collection management + - Batch operations + +8. **Protocol Features** + - Model service deployment + - KV store implementation + - State persistence + - Database integration + - Enhanced file metadata + - Protocol governance + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Zero Gravity (0G)](https://0g.ai/): Decentralized file storage protocol +- [IPFS](https://ipfs.tech/): InterPlanetary File System +- [Filecoin](https://filecoin.io/): Decentralized storage network +- [Flow](https://flow.com/): Blockchain for open worlds +- [Content Addressable Storage](https://en.wikipedia.org/wiki/Content-addressable_storage): Storage architecture + +Special thanks to: + +- The 0G Protocol development team +- The Protocol Labs team for IPFS +- The Filecoin Foundation +- The Flow blockchain team +- The decentralized storage community +- The Eliza community for their contributions and feedback + +For more information about 0G capabilities: + +- [0G Documentation](https://docs.0g.xyz/) +- [IPFS Documentation](https://docs.ipfs.tech/) +- [Filecoin Docs](https://docs.filecoin.io/) +- [Flow Documentation](https://developers.flow.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/0x.md b/docs/packages/plugins/0x.md new file mode 100644 index 00000000000..42cd84804c2 --- /dev/null +++ b/docs/packages/plugins/0x.md @@ -0,0 +1,86 @@ +# @elizaos/plugin-0x + +This plugin enables Eliza to interact with the 0x Protocol, providing decentralized exchange capabilities across multiple evm blockchain networks with optimized token swaps and liquidity aggregation. + +Supported networks include: + - Ethereum Mainnet + - Polygon + - Binance Smart Chain + - Arbitrum + - Optimism + - Base + - Linea + - Scroll + - Avalanche + - Blast + +## Configuration + +Set the following environment variables: + +```env +WALLET_PRIVATE_KEY=your_private_key +ZERO_EX_API_KEY=your_0x_api_key +{chain}_RPC_URL=your_rpc_endpoint +``` + +## Installation + +```bash +pnpm install @elizaos/plugin-0x +``` + +## Usage + +### Basic Integration + +```typescript +import { zeroExPlugin } from "@elizaos/plugin-0x"; +``` + +### Example Usage + +The plugin supports natural language commands for ETH transfers: + +```typescript +"I want to convert 1 ETH to USDC on ethereum chain"; +"Give me the quote"; +"Execute it"; +``` + +## Available Actions + +The plugin provides the following actions: + +1. **GET_INDICATIVE_PRICE_0X**: Get indicative prices for token swaps + - Example: "Get quote for swapping 1 ETH to USDC on Ethereum chain" + - Example: "Price check for trading 100 USDT to MATIC on Polygon chain" + +2. **GET_QUOTE_0X**: Get the quote for the swap. Quote expires in 5mins. (This action is triggered only after user has requested for an indicative price. No need to repeat the buy/sell tokens because the last indicative price will be stored in the memory) + - Example: "Get quote" + +3. **EXECUTE_SWAP_0X**: Execute token swaps. (Action is triggered only after user has gotten a quote) + - Example: "Execute the swap" + +## Security Best Practices + +1. **Environment Variables** + - Never commit private keys to version control + - Use secure environment variable management + - Rotate private keys periodically + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: +- [0x Protocol](https://0x.org/) + +For more information about 0x capabilities: +- [0x API Documentation](https://0x.org/docs/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/3d-generation.md b/docs/packages/plugins/3d-generation.md new file mode 100644 index 00000000000..51e50349a74 --- /dev/null +++ b/docs/packages/plugins/3d-generation.md @@ -0,0 +1,221 @@ +# @elizaos/plugin-3d-generation + +A plugin for generating 3D models using the FAL.ai API within the ElizaOS ecosystem. + +## Description + +The 3D Generation plugin enables AI-powered creation of 3D models through FAL.ai's services. It provides functionality to generate 3D models from text descriptions and save them locally. + +## Installation + +```bash +pnpm install @elizaos/plugin-3d-generation +``` + +## Configuration + +The plugin requires the following environment variable or runtime setting to be set: + +```typescript +FAL_API_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { ThreeDGenerationPlugin } from "@elizaos/plugin-3d-generation"; +``` + +### Model Generation Examples + +```typescript +// The plugin responds to natural language commands like: + +"Generate a 3D object of a cat playing piano"; +"Create a 3D object of an anime character Goku"; +"Make a 3D model of [your description]"; +``` + +## API Reference + +### Actions + +#### GENERATE_3D + +Generates 3D models based on text descriptions. + +**Aliases:** + +- 3D_GENERATION +- 3D_GEN +- CREATE_3D +- MAKE_3D +- TEXT23D +- TEXT_TO_3D +- 3D_CREATE +- 3D_MAKE + +**Default Configuration:** + +```typescript +{ + geometry_file_format: "glb", // Available: glb, usdz, fbx, obj, stl + material: "PBR", // Available: PBR, Shaded + quality: "medium", // Available: extra-low, low, medium, high + tier: "Regular" // Available: Regular, Sketch +} +``` + +## Common Issues & Troubleshooting + +1. **Generation Failures** + + - Verify FAL API key is correctly set + - Ensure prompt is descriptive (minimum 3 characters) + - Check network connectivity to FAL.ai services + +2. **Storage Issues** + - Verify write permissions to content_cache directory + - Ensure sufficient disk space + - Check if content_cache directory exists + +## Security Best Practices + +1. **API Key Management** + - Store FAL API key securely using runtime settings or environment variables + - Never commit API keys to version control + - Monitor API usage + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Generation Features** + + - Multi-object scene generation + - Texture customization options + - Animation support + - Material property controls + - Advanced lighting systems + - Physics-based rendering + +2. **Model Optimization** + + - Automatic mesh simplification + - LOD (Level of Detail) generation + - Texture compression + - File size optimization + - Performance profiling + - Mobile-friendly exports + +3. **Format Support** + + - Additional file format exports + - Custom format converters + - Batch format conversion + - Format-specific optimizations + - Metadata preservation + - Version control integration + +4. **AI Improvements** + + - Enhanced prompt understanding + - Style transfer capabilities + - Real-time generation + - Multi-model support + - Quality improvements + - Consistency controls + +5. **Scene Management** + + - Scene composition tools + - Environment management + - Asset library integration + - Scene presets + - Batch processing + - Scene version control + +6. **Developer Tools** + + - API expansion + - Testing framework + - Documentation generator + - Debug visualization + - Performance monitoring + - Integration templates + +7. **Rendering Features** + + - Real-time preview + - Custom shader support + - Post-processing effects + - Render queue management + - Batch rendering + - Cloud rendering options + +8. **Collaboration Features** + - Asset sharing + - Version control + - Team workspace + - Review system + - Access control + - Change tracking + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [FAL.ai](https://fal.ai/): AI model deployment platform +- [Three.js](https://threejs.org/): 3D graphics library +- [glTF](https://www.khronos.org/gltf/): 3D file format standard +- [USD](https://graphics.pixar.com/usd/): Universal Scene Description +- [Blender](https://www.blender.org/): 3D creation suite + +Special thanks to: + +- The FAL.ai team for AI infrastructure +- The Three.js development community +- The Khronos Group for glTF standards +- The Pixar USD team +- The Blender Foundation +- The Eliza community for their contributions and feedback + +For more information about 3D generation capabilities: + +- [FAL.ai Documentation](https://fal.ai/docs) +- [Three.js Documentation](https://threejs.org/docs/) +- [glTF Specification](https://github.com/KhronosGroup/glTF) +- [USD Documentation](https://graphics.pixar.com/usd/docs/index.html) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/ATTPs.md b/docs/packages/plugins/ATTPs.md new file mode 100644 index 00000000000..6f01ad3d617 --- /dev/null +++ b/docs/packages/plugins/ATTPs.md @@ -0,0 +1,172 @@ + +# @elizaos/plugin-attps + +Foundation plugin that enables advanced agent interactions, data verification, and price queries on the Eliza OS platform. It streamlines agent creation, verification processes, and provides a flexible framework for building robust agent-based solutions. + +## Overview + +The ATTPs plugin bridges agent-based logic with the Eliza ecosystem. It handles agent registration, data verification, and price queries, empowering both automated and user-driven workflows. + +## Features + +### Agent Operations +- **Agent Creation**: Deploy new agents with custom settings +- **Registration**: Register agents on-chain or via standardized processes +- **Multi-Signer Framework**: Supports threshold-based approval flows + +### Data Verification +- **Chain Validation**: Verify data authenticity on-chain +- **Transaction Execution**: Handle verification logic with built-in security checks +- **Auto-Hashing**: Convert raw data to hashed formats when needed +- **Metadata Parsing**: Validate content type, encoding, and compression + +### Price Queries +- **Live Price Data**: Fetch price information for various pairs +- **Format Validation**: Normalize user query inputs to standard trading-pair formats +- **APIs Integration**: Retrieve real-time or near-real-time pricing information + +## Security Features + +### Access Control +- **Private Key Management**: Safe usage of private keys for transaction signing +- **Environment Variables**: Secure injection of credentials +- **On-Chain Validation**: Leverage on-chain contract checks + +### Verification +- **Input Validation**: Strict schema checks before on-chain operations +- **Transaction Receipts**: Provide verifiable transaction details +- **Error Handling**: Detailed error logs for quick debugging + +## Installation + +```bash +npm install @elizaos/plugin-attps +``` + +## Configuration + +Configure the plugin by setting environment variables or runtime settings: +- ATTPS_RPC_URL +- ATTPS_PROXY_ADDRESS +- ATTPS_PRIVATE_KEY +- ATTPS_CONVERTER_ADDRESS +- ATTPS_AUTO_HASH_DATA + +## Usage + +### Basic Setup +```typescript +import { attpsPlugin } from "@elizaos/plugin-attps"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [attpsPlugin], +}); +``` + +### Actions + +#### CREATE_AND_REGISTER_AGENT +Creates and registers an agent using specified settings. + +```typescript +const result = await runtime.executeAction("CREATE_AND_REGISTER_AGENT", { + signers: [...], + threshold: 3, + agentHeader: { ... }, + // ...other fields... +}); +``` + +#### VERIFY +Verifies data on-chain via the Agent SDK. + +```typescript +const result = await runtime.executeAction("VERIFY", { + payload: { + data: "0x...hexData", + signatures: [...], + }, + agent: "0x...agentAddress", + digest: "0x...digestString", +}); +``` + +#### PRICE_QUERY +Fetches live price data for a specified trading pair. + +```typescript +const result = await runtime.executeAction("PRICE_QUERY", { + pair: "BTC/USD", +}); +``` + +## Performance Optimization + +1. **Cache Management** + - Implement caching for frequent queries + - Monitor retrieval times and cache hits + +2. **Network Efficiency** + - Batch requests where possible + - Validate response parsing to reduce overhead + +## System Requirements +- Node.js 16.x or higher +- Sufficient network access to on-chain endpoints +- Basic configuration of environment variables +- Minimum 4GB RAM recommended + +## Troubleshooting + +1. **Invalid Agent Settings** + - Ensure signers and threshold are correct + - Validate agentHeader for proper UUIDs and numeric values + +2. **Verification Failures** + - Check the input data formats + - Confirm environment variables are set + +3. **Price Query Errors** + - Verify the trading pair format + - Check external API availability + +## Safety & Security + +1. **Credential Management** + - Store private keys securely + - Do not commit secrets to version control + +2. **Transaction Limits** + - Configure thresholds to mitigate abuse + - Log transaction attempts and failures + +3. **Monitoring & Logging** + - Track unusual activity + - Maintain detailed audit logs + +## Support + +For issues or feature requests: +1. Check existing documentation +2. Submit a GitHub issue with relevant details +3. Include transaction logs and system info if applicable + +## Contributing + +We welcome pull requests! Refer to the project’s CONTRIBUTING.md and open discussions to coordinate efforts. + +## Credits + +- [APRO](https://www.apro.com/) - Plugin sponsor and partner +- [ATTPs SDK JS](https://github.com/APRO-com/attps-sdk-js) - Underlying agent SDK +- [ethers.js](https://docs.ethers.io/) - Transaction and contract interaction +- Community contributors for feedback and testing + +For more information about Apro plugin capabilities: + +- [Apro Documentation](https://docs.apro.com/en) + +## License + +This plugin is part of the Eliza project. Refer to the main project repository for licensing details. \ No newline at end of file diff --git a/docs/packages/plugins/abstract.md b/docs/packages/plugins/abstract.md new file mode 100644 index 00000000000..865ec94ead2 --- /dev/null +++ b/docs/packages/plugins/abstract.md @@ -0,0 +1,175 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description + +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-abstract +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ABSTRACT_ADDRESS= +ABSTRACT_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { abstractPlugin } from "@elizaos/plugin-abstract"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; +"Transfer 0.1 ETH to 0xbD8679cf79137042214fA4239b02F4022208EE82"; +"Pay 50 USDC on Abstract to [address]"; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** + +- TRANSFER_TOKEN_ON_ABSTRACT +- TRANSFER_TOKENS_ON_ABSTRACT +- SEND_TOKENS_ON_ABSTRACT +- SEND_ETH_ON_ABSTRACT +- PAY_ON_ABSTRACT +- MOVE_TOKENS_ON_ABSTRACT +- MOVE_ETH_ON_ABSTRACT + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Smart Account Features** + + - Multi-signature support + - Account recovery mechanisms + - Batch transaction processing + - Advanced permission management + - Account abstraction improvements + - Social recovery options + +2. **DEX Integration** + + - Advanced swap routing + - Liquidity pool management + - Yield farming automation + - Price impact analysis + - Slippage protection + - AMM optimization + +3. **Security Enhancements** + + - Transaction simulation + - Risk assessment tools + - Rate limiting controls + - Fraud detection system + - Emergency shutdown features + - Audit integration tools + +4. **Developer Tools** + + - Enhanced debugging capabilities + - Documentation generator + - CLI tool improvements + - Testing utilities + - Deployment automation + - Performance profiling + +5. **Analytics and Monitoring** + + - Transaction tracking dashboard + - Network statistics + - Performance metrics + - Gas usage optimization + - Custom reporting tools + - Real-time monitoring + +6. **Wallet Management** + - Multiple wallet support + - Hardware wallet integration + - Address book features + - Transaction history analysis + - Balance monitoring + - Token management tools + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Abstract](https://abs.xyz/): Consumer blockchain +- [viem](https://viem.sh/): Typescript web3 client + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/advanced-sdk-ts.md b/docs/packages/plugins/advanced-sdk-ts.md new file mode 100644 index 00000000000..73f0bf459dc --- /dev/null +++ b/docs/packages/plugins/advanced-sdk-ts.md @@ -0,0 +1,126 @@ +# Coinbase Advanced API TypeScript SDK + +Welcome to the Coinbase Advanced API TypeScript SDK. This TypeScript project was created to allow developers to easily plug into the [Coinbase Advanced API](https://docs.cdp.coinbase.com/advanced-trade/docs/welcome). + +Coinbase Advanced Trade offers a comprehensive API for traders, providing access to real-time market data, order management, and execution. Elevate your trading strategies and develop sophisticated solutions using our powerful tools and features. + +For more information on all the available REST endpoints, see the [API Reference](https://docs.cdp.coinbase.com/advanced-trade/reference/). + +--- + +## Installation + +```bash +npm install +``` + +--- + +## Build and Use + +To build the project, run the following command: + +```bash +npm run build +``` + +_Note: To avoid potential issues, do not forget to build your project again after making any changes to it._ + +After building the project, each `.ts` file will have its `.js` counterpart generated. + +To run a file, use the following command: + +``` +node dist/{INSERT-FILENAME}.js +``` + +For example, a `main.ts` file would be run like: + +```bash +node dist/main.js +``` + +--- + +## Coinbase Developer Platform (CDP) API Keys + +This SDK uses Cloud Developer Platform (CDP) API keys. To use this SDK, you will need to create a CDP API key and secret by following the instructions [here](https://docs.cdp.coinbase.com/advanced-trade/docs/getting-started). +Make sure to save your API key and secret in a safe place. You will not be able to retrieve your secret again. + +--- + +## Importing the RESTClient + +All the REST endpoints are available directly from the client, therefore it's all you need to import. + +``` +import { RESTClient } from './rest'; +``` + +--- + +## Authentication + +Authentication of CDP API Keys is handled automatically by the SDK when making a REST request. + +After creating your CDP API keys, store them using your desired method and simply pass them into the client during initialization like: + +``` +const client = new RESTClient(API_KEY, API_SECRET); +``` + +--- + +## Making Requests + +Here are a few examples requests: + +**[List Accounts](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getaccounts)** + +``` +client + .listAccounts({}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Get Product](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_getproduct)** + +``` +client + .getProduct({productId: "BTC-USD"}) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` + +**[Create Order](https://docs.cdp.coinbase.com/advanced-trade/reference/retailbrokerageapi_postorder)** + +_$10 Market Buy on BTC-USD_ + +``` +client + .createOrder({ + clientOrderId: "00000001", + productId: "BTC-USD", + side: OrderSide.BUY, + orderConfiguration:{ + market_market_ioc: { + quote_size: "10" + } + } + }) + .then((result) => { + console.log(result); + }) + .catch((error) => { + console.error(error.message); + }); +``` diff --git a/docs/packages/plugins/agentkit.md b/docs/packages/plugins/agentkit.md new file mode 100644 index 00000000000..f5a2580832c --- /dev/null +++ b/docs/packages/plugins/agentkit.md @@ -0,0 +1,123 @@ +# @elizaos/plugin-agentkit + +AgentKit plugin for Eliza that enables interaction with CDP AgentKit tools for NFT and token management. + +## Setup + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure environment variables: + +```env +CDP_API_KEY_NAME=your_key_name +CDP_API_KEY_PRIVATE_KEY=your_private_key +CDP_AGENT_KIT_NETWORK=base-sepolia # Optional: Defaults to base-sepolia +``` + +3. Add the plugin to your character configuration: + +```json +{ + "plugins": ["@elizaos/plugin-agentkit"], + "settings": { + "secrets": { + "CDP_API_KEY_NAME": "your_key_name", + "CDP_API_KEY_PRIVATE_KEY": "your_private_key" + } + } +} +``` + +## Available Tools + +The plugin provides access to the following CDP AgentKit tools: + +- `GET_WALLET_DETAILS`: Get wallet information +- `DEPLOY_NFT`: Deploy a new NFT collection +- `DEPLOY_TOKEN`: Deploy a new token +- `GET_BALANCE`: Check token or NFT balance +- `MINT_NFT`: Mint NFTs from a collection +- `REGISTER_BASENAME`: Register a basename for NFTs +- `REQUEST_FAUCET_FUNDS`: Request testnet funds +- `TRADE`: Execute trades +- `TRANSFER`: Transfer tokens or NFTs +- `WOW_BUY_TOKEN`: Buy WOW tokens +- `WOW_SELL_TOKEN`: Sell WOW tokens +- `WOW_CREATE_TOKEN`: Create new WOW tokens + +## Usage Examples + +1. Get wallet details: + +``` +Can you show me my wallet details? +``` + +2. Deploy an NFT collection: + +``` +Deploy a new NFT collection called "Music NFTs" with symbol "MUSIC" +``` + +3. Create a token: + +``` +Create a new WOW token called "Artist Token" with symbol "ART" +``` + +4. Check balance: + +``` +What's my current balance? +``` + +## Development + +1. Build the plugin: + +```bash +pnpm build +``` + +2. Run in development mode: + +```bash +pnpm dev +``` + +## Dependencies + +- @elizaos/core +- @coinbase/cdp-agentkit-core +- @coinbase/cdp-langchain +- @langchain/core + +## Network Support + +The plugin supports the following networks: + +- Base Sepolia (default) +- Base Mainnet + +Configure the network using the `CDP_AGENT_KIT_NETWORK` environment variable. + +## Troubleshooting + +1. If tools are not being triggered: + + - Verify CDP API key configuration + - Check network settings + - Ensure character configuration includes the plugin + +2. Common errors: + - "Cannot find package": Make sure dependencies are installed + - "API key not found": Check environment variables + - "Network error": Verify network configuration + +## License + +MIT diff --git a/docs/packages/plugins/akash.md b/docs/packages/plugins/akash.md new file mode 100644 index 00000000000..081f353f26b --- /dev/null +++ b/docs/packages/plugins/akash.md @@ -0,0 +1,133 @@ +# Akash Network Plugin for Eliza + +A powerful plugin for interacting with the Akash Network, enabling deployment management and cloud compute operations through Eliza. + +## Table of Contents +- [Installation](#installation) +- [Configuration](#configuration) +- [Directory Structure](#directory-structure) +- [Available Actions](#available-actions) + +## Installation + +```bash +pnpm add @elizaos/plugin-akash +``` + +## Configuration + +### Environment Variables +Create a `.env` file in your project root with the following configuration: + +```env +# Network Configuration +AKASH_ENV=mainnet +AKASH_NET=https://raw.githubusercontent.com/ovrclk/net/master/mainnet +RPC_ENDPOINT=https://rpc.akashnet.net:443 + +# Transaction Settings +AKASH_GAS_PRICES=0.025uakt +AKASH_GAS_ADJUSTMENT=1.5 +AKASH_KEYRING_BACKEND=os +AKASH_FROM=default +AKASH_FEES=20000uakt + +# Authentication +AKASH_MNEMONIC=your_12_word_mnemonic_here + +# Manifest Settings +AKASH_MANIFEST_MODE=auto # Options: auto, validate_only +AKASH_MANIFEST_VALIDATION_LEVEL=strict # Options: strict, basic, none +AKASH_MANIFEST_PATH=/path/to/manifests # Optional: Path to save generated manifests + +# Deployment Settings +AKASH_DEPOSIT=5000000uakt # Default deployment deposit +AKASH_SDL=deployment.yml # Default SDL file name +``` + +**Important Notes:** +- `AKASH_MNEMONIC`: Your 12-word wallet mnemonic phrase (required) +- `AKASH_MANIFEST_MODE`: Controls manifest generation behavior +- `AKASH_MANIFEST_VALIDATION_LEVEL`: Sets SDL validation strictness +- `AKASH_DEPOSIT`: Default deposit amount for deployments + +⚠️ Never commit your `.env` file with real credentials to version control! + + +#### SDL (Stack Definition Language) +``` +src/sdl/example.sdl.yml +``` +Place your SDL configuration files here. The plugin looks for SDL files in this directory by default. + +#### Certificates +``` +src/.certificates/ +``` +SSL certificates for secure provider communication are stored here. + +## Available Actions + +| Action | Description | Parameters | +|---------------------|------------------------------------------------|---------------------------------------------| +| CREATE_DEPLOYMENT | Create a new deployment | `sdl`, `sdlFile`, `deposit` | +| CLOSE_DEPLOYMENT | Close an existing deployment | `dseq`, `owner` | +| GET_PROVIDER_INFO | Get provider information | `provider` | +| GET_DEPLOYMENT_STATUS| Check deployment status | `dseq`, `owner` | +| GET_GPU_PRICING | Get GPU pricing comparison | `cpu`, `memory`, `storage` | +| GET_MANIFEST | Generate deployment manifest | `sdl`, `sdlFile` | +| GET_PROVIDERS_LIST | List available providers | `filter: { active, hasGPU, region }` | + + +Each action returns a structured response with: +```typescript +{ + text: string; // Human-readable response + content: { + success: boolean; // Operation success status + data?: any; // Action-specific data + error?: { // Present only on failure + code: string; + message: string; + }; + metadata: { // Operation metadata + timestamp: string; + source: string; + action: string; + version: string; + actionId: string; + } + } +} +``` + +## Error Handling + +The plugin includes comprehensive error handling with specific error codes: + +- `VALIDATION_SDL_FAILED`: SDL validation errors +- `WALLET_NOT_INITIALIZED`: Wallet setup issues +- `DEPLOYMENT_CREATION_FAILED`: Deployment failures +- `API_REQUEST_FAILED`: Network/API issues +- `MANIFEST_PARSING_FAILED`: Manifest generation errors +- `PROVIDER_FILTER_ERROR`: Provider filtering issues + +## Development + +### Running Tests +```bash +pnpm test +``` + +### Building +```bash +pnpm run build +``` + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. + +## Support + +For support and questions, please open an issue in the repository or contact the maintainers. diff --git a/docs/packages/plugins/allora.md b/docs/packages/plugins/allora.md new file mode 100644 index 00000000000..1912853add4 --- /dev/null +++ b/docs/packages/plugins/allora.md @@ -0,0 +1,87 @@ +# @elizaos/plugin-allora + +Seamlessly empowers Eliza agents with real-time, advanced, self-improving AI inferences from the Allora Network. + +## Installation + +```bash +pnpm add @elizaos/plugin-allora +``` + +## Configuration + +### Environment Variables + +```env +ALLORA_API_KEY=your_api_key # Required: Allora API key +ALLORA_CHAIN_SLUG=testnet # Optional: Defaults to testnet +``` + +### Character Configuration + +Add the plugin to your character's configuration: + +```typescript +import { alloraPlugin } from "@elizaos/plugin-allora"; + +const character = { + plugins: [alloraPlugin], + settings: { + secrets: { + ALLORA_API_KEY: "your_api_key" + } + } +}; +``` + +## Features + +- **Real-time Inference Access**: Get live predictions across various topics +- **Topic Management**: Automatic discovery and caching of available topics +- **Smart Caching**: 30-minute cache duration for optimal performance +- **Natural Language Interface**: Simple conversational commands for accessing predictions + +## Usage + +Users can request inferences using natural language: + +```plaintext +"What is the predicted ETH price in 5 minutes?" +"Can you check the current BTC prediction?" +``` + +Example Response: +```plaintext +"Inference provided by Allora Network on topic ETH 5min (Topic ID: 13): 3393.364326646801085508" +``` + +## API Reference + +### Actions + +- `GET_INFERENCE`: Retrieves predictions for a specific topic + - Aliases: `GET_ALLORA_INFERENCE`, `GET_TOPIC_INFERENCE`, `ALLORA_INFERENCE`, `TOPIC_INFERENCE` + - Automatically matches user requests to available topics + - Returns formatted inference results with topic details + +### Providers + +- `topicsProvider`: Manages topic information and caching + - Provides context about available Allora Network topics + - Implements 30-minute caching for optimization + - Returns formatted topic information including names, descriptions, and status + +## Troubleshooting + +### Common Issues + +1. "No active Allora Network topic matches your request" + - Verify that your requested topic exists and is active + - Check that the topic matches the timeframe of your request + +2. API Connection Issues + - Verify your ALLORA_API_KEY is correctly set + - Check network connectivity + - Ensure the API endpoint is accessible + +For detailed information and additional implementation examples, please refer to the [Allora-Eliza integration docs](https://docs.allora.network/marketplace/integrations/eliza-os/implementation). diff --git a/docs/packages/plugins/ankr.md b/docs/packages/plugins/ankr.md new file mode 100644 index 00000000000..56b1bf3067c --- /dev/null +++ b/docs/packages/plugins/ankr.md @@ -0,0 +1,87 @@ + +## Ankr Plugin Guide + +
+

🔗 Blockchain Data Query Interface

+
+ +### Available Actions + +The Ankr plugin provides comprehensive blockchain data querying capabilities through natural language prompts. Below are the supported actions and their usage: + +#### 1. Blockchain Information +```bash +# Get blockchain stats +Show me stats for [chain]eth[/chain] + +# Get top currencies +Show me the top currencies on [chain]eth[/chain] +``` + +#### 2. Wallet & Balance Queries +```bash +# Check wallet balance +Show me the balance for wallet [wallet]0x6B0031518934952C485d5a7E76f1729B50e67486[/wallet] on [chain]eth[/chain] + +# View wallet interactions +Show me interactions for the wallet [wallet]0x68b3465833fb72A70ecDF485E0e4C7bD8665Fc45[/wallet] +``` + +#### 3. NFT Operations +```bash +# Get NFT holders +Show me holders of NFT contract [contract]0x34d85c9cdeb23fa97cb08333b511ac86e1c4e258[/contract] token [token]112234[/token] on [chain]eth[/chain] + +# Get NFT metadata +Show me the metadata for NFT [token]1234[/token] at contract [contract]0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d[/contract] [chain]eth[/chain] + +# List NFTs by owner +Show me all NFTs owned by wallet [wallet]0x1234567890123456789012345678901234567890[/wallet] on [chain]eth[/chain] + +# View NFT transfers +Show me NFT transfers for contract [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] [chain]eth[/chain] [fromtimestamp]1655197483[/fromtimestamp][totimestamp]1671974699[/totimestamp] +``` + +#### 4. Token Operations +```bash +# Get token holders +Show me holders for contract [contract]0xf307910A4c7bbc79691fD374889b36d8531B08e3[/contract] on [chain]bsc[/chain] + +# Get token holder count +How many holders does [contract]0xdAC17F958D2ee523a2206206994597C13D831ec7[/contract] have? [chain]eth[/chain] + +# Check token price +What's the current price of [contract]0x8290333cef9e6d528dd5618fb97a76f268f3edd4[/contract] token [chain]eth[/chain] + +# View token transfers +Show me recent contract [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] transfers [chain]eth[/chain] from [fromtimestamp]1655197483[/fromtimestamp] to [totimestamp]1656061483[/totimestamp] +``` + +#### 5. Transaction Queries +```bash +# Get transactions by address +Show me the latest transactions for address [contract]0xd8da6bf26964af9d7eed9e03e53415d37aa96045[/contract] [chain]eth[/chain] + +# Get transaction details +Show me details for transaction [txHash]0x748eeb4a15ba05736a9397a07ca86f0184c0c1eca53fa901b28a412d1a3f211f[/txHash] [chain]eth[/chain] +``` + +### Tag Reference + +| Tag | Description | Example | +|-----|-------------|---------| +| `[chain]` | Blockchain identifier | eth, bsc | +| `[wallet]` | Wallet address | 0x1234... | +| `[contract]` | Contract address | 0xabcd... | +| `[token]` | Token ID | 1234 | +| `[txHash]` | Transaction hash | 0x748e... | +| `[fromtimestamp]` | Start timestamp | 1655197483 | +| `[totimestamp]` | End timestamp | 1656061483 | + +### Important Notes + +1. All addresses must be valid blockchain addresses (0x format) +2. Timestamps must be in Unix timestamp format +3. Chain names should be lowercase (eth, bsc, etc.) +4. Transaction hashes must be complete and valid +5. Include all required tags for each action typ diff --git a/docs/packages/plugins/anyone.md b/docs/packages/plugins/anyone.md new file mode 100644 index 00000000000..19881825fa0 --- /dev/null +++ b/docs/packages/plugins/anyone.md @@ -0,0 +1,69 @@ +# @elizaos/plugin-anyone + +A plugin for integrating Anyone protocol proxy services into Eliza agents. + +## Installation + +```bash +pnpm add @elizaos/plugin-anyone +``` + +## Features + +- Start and stop Anyone client services +- Automatic proxy configuration for axios +- SOCKS proxy support (port 9050) +- Clean proxy cleanup and restoration + +## Usage + +Add the plugin to your agent's configuration: + +```typescript +import { anyonePlugin } from "@elizaos/plugin-anyone"; + +const character = { + plugins: [anyonePlugin] +}; +``` + +### Available Actions + +#### START_ANYONE +Starts the Anyone client and configures proxy settings. + +Example commands: +```plaintext +"Can you start Anyone for me?" +"Initialize the Anyone client please" +"Launch Anyone for me" +``` + +#### STOP_ANYONE +Stops the Anyone client and cleans up proxy settings. + +Example commands: +```plaintext +"Can you stop Anyone for me?" +"Please shut down Anyone" +"Close Anyone for me" +``` + +## Technical Details + +The plugin provides two main services: + +1. `AnyoneClientService`: Manages the Anyone client instance + - Singleton pattern implementation + - Handles client initialization and cleanup + - Configures SOCKS proxy on port 9050 + +2. `AnyoneProxyService`: Handles axios proxy configuration + - Preserves original axios settings + - Automatically applies proxy settings + - Provides clean restoration of original config + +## Dependencies + +- @anyone-protocol/anyone-client: ^0.4.3 +- axios: ^1.7.9 diff --git a/docs/packages/plugins/aptos.md b/docs/packages/plugins/aptos.md new file mode 100644 index 00000000000..15c6ae3668d --- /dev/null +++ b/docs/packages/plugins/aptos.md @@ -0,0 +1,249 @@ +# @elizaos/plugin-aptos + +A plugin for interacting with the Aptos blockchain network within the ElizaOS ecosystem. + +## Description + +The Aptos plugin enables seamless token transfers and wallet management on the Aptos blockchain. It provides functionality to transfer APT tokens and monitor wallet balances with real-time price tracking. + +## Installation + +```bash +pnpm install @elizaos/plugin-aptos +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +APTOS_PRIVATE_KEY= +APTOS_NETWORK=<"mainnet" | "testnet"> +``` + +## Usage + +### Basic Integration + +```typescript +import { + aptosPlugin, + WalletProvider, + TransferAptosToken, +} from "@elizaos/plugin-aptos"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 69 APT tokens to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0"; +"Transfer APT to [address]"; +"Pay [amount] APT to [recipient]"; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers APT tokens from the agent's wallet to another address. + +**Aliases:** + +- TRANSFER_TOKEN +- TRANSFER_TOKENS +- SEND_TOKENS +- SEND_APT +- PAY + +**Configuration:** + +```typescript +{ + APT_DECIMALS: 8; // Decimal places for APT token +} +``` + +### Providers + +#### WalletProvider + +Provides wallet information and portfolio tracking. + +**Features:** + +- Real-time APT price tracking +- Portfolio value calculation +- Cached wallet information (5-minute TTL) +- Formatted portfolio reports + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Verify wallet has sufficient APT balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Price Fetching Issues** + - Check connection to DexScreener API + - Verify cache functionality + - Monitor retry mechanism (3 attempts with exponential backoff) + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +5. Development mode: + +```bash +pnpm run dev +``` + +## Dependencies + +- @aptos-labs/ts-sdk: ^1.26.0 +- bignumber.js: 9.1.2 +- node-cache: 5.1.2 + +## Future Enhancements + +The following features and improvements are planned for future releases: + +1. **Advanced Token Operations** + + - Batch token transfers + - Token creation templates + - NFT minting and management + - Token metadata management + - Custom tokenomics implementation + - Token upgrade mechanisms + +2. **DeFi Integration** + + - Liquidity pool management + - Yield farming automation + - Staking optimization + - AMM integration + - Cross-chain bridges + - Price impact analysis + +3. **Move Contract Management** + + - Contract deployment tools + - Contract verification + - Contract upgrade system + - Testing framework + - Gas optimization tools + - Security audit integration + +4. **Wallet Enhancements** + + - Multi-wallet support + - Hardware wallet integration + - Transaction batching + - Address book management + - Custom signature schemes + - Account abstraction + +5. **Price Feed Improvements** + + - Additional data sources + - Real-time price alerts + - Historical data analysis + - Custom price aggregation + - Price prediction tools + - Market sentiment analysis + +6. **Developer Tools** + + - Enhanced debugging capabilities + - Move language IDE integration + - Documentation generator + - Performance profiling + - Testing utilities + - Deployment automation + +7. **Security Features** + + - Transaction simulation + - Risk assessment tools + - Rate limiting controls + - Fraud detection + - Emergency shutdown + - Multi-signature support + +8. **Analytics and Monitoring** + - Transaction tracking + - Portfolio analytics + - Network statistics + - Gas usage optimization + - Performance metrics + - Custom reporting tools + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Aptos](https://aptoslabs.com/): Layer 1 blockchain platform +- [@aptos-labs/ts-sdk](https://github.com/aptos-labs/aptos-core/tree/main/ecosystem/typescript/sdk): Official TypeScript SDK +- [Petra Wallet](https://petra.app/): Aptos wallet integration +- [DexScreener](https://dexscreener.com/): Price feed integration +- [Move Language](https://github.com/move-language/move): Smart contract language + +Special thanks to: + +- The Aptos Labs team for developing the blockchain +- The Petra Wallet development team +- The DexScreener team for price data +- The Move language developers +- The Aptos Developer community +- The Eliza community for their contributions and feedback + +For more information about Aptos capabilities: + +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) +- [Petra Wallet Docs](https://petra.app/docs) +- [DexScreener API](https://docs.dexscreener.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/arbitrage.md b/docs/packages/plugins/arbitrage.md new file mode 100644 index 00000000000..5f6f8052526 --- /dev/null +++ b/docs/packages/plugins/arbitrage.md @@ -0,0 +1,113 @@ +# ElizaOS Arbitrage Plugin + +A powerful DEX arbitrage trading plugin for ElizaOS, designed to identify and automatically execute profitable cross-market trading opportunities on Ethereum-based decentralized exchanges. + +## Overview + +The ElizaOS Arbitrage Plugin monitors multiple decentralized exchanges (DEXs) like Uniswap and Sushiswap for price discrepancies in token pairs. When it identifies a profitable arbitrage opportunity that exceeds the configured threshold, it automatically executes the trade using Flashbots bundles to maximize profits and minimize risk. + +## Features + +- **Real-time Market Monitoring**: Continuously watches market conditions across multiple DEXs via WebSocket connections +- **Automated Opportunity Detection**: Analyzes price differences to identify profitable arbitrage paths +- **Smart Trade Execution**: Uses Flashbots to execute trades privately and avoid front-running +- **Configurable Trading Parameters**: Customizable profit thresholds, gas limits, and other trading parameters +- **Risk Management**: Advanced volume optimization to minimize price impact and maximize profits +- **Performance Optimization**: Efficient batch processing and concurrent operations for minimal latency + +## Prerequisites + +- Node.js 18 or higher +- An Ethereum wallet with private key +- Access to an Ethereum WSS endpoint +- Flashbots relay signing key +- Bundle executor smart contract deployment + +## Installation + +```bash +npm install @elizaos-plugins/plugin-arbitrage +``` + +## Configuration + +To use the plugin, you need to configure your ElizaOS character with the necessary settings: + +```json +{ + "name": "Trader", + "settings": { + "secrets": { + "EVM_PRIVATE_KEY": "YOUR_PRIVATE_KEY_HERE", + "FLASHBOTS_RELAY_SIGNING_KEY": "YOUR_FLASHBOTS_KEY_HERE", + "BUNDLE_EXECUTOR_ADDRESS": "YOUR_EXECUTOR_ADDRESS_HERE" + }, + "arbitrage": { + "ethereumWsUrl": "YOUR_ETH_WSS_URL", + "rpcUrl": "YOUR_ETH_RPC_URL" + } + }, + "plugins": [ + "@elizaos/plugin-arbitrage", + "@elizaos/plugin-evm" + ] +} +``` + +### Required Settings + +| Setting | Description | +|---------|-------------| +| `EVM_PRIVATE_KEY` | Private key for your Ethereum wallet (keep this secure!) | +| `FLASHBOTS_RELAY_SIGNING_KEY` | Signing key for Flashbots bundles | +| `BUNDLE_EXECUTOR_ADDRESS` | Address of your bundle executor contract | +| `ethereumWsUrl` | WebSocket URL for your Ethereum node | +| `rpcUrl` | RPC URL for your Ethereum node | + +## Usage + +The plugin integrates with ElizaOS and provides the following capabilities: + +### Actions + +- `EXECUTE_ARBITRAGE`: Scans for and executes profitable arbitrage opportunities + +### Providers + +- `marketProvider`: Provides real-time market data and arbitrage opportunities + +### Example Interactions + +``` +User: "Find arbitrage opportunities" +Trader: "Scanning for arbitrage trades..." +``` + +## Advanced Configuration + +You can customize trading parameters by modifying the thresholds in `src/config/thresholds.ts`: + +```typescript +export const DEFAULT_THRESHOLDS: MarketThresholds = { + minProfitThreshold: BigNumber.from("100000000000000"), // 0.0001 ETH + maxTradeSize: BigNumber.from("1000000000000000000"), // 1 ETH + gasLimit: 500000, + minerRewardPercentage: 90 +}; +``` + +## Architecture + +The plugin consists of several key components: + +- **Core Engine**: Implements the arbitrage detection and execution logic +- **Market Adapters**: Interfaces with various DEXs like Uniswap and Sushiswap +- **WebSocket Manager**: Handles real-time market data updates +- **Service Layer**: Integrates with ElizaOS to provide plugin functionality + +## Security Considerations + +- Ensure your private keys are stored securely +- Test with small amounts before deploying with significant capital +- Monitor gas costs to ensure profitability +- Implement circuit breakers for market volatility diff --git a/docs/packages/plugins/arthera.md b/docs/packages/plugins/arthera.md new file mode 100644 index 00000000000..b634635d469 --- /dev/null +++ b/docs/packages/plugins/arthera.md @@ -0,0 +1,68 @@ +# `@elizaos/plugin-arthera` + +This plugin provides actions and providers for interacting with Arthera. + +--- + +## Configuration + +### Default Setup + +By default, **Arthera** is enabled. To use it, simply add your private key to the `.env` file: + +```env +ARTHERA_PRIVATE_KEY=your-private-key-here +``` + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use a custom RPC URL for a specific chain, add the following to your `.env` file: + +```env +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +**Example usage:** + +```env +ETHEREUM_PROVIDER_ARTHERA=https://rpc.arthera.net +``` + +## Provider + +The **Wallet Provider** initializes with Arthera. It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chain. + +--- + +## Actions + +### Transfer + +Transfer tokens from one address to another on Arthera. Just specify the: + +- **Amount** +- **Chain** +- **Recipient Address** + +**Example usage:** + +```bash +Transfer 1 AA to 0xRecipient on arthera. +``` + +--- + +## Contribution + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR. + +### Running Tests + +Navigate to the `plugin-arthera` directory and run: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/asterai.md b/docs/packages/plugins/asterai.md new file mode 100644 index 00000000000..c84bf32f3a5 --- /dev/null +++ b/docs/packages/plugins/asterai.md @@ -0,0 +1,80 @@ +# @elizaos/plugin-asterai + +A plugin for interacting with [asterai](https://asterai.io) plugins and agents. + +## Description + +This plugin provides functionality to allow Eliza agents to interact with +asterai plugins and agents. + +This will expand your Eliza character's utility by giving it access to all +the functionality of asterai's ecosystem of marketplace and private plugins +and agents. + +## Installation + +```bash +pnpm install @elizaos/plugin-asterai +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ASTERAI_AGENT_ID= +ASTERAI_PUBLIC_QUERY_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { asteraiPlugin } from '@elizaos/plugin-asterai'; +``` + +### Example Usage + +The plugin supports natural language for interacting with the asterai agent +through your Eliza character. + +For example, if your asterai agent can fetch weather data: + +```typescript +"Hey Eliza, how's the weather in LA?" +``` + +Eliza will then query the asterai agent to fetch the information. + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + diff --git a/docs/packages/plugins/autonome.md b/docs/packages/plugins/autonome.md new file mode 100644 index 00000000000..97e79ddad5c --- /dev/null +++ b/docs/packages/plugins/autonome.md @@ -0,0 +1,84 @@ +# @elizaos/plugin-autonome + +A plugin that enables launching new Eliza agents through the [Autonome platform](https://dev.autonome.fun). + +## Installation + +```bash +pnpm add @elizaos/plugin-autonome +``` + +## Configuration + +### Environment Variables + +```env +# Required: JWT token from Autonome platform +AUTONOME_JWT_TOKEN=your_jwt_token + +# Required: Autonome RPC endpoint (fixed production endpoint) +AUTONOME_RPC=https://wizard-bff-rpc.alt.technology/v1/bff/aaa/apps +``` + +To get your JWT token: +1. Login to [dev.autonome.fun](https://dev.autonome.fun) +2. Open browser developer console +3. Extract your JWT token + +### Character Configuration + +Add the plugin to your character's configuration: + +```typescript +import { autonomePlugin } from "@elizaos/plugin-autonome"; + +const character = { + plugins: [autonomePlugin] +}; +``` + +## Features + +- Launch new Eliza agents through the Autonome platform +- Configure agent settings via natural language +- Track deployment status +- Direct integration with Autonome dashboard + +## Usage + +The plugin responds to various deployment commands: + +```plaintext +"Launch an agent, name is xiaohuo" +"Create a new agent" +"Deploy an Eliza agent" +``` + +Upon successful deployment, you'll receive a dashboard link: +``` +https://dev.autonome.fun/autonome/[app-id]/details +``` + +## API Reference + +### Actions + +#### LAUNCH_AGENT +Creates and deploys a new agent to the Autonome platform. + +Aliases: +- CREATE_AGENT +- DEPLOY_AGENT +- DEPLOY_ELIZA +- DEPLOY_BOT + +Parameters: +- `name`: Name of the agent to deploy +- `config`: Agent configuration in JSON format + +## Dependencies + +- @coral-xyz/anchor: 0.30.1 +- @elizaos/plugin-tee: workspace:* +- @elizaos/plugin-trustdb: workspace:* +- axios: ^1.7.9 diff --git a/docs/packages/plugins/avail.md b/docs/packages/plugins/avail.md new file mode 100644 index 00000000000..16b9a2ca0f5 --- /dev/null +++ b/docs/packages/plugins/avail.md @@ -0,0 +1,42 @@ +# @elizaos/plugin-avail - Plugin for Avail + +This is a plugin for using Eliza to interact with the Avail DA network. Defaults to Turing testnet, but can be customized to use Mainnet by changing the RPC in the `.env` file at `AVAIL_RPC_URL`. + +## Actions +- **transfer**: This action enables the transfer of AVAIL tokens from the agent's wallet (as defined by the keyring generated from `AVAIL_SEED`) to another wallet. To use just mention the transfer of AVAIL tokens to an Avail account. + + - name: `SEND_AVAIL` + + - Message sample: `Send 100 AVAIL to 5GWbvXjefEvXXETtKQH7YBsUaPc379KAQATW1eqeJT26cbsK` + +- **submitData**: This action enables the submission of any arbitrary data to the Avail DA network. To use just mention that you need to send "any data" to Avail. You can customize the Avail `appID` through which the agent submits the data by modifying the `AVAIL_APP_ID` env config. + + - name: `SUBMIT_DATA` + + - Message sample: `Submit the following data to Avail "Hello World!"` + +## Usage & Testing + +### Detailed testing steps +- In `.env` you should set the value for `AVAIL_ADDRESS` (this is the public address for the agent account - [learn how to get one here](https://docs.availproject.org/user-guides/accounts#seed-phrases)) and `AVAIL_SEED` (seed phrase for the same account). + +- **Transfer AVAIL** + - To test transfer function, you need tokens in your Avail account. On testnet, you can use the [Avail Faucet](https://faucet.avail.tools/). If you need more please ping us on [Discord](https://discord.gg/y6fHnxZQX8), and we can send it over. + - Run the agent and prompt it with: "send AMOUNT AVAIL to any other Avail account " - e.g. `send 1 AVAIL to 5GWbvXjefEvXXETtKQH7YBsUaPc379KAQATW1eqeJT26cbsK` + - Assuming everything goes smoothly the agent returns with the Tx Hash, and Block Hash. +The tx hash can be checked on the Avail block explorer at https://avail-turing.subscan.io/ + +- **Submit Data** + - To test data submission, you need tokens in your Avail account to pay fees. On testnet, you can use the [Avail Faucet](https://faucet.avail.tools/). If you need more please ping us on [Discord](https://discord.gg/y6fHnxZQX8), and we can send it over. + - Run the agent and prompt it with: "Submit the following data to Avail DATA" - e.g. `Submit the following data to Avail "Hello World!"` + - Assuming everything goes smoothly the agent returns with the Tx Hash, and Block Hash. The tx hash can be checked on the Avail block explorer at https://avail-turing.subscan.io/ + + +## Resources +- [Avail Documentation](https://docs.availproject.org/) +- [Set up an Avail Account](https://docs.availproject.org/user-guides/accounts#seed-phrases) - Learn how to get your `AVAIL_SEED` +- [Find more Network Information like RPC endpoints](https://docs.availproject.org/docs/networks) +- [Learn more about appIDs](https://docs.availproject.org/docs/build-with-avail/interact-with-avail-da/app-id) +- [Learn more about Avail](https://www.availproject.org/) +- [Awesome Avail Repo](https://github.com/availproject/awesome-avail) + diff --git a/docs/packages/plugins/avalanche.md b/docs/packages/plugins/avalanche.md new file mode 100644 index 00000000000..15cc16d26c7 --- /dev/null +++ b/docs/packages/plugins/avalanche.md @@ -0,0 +1,253 @@ +# @elizaos/plugin-avalanche + +A plugin for interacting with the Avalanche blockchain network within the ElizaOS ecosystem. + +## Description + +The Avalanche plugin enables comprehensive DeFi operations on the Avalanche network, including token transfers, YAK swaps, yield strategy management, and token creation via Token Mill. + +## Installation + +```bash +pnpm install @elizaos/plugin-avalanche +``` + +## Configuration + +The plugin requires the following environment variable: + +```typescript +AVALANCHE_PRIVATE_KEY= +``` + +## Features + +### 1. Token Transfers + +- Send native AVAX and ERC20 tokens +- Support for multiple token standards +- Built-in address validation + +### 2. YAK Swaps + +- Decentralized token swaps +- Automatic best path finding +- Slippage protection (default: 0.2%) +- Support for all major tokens + +### 3. Yield Strategies + +- Deposit tokens into yield-generating strategies +- Support for multiple strategies including: + - YAK staking + - USDC Benqi + - gmYAK Token Mill + - PRINCESS staking + - JOE staking + +### 4. Token Mill + +- Create new tokens +- Configure custom tokenomics +- Automatic market creation + +## Supported Tokens + +```typescript +const TOKENS = { + AVAX: "0x0000000000000000000000000000000000000000", + WAVAX: "0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7", + YAK: "0x59414b3089ce2AF0010e7523Dea7E2b35d776ec7", + gmYAK: "0x3A30784c1af928CdFce678eE49370220aA716DC3", + USDC: "0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E", + // ... and more +}; +``` + +## Usage Examples + +### Token Transfer + +```typescript +// Send AVAX +"Send 10 AVAX to 0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7"; + +// Send ERC20 +"Transfer 100 USDC to [address]"; +``` + +### YAK Swap + +```typescript +// Swap tokens +"Swap 1 AVAX for USDC"; +"Swap 10 USDC for gmYAK"; +``` + +### Yield Strategy + +```typescript +// Deposit into strategies +"Deposit 1 USDC into the strategy"; +"Deposit 10 gmYAK to earn yield"; +``` + +### Token Creation + +```typescript +// Create new token +"Create a new memecoin called 'Test Token' with the symbol 'TEST'"; +``` + +## Providers + +### 1. Wallet Provider + +- Displays wallet balances +- Shows tokens in yield strategies +- Real-time balance updates + +### 2. Strategies Provider + +- Lists available yield strategies +- Shows deposit token requirements + +### 3. Tokens Provider + +- Lists supported tokens +- Shows token addresses + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- viem: ^2.21.49 +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Advanced DeFi Operations** + + - Multi-hop yield strategies + - Auto-compounding features + - Yield optimization algorithms + - Risk assessment tools + - Portfolio rebalancing automation + - Cross-chain yield farming + +2. **Enhanced Token Management** + + - Batch token operations + - Advanced token creation templates + - Token migration tools + - Automated token listing + - Token analytics dashboard + - Custom tokenomics implementation + +3. **YAK Protocol Integration** + + - Advanced routing algorithms + - MEV protection features + - Gas optimization strategies + - Liquidity analysis tools + - Price impact predictions + - Custom trading strategies + +4. **Benqi Protocol Features** + + - Collateral optimization + - Liquidation protection + - Interest rate monitoring + - Position management tools + - Risk assessment dashboard + - Auto-repayment features + +5. **Token Mill Improvements** + + - Advanced token customization + - Automated market making + - Token distribution tools + - Vesting schedule management + - Governance token features + - Token upgrade mechanisms + +6. **Security Enhancements** + + - Transaction simulation + - Smart contract auditing tools + - Real-time monitoring + - Automated safety checks + - Emergency shutdown features + - Multi-signature support + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + - Performance monitoring + +8. **Analytics and Reporting** + - Portfolio tracking + - Performance metrics + - Gas usage optimization + - Transaction history analysis + - Yield comparison tools + - Risk assessment reports + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Avalanche](https://www.avax.network/): High-performance blockchain platform +- [avalanchejs](https://github.com/ava-labs/avalanchejs): Official Avalanche JavaScript library +- [YAK Protocol](https://yak.exchange/): Decentralized exchange aggregator +- [Benqi](https://benqi.fi/): Lending and borrowing protocol +- [Token Mill](https://tokenmill.xyz/): Token creation platform + +Special thanks to: + +- The Ava Labs team for developing Avalanche +- The YAK Protocol development team +- The Benqi protocol developers +- The Token Mill platform team +- The Avalanche Developer community +- The Eliza community for their contributions and feedback + +For more information about Avalanche capabilities: + +- [Avalanche Documentation](https://docs.avax.network/) +- [YAK Protocol Docs](https://yak.exchange/docs) +- [Benqi Documentation](https://docs.benqi.fi/) +- [Token Mill Guide](https://docs.tokenmill.xyz/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/aws-s3.md b/docs/packages/plugins/aws-s3.md new file mode 100644 index 00000000000..8bade4ce730 --- /dev/null +++ b/docs/packages/plugins/aws-s3.md @@ -0,0 +1,68 @@ +# @elizaos/plugin-node + +Core Node.js plugin for Eliza OS that provides AWS S3 integration for file operations and cloud storage. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, providing AWS S3 integration for cloud-based file management and storage capabilities. + +## Features + +- **AWS S3 Integration**: File upload and management with AWS S3 + +## Installation + +```bash +npm install @elizaos/plugin-node +``` + +## Configuration + +The plugin requires AWS environment variables to function: + +### AWS Settings + +```env +AWS_ACCESS_KEY_ID=your_aws_access_key +AWS_SECRET_ACCESS_KEY=your_aws_secret_key +AWS_REGION=your_aws_region +AWS_S3_BUCKET=your_s3_bucket +AWS_S3_UPLOAD_PATH=your_upload_path +AWS_S3_ENDPOINT=an_alternative_endpoint +AWS_S3_SSL_ENABLED=boolean(true|false) +AWS_S3_FORCE_PATH_STYLE=boolean(true|false) +``` + +## Usage + +```typescript +import { createNodePlugin } from "@elizaos/plugin-node"; + +// Initialize the plugin +const nodePlugin = createNodePlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(nodePlugin); +``` + +## Services + +### AwsS3Service + +Handles file uploads and management with AWS S3. + +## Troubleshooting + +### Common AWS S3 Issues + +```bash +Error: AWS credentials not configured +``` + +- Verify AWS credentials are set +- Check S3 bucket permissions +- Ensure correct region configuration + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/b2.md b/docs/packages/plugins/b2.md new file mode 100644 index 00000000000..1e5ba623cab --- /dev/null +++ b/docs/packages/plugins/b2.md @@ -0,0 +1,169 @@ +# @elizaos/plugin-b2 + +A plugin for interacting with the B2-Network within the ElizaOS ecosystem. + +## Description + +The B2 Network Plugin offers a set of features that can be integrated into the Eliza platform to enhance its capabilities. This plugin enables seamless token transfers on the B2-Network. It provides functionality to transfer both native B2-BTC and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-b2 +``` + +## Configuration + +The plugin requires the following environment variable: + +```typescript +B2_PRIVATE_KEY= +``` + +## Features + +### 1. Token Transfers + +- Send native B2-BTC and ERC20 tokens +- Support for multiple token standards +- Built-in address validation + +## Supported Tokens + +```typescript +const TOKENS = { + "B2-BTC": "0x0000000000000000000000000000000000000000", + uBTC: "0x796e4D53067FF374B89b2Ac101ce0c1f72ccaAc2", + USDC: "0xE544e8a38aDD9B1ABF21922090445Ba93f74B9E5", + USDT: "0x681202351a488040Fa4FdCc24188AfB582c9DD62", + // ... and more +}; +``` + +## Usage Examples + +### Token Transfer + +```typescript +// Send B2-BTC +"Send 1 B2-BTC to 0x4f9e2dc50B4Cd632CC2D24edaBa3Da2a9338832a"; + +// Send ERC20 +"Transfer 100 USDC to [address]"; +``` + +## Providers + +### 1. Wallet Provider + +- Displays wallet balances +- Real-time balance updates + +### 2. Tokens Provider + +- Lists supported tokens +- Shows token addresses + +## Development + +1. Clone the repository +2. Install dependencies: +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- viem: ^2.21.49 +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Advanced DeFi Operations** + + - Multi-hop yield strategies + - Auto-compounding features + - Yield optimization algorithms + - Risk assessment tools + - Portfolio rebalancing automation + - Cross-chain yield farming + +2. **Enhanced Token Management** + + - Batch token operations + - Advanced token creation templates + - Token migration tools + - Automated token listing + - Token analytics dashboard + - Custom tokenomics implementation + +3. **YAK Protocol Integration** + + - Advanced routing algorithms + - MEV protection features + - Gas optimization strategies + - Liquidity analysis tools + - Price impact predictions + - Custom trading strategies + +4. **Benqi Protocol Features** + + - Collateral optimization + - Liquidation protection + - Interest rate monitoring + - Position management tools + - Risk assessment dashboard + - Auto-repayment features + +5. **Token Mill Improvements** + + - Advanced token customization + - Automated market making + - Token distribution tools + - Vesting schedule management + - Governance token features + - Token upgrade mechanisms + +6. **Security Enhancements** + + - Transaction simulation + - Smart contract auditing tools + - Real-time monitoring + - Automated safety checks + - Emergency shutdown features + - Multi-signature support + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + - Performance monitoring + +8. **Analytics and Reporting** + - Portfolio tracking + - Performance metrics + - Gas usage optimization + - Transaction history analysis + - Yield comparison tools + - Risk assessment reports + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/binance.md b/docs/packages/plugins/binance.md new file mode 100644 index 00000000000..67489337202 --- /dev/null +++ b/docs/packages/plugins/binance.md @@ -0,0 +1,88 @@ +# Binance Plugin for Eliza + +This plugin enables Eliza to interact with the Binance cryptocurrency exchange, providing capabilities for checking prices, executing trades, and managing spot wallet balances. + +## Features + +- 📊 Real-time cryptocurrency price checks +- 💱 Spot trading (market and limit orders) +- 💰 Wallet balance inquiries +- ✅ Comprehensive error handling +- 🔒 Secure API integration + +## Prerequisites + +1. **Binance Account**: You need a Binance account to use this plugin +2. **API Keys**: Generate API keys from your Binance account: + - Go to your Binance account settings + - Navigate to API Management + - Create a new API key + - Enable spot trading permissions + - Store your API key and secret securely + +## Configuration + +Set the following environment variables: + +```env +BINANCE_API_KEY=your_api_key +BINANCE_SECRET_KEY=your_secret_key +``` + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-binance"] +} +``` + +## Available Actions + +The plugin provides the following actions: + +1. **GET_PRICE**: Check cryptocurrency prices + + - Example: "What's the current price of Bitcoin?" + - Example: "Check ETH price in USDT" + +2. **EXECUTE_SPOT_TRADE**: Execute spot trades + + - Example: "Buy 0.1 BTC at market price" + - Example: "Sell 100 USDT worth of ETH" + +3. **GET_SPOT_BALANCE**: Check wallet balances + - Example: "What's my BTC balance?" + - Example: "Show all my wallet balances" + +## Important Notes + +1. **API Rate Limits**: Binance implements rate limiting: + + - 1200 requests per minute for most endpoints + - Some endpoints have specific weight limits + - The plugin handles rate limiting errors appropriately + +2. **Minimum Order Sizes**: Binance enforces minimum order sizes and notional values: + + - Minimum order size varies by trading pair + - Minimum notional value (quantity × price) must be met + - The plugin validates these requirements before order execution + +3. **Error Handling**: The plugin provides detailed error messages for: + - Invalid API credentials + - Insufficient balance + - Invalid trading pairs + - Minimum notional value not met + - Other API-specific errors + +## Service Architecture + +The plugin is organized into specialized services: + +- `PriceService`: Handles price-related operations +- `TradeService`: Manages trading operations +- `AccountService`: Handles balance and account operations +- `BaseService`: Provides common functionality diff --git a/docs/packages/plugins/birdeye.md b/docs/packages/plugins/birdeye.md new file mode 100644 index 00000000000..0ac543844f4 --- /dev/null +++ b/docs/packages/plugins/birdeye.md @@ -0,0 +1,38 @@ +# Eliza Birdeye Plugin + +A powerful plugin for Eliza that integrates with Birdeye's comprehensive DeFi and token analytics API. This plugin provides real-time access to blockchain data, token metrics, and DeFi analytics across multiple networks. + +## Features + +### Provider Featurs + +- **Agent Portfolio Provider** + + - If `BIRDEYE_WALLET_ADDR` is set, this provider will fetch the wallet's portfolio data from Birdeye and be able to respond to questions related to the wallet's holdings. + +### Action Features + +- **Token Search Address** + + - This action will search input message for token addresses and when present will query Birdeye for token information + +- **Token Search Symbol** + + - This action will search input message for token symbols in the format of `$SYMBOL` and when present will query Birdeye for token information. Note that this action currently only supports SOL, SUI, and ETH addresses. + - _Any addresses that look like EVM addresses will be treated as ETH addresses since there is no easy way to distinguish between the other EVM chains that are supported by Birdeye_. + +- **Wallet Search Address** + + - This action will search input message for wallet addresses and when present will query Birdeye for wallet information + +## API Reference + +The plugin provides access to a subset of Birdeye API endpoints through structured interfaces. For detailed API documentation, visit [Birdeye's API Documentation](https://public-api.birdeye.so). + +## License + +See parent project for license information. + +## Contributing + +Contributions are welcome! See parent project for contribution guidelines. diff --git a/docs/packages/plugins/bittensor.md b/docs/packages/plugins/bittensor.md new file mode 100644 index 00000000000..47c93d7b50c --- /dev/null +++ b/docs/packages/plugins/bittensor.md @@ -0,0 +1,24 @@ +# @elizaos/plugin-bittensor + +A plugin that integrates BitMind's API into ElizaOS agents, enabling access to AI services and digital assets powered by the Bittensor network. + +## Description +The Bittensor plugin enables agents to interact with BitMind's API to access a range of AI capabilities on Bittensor's decentralized network, including inference, media generation, and deepfake detection services. Currently, the plugin offers image detection functionality to determine if images are AI-generated, with additional capabilities planned for future releases through the BitMind API. + +## Installation + +```bash +pnpm install @elizaos/plugin-bittensor +``` + +## Features + +### SN34 - Deepfake Detection +The plugin currently implements BitMind's SN34 subnet for AI-generated image detection. This subnet provides: +- Real-time analysis of image authenticity +- Confidence scoring for AI influence detection +- Detailed response formatting with: + - Binary classification (AI vs Natural image) + - Percentage-based AI influence rating + - Risk assessment based on confidence levels + - Visual indicators for quick interpretation (🤖, 📸, ⚠️, ⚡, ✅) \ No newline at end of file diff --git a/docs/packages/plugins/bnb.md b/docs/packages/plugins/bnb.md new file mode 100644 index 00000000000..6b66f199f8a --- /dev/null +++ b/docs/packages/plugins/bnb.md @@ -0,0 +1,144 @@ +# `@ai16z/plugin-bnb` + +This plugin enables interaction with the BNB Chain ecosystem, providing support for BNB Smart Chain, opBNB, and BNB Greenfield networks. + +--- + +## Configuration + +### Default Setup + +By default, **plugin-bnb** is not enabled. To use it, simply add your private key and/or public key to the `.env` file. If private key is not provided, some actions will be disabled. + +**Security Note:** Your private key grants full access to your associated funds. Store it securely and never share it with anyone. Do not commit or upload your `.env` file to version control systems like Git. + +```env +BNB_PRIVATE_KEY=your-private-key-here +BNB_PUBLIC_KEY=your-public-key-here +``` + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use custom RPC URLs, add the following to your `.env` file: + +```env +BSC_PROVIDER_URL=https://your-custom-bsc-rpc-url +OPBNB_PROVIDER_URL=https://your-custom-opbnb-rpc-url +``` + +## Provider + +The **Wallet Provider** initializes with BSC as the default. It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chains. + +--- + +## Actions + +### Get Balance + +Get the balance of an address on BSC. Just specify the: + +- **Chain** +- **Address** +- **Token** + +**Example usage:** + +```bash +Get the USDC balance of 0x1234567890 on BSC. +``` + +### Transfer + +Transfer tokens from one address to another on BSC/opBNB. Just specify the: + +- **Chain** +- **Token** +- **Amount** +- **Recipient Address** +- **Data**(Optional) + +**Example usage:** + +```bash +Transfer 1 BNB to 0xRecipient on BSC. +``` + +### Swap + +Swap tokens from one address to another on BSC. Just specify the: + +- **Chain**(Only BSC is supported for now) +- **Input Token** +- **Output Token** +- **Amount** +- **Slippage**(Optional) + +**Example usage:** + +```bash +Swap 1 BNB to USDC on BSC. +``` + +### Bridge + +Bridge tokens from one chain to another on BSC/opBNB. Just specify the: + +- **From Chain** +- **To Chain** +- **From Token** +- **To Token** +- **Amount** +- **Recipient Address**(Optional) + +**Example usage:** + +```bash +Bridge 1 BNB from BSC to opBNB. +``` + +### Stake + +Perform staking operations on BSC through [Lista Dao](https://lista.org/liquid-staking/BNB). User will receive sliBNB(0xB0b84D294e0C75A6abe60171b70edEb2EFd14A1B) as staking credit. Just specify the: + +- **Chain**(Only BSC is supported for now) +- **Action** +- **Amount** + +**Example usage:** + +```bash +Deposit 1 BNB to Lista Dao. +``` + +### Faucet + +Request testnet tokens from the faucet. You could request any of the supported tokens(BNB, BTC, BUSD, DAI, ETH, USDC). Just specify the: + +- **Token**(Optional) +- **Recipient Address** + +The faucet is rate-limited. One claim is allowed per IP address within a 24-hour period. And the recipient address must maintain a minimum balance of 0.002 BNB on BSC Mainnet to qualify. + +**Example usage:** + +```bash +Get some testnet USDC from the faucet. +``` + +--- + +## Contribution + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR. + +### Running Tests + +Navigate to the `plugin-bnb` directory and run: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/bootstrap.md b/docs/packages/plugins/bootstrap.md new file mode 100644 index 00000000000..2988bd7d643 --- /dev/null +++ b/docs/packages/plugins/bootstrap.md @@ -0,0 +1,180 @@ +# Unmaintained: this plugin is currently part of @elizaos/eliza + +# @elizaos/plugin-bootstrap + +A plugin providing core functionality and basic actions for ElizaOS agents. + +## Description + +The Bootstrap plugin enables fundamental agent behaviors including conversation management, room interactions, and fact tracking. It provides essential actions and evaluators that form the foundation of agent interactions. + +## Installation + +```bash +pnpm install @elizaos/plugin-bootstrap +``` + +## Features + +### 1. Conversation Management + +- NONE action for basic responses +- CONTINUE action for follow-ups +- IGNORE action for appropriate disengagement +- Built-in conversation flow control + +### 2. Room Control + +- Follow/Unfollow room functionality +- Mute/Unmute capabilities +- Automatic engagement level tracking +- Smart participation management + +### 3. Fact Management + +- Automatic fact extraction +- Categorization of claims +- Deduplication of known information +- Support for multiple fact types: + - Permanent facts + - Status updates + - Opinions + - Biographical information + +### 4. Goal Tracking + +- Track objective progress +- Update goal statuses +- Monitor completion states +- Automatic progress evaluation + +## Providers + +### 1. Boredom Provider + +- Tracks engagement levels +- Provides status messages +- Monitors conversation quality +- Adjusts participation accordingly + +### 2. Facts Provider + +- Manages fact database +- Retrieves relevant information +- Formats fact summaries +- Maintains fact context + +### 3. Time Provider + +- Provides UTC timestamps +- Human-readable formatting +- Time-based operation support + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Dependencies + +- @elizaos/core: workspace:\* + +## Future Enhancements + +1. **Enhanced Conversation Management** + + - Advanced context tracking + - Multi-thread conversation support + - Conversation state persistence + - Improved conversation flow control + - Natural language understanding improvements + +2. **Advanced Room Control** + + - Dynamic room creation and management + - Room permission system + - Advanced moderation tools + - Room analytics and insights + - Cross-room communication features + +3. **Expanded Fact Management** + + - Enhanced fact verification system + - Fact relationship mapping + - Automated fact updating + - Fact confidence scoring + - Cross-reference system + - Fact expiration management + +4. **Goal System Improvements** + + - Multi-step goal planning + - Goal dependency tracking + - Progress visualization + - Goal priority management + - Automated milestone tracking + - Goal optimization suggestions + +5. **Provider Enhancements** + + - Improved boredom detection + - Advanced engagement metrics + - Enhanced fact retrieval algorithms + - Real-time status updates + - Provider performance analytics + +6. **Memory Management** + + - Enhanced memory prioritization + - Memory compression techniques + - Long-term memory storage + - Memory relationship mapping + - Context-aware recall + +7. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework improvements + - Plugin development templates + - Documentation generator + - Performance profiling tools + +8. **Integration Features** + - Enhanced plugin interoperability + - External service connectors + - API gateway integration + - Webhook system improvements + - Third-party platform support + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza Core development team +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/browser.md b/docs/packages/plugins/browser.md new file mode 100644 index 00000000000..c62e92ecbdb --- /dev/null +++ b/docs/packages/plugins/browser.md @@ -0,0 +1,133 @@ +# @elizaos/plugin-browser + +Browser automation plugin for Eliza OS that provides web scraping and browser automation capabilities. + +## Overview + +The Browser plugin serves as a powerful component of Eliza OS, providing browser automation and web scraping capabilities using Playwright. It enables automated web interactions, content extraction, and browser-based tasks for Eliza agents. + +## Features + +- **Browser Automation**: Web scraping and content extraction with Playwright +- **Multiple Browser Support**: Works with Chromium, Firefox, and WebKit +- **Headless Mode**: Support for both headless and headed browser operations +- **Page Interaction**: Automated form filling, clicking, and navigation +- **Content Extraction**: HTML parsing and data extraction +- **Screenshot Capture**: Page and element screenshot capabilities +- **Network Handling**: Request interception and network monitoring + +## Installation + +```bash +npm install @elizaos/plugin-browser +``` + +## Configuration + +The plugin may require various environment variables depending on your use case: + +### Core Settings + +```env +CAPSOLVER_API_KEY=your_capsolver_api_key # Optional: For CAPTCHA solving capabilities +``` + +## Usage + +```typescript +import { createBrowserPlugin } from "@elizaos/plugin-browser"; + +// Initialize the plugin +const browserPlugin = createBrowserPlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(browserPlugin); +``` + +## Services + +### BrowserService + +Provides comprehensive web automation and scraping capabilities using Playwright: + +- Page navigation and interaction +- Form filling and submission +- Content extraction and parsing +- Screenshot capture +- Network request handling +- CAPTCHA solving (with appropriate configuration) + +## Safety & Security + +### Browser Operations + +- **Sandbox Environment**: Browser operations run in isolated contexts +- **Resource Management**: Automatic cleanup of browser instances +- **Request Filtering**: Control over network requests +- **Memory Management**: Efficient handling of browser resources + +## Troubleshooting + +### Common Issues + +1. **Browser Launch Failures** + +```bash +Error: Failed to launch browser +``` + +- Verify system dependencies are installed +- Check for sufficient system resources +- Ensure proper permissions + +2. **Page Navigation Issues** + +```bash +Error: Navigation timeout +``` + +- Check network connectivity +- Verify URL accessibility +- Adjust timeout settings + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-browser:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- Supported operating system (Windows, macOS, or Linux) +- Sufficient RAM for browser operations +- Internet connectivity + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Playwright](https://playwright.dev/) - Core browser automation +- [CAPSolver](https://capsolver.com/) - CAPTCHA solving capabilities (optional) + +Special thanks to: + +- The Playwright community for their excellent browser automation framework +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/cache-redis.md b/docs/packages/plugins/cache-redis.md new file mode 100644 index 00000000000..46fbd84ada0 --- /dev/null +++ b/docs/packages/plugins/cache-redis.md @@ -0,0 +1 @@ +# Unmaintained: this cache plugin originally lived in @elizaos/core. It needs a maintainer. diff --git a/docs/packages/plugins/ccxt.md b/docs/packages/plugins/ccxt.md new file mode 100644 index 00000000000..19f2fdc9814 --- /dev/null +++ b/docs/packages/plugins/ccxt.md @@ -0,0 +1,62 @@ +# @elizaos/plugin-ccxt + +A plugin for Eliza OS that enables cryptocurrency trading and arbitrage using the CCXT library. + +## Features + +- Check balance of assets across multiple configured exchanges +- Place market and limit buy/sell orders +- Identify arbitrage opportunities between different exchanges + +## Installation + +```bash +npm install @elizaos/plugin-ccxt +``` + +## Configuration +Get your API keys from your preferred cryptocurrency exchanges. + +Set up your environment variables: + +```bash + +CCXT__API_KEY=your_api_key +CCXT__API_SECRET=your_api_secret +``` +### FOR EXAMPLE + +```bash +CCXT_BINANCE_API_KEY=your_binance_api_key +CCXT_BINANCE_API_SECRET=your_binance_api_secret + +CCXT_BYBIT_API_KEY=your_bybit_api_key +CCXT_BYBIT_API_SECRET=your_bybit_api_secret +``` + + +## Available Actions + +### checkbalance +Retrieves the current balance of your assets from a specified exchange. + +### placeorder +Places a market or limit buy/sell order on a specified exchange. + +### getarbitrageopportunity +Analyzes price differences across exchanges to identify profitable trades. + + +## Rate Limits + +Each exchange has its own rate limits. Please refer to the official documentation of your exchange to understand the limitations. + +# Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- [DISCORD](https://discordapp.com/users/zettdrive) +- [GMAIL](mailto:pranavjadhavworks@gmail.com) + +## Links +- [CCXT DOCUMENTATION](https://docs.ccxt.com/) diff --git a/docs/packages/plugins/chainbase.md b/docs/packages/plugins/chainbase.md new file mode 100644 index 00000000000..1439da3fe4b --- /dev/null +++ b/docs/packages/plugins/chainbase.md @@ -0,0 +1,66 @@ +# Chainbase Plugin for Eliza + +The Chainbase Plugin for Eliza bridges the gap between on-chain data and AI agents, enabling natural language interactions with blockchain data across multiple networks. This plugin leverages Chainbase's comprehensive blockchain data infrastructure to provide real-time insights and analytics. + +## Description + +This plugin serves as a powerful interface between Eliza AI agents and blockchain data, allowing users to query and analyze on-chain information using natural language. It transforms complex blockchain queries into actionable insights without requiring deep technical knowledge. + +## Key Features + +- **Multi-chain Data Access**: Access comprehensive data across multiple blockchain networks +- **Natural Language Processing**: Convert natural language queries into blockchain data analytics and insights +- **Real-time Data**: Get up-to-date blockchain information and analytics + +## Supported Networks + +- Ethereum +- Polygon +- BNB Smart Chain (BSC) +- Avalanche +- Arbitrum One +- Optimism +- Base +- zkSync +- Merlin + +## Usage Examples + +### On-chain Data Queries + +```plaintext +Query: "query onchain data: This address 0x8308964da9ed5d2e8012023d7c7ef02f9e6438c7 which tokens on Ethereum are held" +``` + +This query will return the token holdings for the specified Ethereum address. + +```plaintext +Query: "query onchain data: List the top 10 Ethereum blocks by total gas used in the last 24 hours" +``` + +This query will analyze and return gas usage statistics for recent Ethereum blocks. + +```plaintext +Query: "query onchain data: The address 0x8308964da9ed5d2e8012023d7c7ef02f9e6438c7 last 10 Ethereum token transfer" +``` + +This query will fetch the most recent 10 token transfer events for the specified Ethereum address, including both incoming and outgoing transfers. + +## Components + +- **Actions**: Pre-configured blockchain data retrieval and analysis actions +- **Providers**: Data providers for different blockchain networks +- **Evaluators**: Analysis tools for blockchain data interpretation +- **Services**: Specialized services for data processing and transformation + +## Getting Started + +To use this plugin, you'll need a Chainbase API key: + +1. Visit [Chainbase Platform](https://console.chainbase.com) to create an account +2. Once logged in, you can obtain a free API key from your dashboard +3. Set your API key as the `CHAINBASE_API_KEY` environment variable + +For development and testing purposes, you can use the API key "demo" to test the basic functionality. + +For more detailed information about the available APIs and endpoints, please refer to the [Chainbase API Documentation](https://docs.chainbase.com/api-reference/overview). diff --git a/docs/packages/plugins/coinbase.md b/docs/packages/plugins/coinbase.md new file mode 100644 index 00000000000..840d82716ef --- /dev/null +++ b/docs/packages/plugins/coinbase.md @@ -0,0 +1,213 @@ +# @elizaos/plugin-coinbase + +A comprehensive Coinbase integration plugin for ElizaOS that provides access to Coinbase's various APIs and services. + +## Features + +- **Commerce Integration**: Create and manage payment charges using Coinbase Commerce +- **Trading**: Execute trades and swaps between different assets +- **Token Contract Management**: Deploy and interact with ERC20, ERC721, and ERC1155 smart contracts +- **Mass Payments**: Process bulk transfers and payments to multiple addresses +- **Advanced Trading**: Access to Coinbase Advanced Trading API features +- **Webhook Management**: Create and manage webhooks for various blockchain events + +## Installation + +```bash +npm install @elizaos/plugin-coinbase +``` + +## Configuration + +The plugin requires several environment variables to be set: + +```env +COINBASE_API_KEY=your_api_key +COINBASE_PRIVATE_KEY=your_private_key +COINBASE_COMMERCE_KEY=your_commerce_key +COINBASE_NOTIFICATION_URI=your_webhook_notification_uri +``` + +## Usage + +```typescript +import { plugins } from "@elizaos/plugin-coinbase"; + +// Register all plugins +const { + coinbaseMassPaymentsPlugin, + coinbaseCommercePlugin, + tradePlugin, + tokenContractPlugin, + webhookPlugin, + advancedTradePlugin, +} = plugins; + +// Register individual plugins as needed +runtime.registerPlugin(coinbaseCommercePlugin); +runtime.registerPlugin(tradePlugin); +// etc... +``` + +## Available Plugins + +### Commerce Plugin + +- Create charges with fixed or dynamic pricing +- Support for multiple currencies (USD, EUR, USDC) +- Charge status tracking and management + +### Trade Plugin + +- Execute basic trades between assets +- Support for market and limit orders +- Transaction logging and tracking + +### Token Contract Plugin + +- Deploy ERC20, ERC721, and ERC1155 contracts +- Interact with deployed contracts +- Read contract data and balances + +### Mass Payments Plugin + +- Process bulk transfers to multiple addresses +- Support for various assets and networks +- Transaction logging and CSV export + +### Advanced Trade Plugin + +- Access to advanced trading features +- Support for complex order types +- Detailed trade history and tracking + +### Webhook Plugin + +- Create and manage blockchain event webhooks +- Support for various event types and filters +- Webhook status tracking and logging + +## Supported Networks + +- Base (Mainnet & Sepolia) +- Ethereum (Mainnet & Holesky) +- Polygon Mainnet +- Solana (Mainnet & Devnet) +- Arbitrum Mainnet +- And more... + +## CSV Logging + +The plugin automatically logs various operations to CSV files: + +- `trades.csv`: Trading operations +- `transactions.csv`: Mass payment transactions +- `webhooks.csv`: Webhook configurations +- `advanced_trades.csv`: Advanced trading operations + +## Dependencies + +- `@elizaos/core`: Core ElizaOS functionality +- `coinbase-api`: Coinbase API integration +- `coinbase-advanced-sdk`: Coinbase Advanced Trading SDK +- Additional type definitions and utilities + +## Future Enhancements + +1. **Advanced Trading Features** + + - Real-time market data streaming + - Advanced order types (OCO, trailing stop) + - Portfolio rebalancing automation + - Custom trading strategies implementation + - Multi-exchange arbitrage support + +2. **Enhanced Commerce Integration** + + - Subscription payment handling + - Multi-currency checkout optimization + - Advanced refund management + - Custom payment flow templates + - Automated invoice generation + +3. **Improved Token Management** + + - Batch token operations + - Gas optimization for token contracts + - Token metadata management system + - Automated token listing process + - Smart contract deployment templates + +4. **Security Enhancements** + + - Advanced API key management + - Multi-signature support + - Transaction monitoring system + - Risk assessment tools + - Rate limiting improvements + +5. **Analytics and Reporting** + + - Custom report generation + - Trading performance analytics + - Payment flow analytics + - Real-time monitoring dashboard + - Historical data analysis tools + +6. **Webhook Management** + + - Enhanced event filtering + - Retry mechanism improvements + - Webhook monitoring dashboard + - Custom webhook templates + - Event batching support + +7. **Developer Tools** + + - SDK expansion + - Testing environment improvements + - Documentation generator + - CLI tools for common operations + - Integration templates + +8. **Cross-Platform Integration** + - Mobile SDK support + - Browser extension support + - Desktop application integration + - IoT device support + - Cross-chain bridging capabilities + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Coinbase](https://www.coinbase.com/): Digital currency exchange platform +- [Coinbase Commerce](https://commerce.coinbase.com/): Cryptocurrency payment solution +- [Coinbase Cloud](https://www.coinbase.com/cloud): Blockchain infrastructure +- [Coinbase Advanced Trade API](https://docs.cloud.coinbase.com/advanced-trade-api/): Trading interface +- [Coinbase Prime](https://prime.coinbase.com/): Institutional trading platform + +Special thanks to: + +- The Coinbase development team +- The Coinbase Commerce team +- The Coinbase Cloud infrastructure team +- The Advanced Trade API maintainers +- The Eliza community for their contributions and feedback + +For more information about Coinbase capabilities: + +- [Coinbase API Documentation](https://docs.cloud.coinbase.com/) +- [Commerce API Reference](https://docs.cloud.coinbase.com/commerce/reference/) +- [Advanced Trade Documentation](https://docs.cloud.coinbase.com/advanced-trade-api/) +- [Coinbase Prime Documentation](https://docs.prime.coinbase.com/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/coingecko.md b/docs/packages/plugins/coingecko.md new file mode 100644 index 00000000000..fcb79d8a558 --- /dev/null +++ b/docs/packages/plugins/coingecko.md @@ -0,0 +1,98 @@ +# Plugin CoinGecko + +A plugin for fetching cryptocurrency price data from the CoinGecko API. + +## Overview + +The Plugin CoinGecko provides a simple interface to get real-time cryptocurrency data. It integrates with CoinGecko's API to fetch current prices, market data, trending coins, and top gainers/losers for various cryptocurrencies in different fiat currencies. + +This plugin uses the [CoinGecko Pro API](https://docs.coingecko.com/reference/introduction). Please refer to their documentation for detailed information about rate limits, available endpoints, and response formats. + +## Installation + +```bash +pnpm add @elizaos/plugin-coingecko +``` + +## Configuration + +Set up your environment with the required CoinGecko API key: + +| Variable Name | Description | +| ------------------- | ---------------------- | +| `COINGECKO_API_KEY` | Your CoinGecko Pro API key | +| `COINGECKO_PRO_API_KEY` | Your CoinGecko Pro API key | + +## Usage + +```typescript +import { coingeckoPlugin } from "@elizaos/plugin-coingecko"; + +// Initialize the plugin +const plugin = coingeckoPlugin; +``` + +## Actions + +### GET_PRICE + +Fetches the current price and market data for one or more cryptocurrencies. + +Features: +- Multiple currency support (e.g., USD, EUR, JPY) +- Optional market cap data +- Optional 24h volume data +- Optional 24h price change data +- Optional last update timestamp + +Examples: +- "What's the current price of Bitcoin?" +- "Check ETH price in EUR with market cap" +- "Show me BTC and ETH prices in USD and EUR" +- "What's USDC worth with 24h volume and price change?" + +### GET_TRENDING + +Fetches the current trending cryptocurrencies on CoinGecko. + +Features: +- Includes trending coins with market data +- Optional NFT inclusion +- Optional category inclusion + +Examples: +- "What's trending in crypto?" +- "Show me trending coins only" +- "What are the hot cryptocurrencies right now?" + +### GET_TOP_GAINERS_LOSERS + +Fetches the top gaining and losing cryptocurrencies by price change. + +Features: +- Customizable time range (1h, 24h, 7d, 14d, 30d, 60d, 1y) +- Configurable number of top coins to include +- Multiple currency support +- Market cap ranking included + +Examples: +- "Show me the biggest gainers and losers today" +- "What are the top movers in EUR for the past week?" +- "Show me monthly performance of top 100 coins" + +## Response Format + +All actions return structured data including: +- Formatted text for easy reading +- Raw data for programmatic use +- Request parameters used +- Error details when applicable + +## Error Handling + +The plugin handles various error scenarios: +- Rate limiting +- API key validation +- Invalid parameters +- Network issues +- Pro plan requirements \ No newline at end of file diff --git a/docs/packages/plugins/coinmarketcap.md b/docs/packages/plugins/coinmarketcap.md new file mode 100644 index 00000000000..9c042d9e576 --- /dev/null +++ b/docs/packages/plugins/coinmarketcap.md @@ -0,0 +1,127 @@ +# @elizaos/plugin-coinmarketcap + +A plugin for Eliza that enables cryptocurrency price checking using the CoinMarketCap API. + +## Features + +- Real-time cryptocurrency price checking +- Support for multiple cryptocurrencies (BTC, ETH, SOL, etc.) +- Currency conversion (USD, EUR, etc.) +- Detailed price and market data +- Natural language processing for price queries + +## Installation + +```bash +npm install @elizaos/plugin-coinmarketcap +``` + +## Configuration + +1. Get your API key from [CoinMarketCap](https://pro.coinmarketcap.com) + +2. Set up your environment variables: + +```bash +COINMARKETCAP_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { CoinMarketCapPlugin } from "@elizaos/plugin-coinmarketcap"; + +// In your Eliza configuration +plugins: [ + new CoinMarketCapPlugin(), + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about cryptocurrency prices. Here are some examples: + +```plaintext +"What's the current price of Bitcoin?" +"Show me ETH price in USD" +"Get the price of SOL" +``` + +### Supported Cryptocurrencies + +The plugin supports major cryptocurrencies including: + +- Bitcoin (BTC) +- Ethereum (ETH) +- Solana (SOL) +- USD Coin (USDC) +- And many more... + +### Available Actions + +#### GET_PRICE + +Fetches the current price of a cryptocurrency. + +```typescript +// Example response format +{ + symbol: "BTC", + price: 50000.00, + currency: "USD", + marketCap: 1000000000000, + volume24h: 50000000000, + percentChange24h: 2.5 +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| --------------------- | -------------------------- | -------- | +| COINMARKETCAP_API_KEY | Your CoinMarketCap API key | Yes | + +### Types + +```typescript +interface PriceData { + price: number; + marketCap: number; + volume24h: number; + percentChange24h: number; +} + +interface GetPriceContent { + symbol: string; + currency: string; +} +``` + +## Error Handling + +The plugin includes comprehensive error handling for: + +- Invalid API keys +- Rate limiting +- Network timeouts +- Invalid cryptocurrency symbols +- Unsupported currencies + +## Rate Limits + +CoinMarketCap API has different rate limits based on your subscription plan. Please refer to [CoinMarketCap's pricing page](https://coinmarketcap.com/api/pricing/) for detailed information. + +## Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- Discord: 0xspit + +## Links + +- [CoinMarketCap API Documentation](https://coinmarketcap.com/api/documentation/v1/) + +- [GitHub Repository](https://github.com/elizaos/eliza/tree/main/packages/plugin-coinmarketcap) diff --git a/docs/packages/plugins/compass.md b/docs/packages/plugins/compass.md new file mode 100644 index 00000000000..2c937ee3482 --- /dev/null +++ b/docs/packages/plugins/compass.md @@ -0,0 +1,73 @@ +# @elizaos-plugins/plugin-compass + +The `@elizaos-plugins/plugin-compass` is a powerful plugin designed to seamlessly integrate the [Compass API](https://api.compasslabs.ai/) into the ElizaOS ecosystem. This integration facilitates the execution of operations on DeFi protocols supported by the Compass API. + +## Overview + +The Compass plugin leverages the [`@compass-labs/sdk`](https://www.npmjs.com/package/@compass-labs/sdk) TypeScript SDK to provide a suite of actions. These actions correspond to various endpoint calls and schemas defined by the Compass API, enabling efficient interaction with the API. + +## Configuration + +The plugin requires the following env variables to be set: + +``` +COMPASS_WALLET_PRIVATE_KEY= +COMPASS_ARBITRUM_RPC_URL= +COMPASS_ETHEREUM_RPC_URL= +COMPASS_BASE_RPC_URL= +``` + +or this can directly be set in the character configuration: + +``` +... +"settings": { + "secrets": { + "COMPASS_WALLET_PRIVATE_KEY": , + "COMPASS_ARBITRUM_RPC_URL": , + "COMPASS_ETHEREUM_RPC_URL": , + "COMPASS_BASE_RPC_URL": + } +}, +... +``` + +## Supported Protocols + +For a comprehensive list of supported protocols and available actions, please visit the [Compass API](https://api.compasslabs.ai/) documentation page. + +## Installation Instructions + +To install the plugin: + +``` +npx elizaos plugins add @elizaos-plugins/plugin-compass +pnpm run build +``` + +before starting up eliza + +## Character Configuration + +Here are some secrets that need to be set if the plugin was to be used together with a telegram client + +``` +... +"clients": ["telegram"], +... +"settings": { + ... + "secrets": { + "OPENAI_API_KEY": "", + "COMPASS_WALLET_PRIVATE_KEY": "", + "COMPASS_ARBITRUM_RPC_URL": "", + "COMPASS_ETHEREUM_RPC_URL": "", + "COMPASS_BASE_RPC_URL": "", + "TELEGRAM_BOT_TOKEN": "" + } + }, +... +"plugins": ["@elizaos-plugins/plugin-compass"], +... +``` + diff --git a/docs/packages/plugins/conflux.md b/docs/packages/plugins/conflux.md new file mode 100644 index 00000000000..288ffe3ac1d --- /dev/null +++ b/docs/packages/plugins/conflux.md @@ -0,0 +1,237 @@ +# @elizaos/plugin-conflux + +A plugin for interacting with the Conflux blockchain network within the ElizaOS ecosystem. + +## Description + +The Conflux plugin enables seamless interaction with both Conflux Core Space and eSpace networks. It provides functionality for token transfers, cross-space bridge operations, and ConfiPump token management (creation, buying, and selling). + +## Installation + +```bash +pnpm install @elizaos/plugin-conflux +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +CONFLUX_CORE_PRIVATE_KEY= +CONFLUX_CORE_SPACE_RPC_URL= +CONFLUX_MEME_CONTRACT_ADDRESS= +``` + +## Usage + +### Basic Integration + +```typescript +import { confluxPlugin } from "@elizaos/plugin-conflux"; +``` + +### Example Usage + +```typescript +// Core Space Transfer +"Send 1 CFX to cfx:aaejuaaaaaaaaaaaaaaaaaaaaaaaaaaaa2eaeg85p5"; + +// Cross-Space Bridge Transfer +"Send 1 CFX to eSpace Address 0x119DA8bbe74B1C5c987D0c64D10eC1dB301d4752"; + +// ConfiPump Token Creation +"Create a new token called GLITCHIZA with symbol GLITCHIZA and generate a description about it"; + +// ConfiPump Token Trading +"Buy 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)"; +"Sell 0.00069 CFX worth of GLITCHIZA(0x1234567890abcdef)"; +``` + +## API Reference + +### Actions + +#### SEND_CFX + +Transfers CFX tokens within Conflux Core Space. + +**Aliases:** + +- SEND_CONFLUX +- SEND_CFX_CORE_SPACE +- TRANSFER_CFX + +**Input Content:** + +```typescript +interface TransferContent { + to: string; // Conflux Core Space address (cfx: prefix) + amount: string; // Amount of CFX to send +} +``` + +#### BRIDGE_SEND_CFX + +Transfers CFX tokens from Core Space to eSpace. + +**Aliases:** + +- BRIDGE_SEND_CONFLUX +- CROSS_SPACE_SEND_CFX +- BRIDGE_TRANSFER_CFX +- CROSS_SPACE_TRANSFER_CFX + +**Input Content:** + +```typescript +interface TransferContent { + to: string; // Conflux eSpace address (0x prefix) + amount: string; // Amount of CFX to send +} +``` + +#### CONFI_PUMP + +Manages ConfiPump token operations. + +**Aliases:** + +- SELL_TOKEN +- BUY_TOKEN +- CREATE_TOKEN + +**Input Content:** + +```typescript +interface PumpContent { + action: "CREATE_TOKEN" | "BUY_TOKEN" | "SELL_TOKEN"; + params: { + name?: string; + symbol?: string; + description?: string; + tokenAddress?: string; + value?: string; + }; +} +``` + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Ensure sufficient CFX balance for transactions + - Verify correct address format (cfx: for Core Space, 0x for eSpace) + - Check RPC endpoint connectivity + +## Security Best Practices + +1. **Private Key Management** + - Store private keys securely using environment variables + - Never expose private keys in code or logs + - Use separate accounts for development and production + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Token Management** + + - Batch token transfers + - Token allowance management + - Advanced meme token features + - Token metadata management + +2. **Enhanced Bridge Operations** + + - Multi-token bridge support + - Automated bridge fee optimization + - Bridge transaction status tracking + - Cross-space batch operations + +3. **Smart Contract Integration** + + - Contract deployment tools + - Contract interaction templates + - ABI management system + - Contract verification tools + +4. **Performance Optimizations** + + - Transaction batching + - Improved caching mechanisms + - Gas optimization strategies + - Network request optimization + +5. **Developer Tools** + + - CLI tools for common operations + - Development environment templates + - Testing utilities + - Documentation generator + +6. **Security Features** + + - Transaction simulation + - Risk assessment tools + - Address validation improvements + - Rate limiting controls + +7. **Monitoring and Analytics** + - Transaction tracking dashboard + - Performance metrics + - Error reporting system + - Usage analytics + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Conflux Network](https://confluxnetwork.org/): Hybrid consensus blockchain +- [js-conflux-sdk](https://www.npmjs.com/package/js-conflux-sdk): Official Conflux JavaScript SDK +- [ConfiPump](https://confipump.io/): Meme token creation platform +- [@conflux-dev/conflux-address-js](https://www.npmjs.com/package/@conflux-dev/conflux-address-js): Address utilities + +Special thanks to: + +- The Conflux Foundation for developing the network +- The Conflux Developer community +- The ConfiPump team for meme token infrastructure +- The js-conflux-sdk maintainers +- The Eliza community for their contributions and feedback + +For more information about Conflux capabilities: + +- [Conflux Documentation](https://developer.confluxnetwork.org/) +- [Conflux Portal](https://portal.confluxnetwork.org/) +- [ConfluxScan](https://confluxscan.io/) +- [Cross-Space Bridge](https://bridge.confluxnetwork.org/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/cosmos.md b/docs/packages/plugins/cosmos.md new file mode 100644 index 00000000000..79b00efd505 --- /dev/null +++ b/docs/packages/plugins/cosmos.md @@ -0,0 +1,223 @@ +# `@elizaos/plugin-cosmos` + +This plugin provides actions and utilities for interacting with Cosmos-compatible blockchains. + +--- + +## Development + +Prepare Eliza according to [README](../../README.md) +Add variables required for `@elizaos/plugin-cosmos` : + +``` +COSMOS_RECOVERY_PHRASE=your recovery phrase words +COSMOS_AVAILABLE_CHAINS=chain1,chain2,chain3 +``` + +Ensure the appropriate environment variables are added for the plugin. If they are correctly configured, the project will run with `@elizaos/plugin-cosmos` + +Run Eliza + +``` +pnpm run dev +``` + +## Configuration + +### Default Setup + +To start using the plugin, you need to provide your **Cosmos account recovery phrases** and the list of **available chains**. Add the following to your `.env` file: + +```env +COSMOS_RECOVERY_PHRASE=your recovery phrase words +COSMOS_AVAILABLE_CHAINS=chain1,chain2,chain3 +``` + +Ensure that the chain names in `COSMOS_AVAILABLE_CHAINS` match the identifiers from the [chain-registry](https://github.com/cosmos/chain-registry) library for compatibility. + +### Using the Cosmos Helper Character + +The plugin includes a pre-configured character, `cosmosHelper.character.json`, optimized for Cosmos-related operations. This character enhances interaction by: + +- Handling repeated prompts effectively. + +- Requesting confirmation before executing detected actions. + +To use the character, pass it with the `--characters` flag: + +```bash +--characters='../characters/cosmosHelper.character.json' +``` + +--- + +### Custom chain configuration + +Plugin allows you to pass you custom chain config to `createCosmosPlugin` function invoked in `../agent/src/index`. + +Your custom configuration fulfills the interfaces from `chain-registry` + +``` +import type { assets, chains } from "chain-registry"; + +export interface ICosmosPluginCustomChainData { + chainData: (typeof chains)[number]; + assets: (typeof assets)[number]; +} + +export interface ICosmosPluginOptions { + customChainData?: ICosmosPluginCustomChainData[]; +} +``` + +## Actions + +### Token Transfer + +This plugin supports a token transfer action, which allows users to transfer tokens between addresses on Cosmos-compatible blockchains. The action prompts for confirmation to ensure secure execution. + +#### Example Prompts + +Below are examples of how the transfer action can be initiated and confirmed: + +**Example** + +1. User input: + +``` +Make transfer 0.0001 ATOM to cosmos1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xv465ad on cosmoshubtestnet. +``` + +2. Plugin response: + +``` +Do you confirm the transfer action? +``` + +3. User confirmation: + +``` +Yes +``` + +4. Action executed. + +### Token IBC Transfer + +This plugin supports a token transfer action, which allows users to transfer tokens between addresses on Cosmos-compatible blockchains between different chains. + +#### Example Prompts + +Below are examples of how the ibc transfer action can be initiated and confirmed: + +**Example** + +1. User input: + +``` +Make an IBC transfer 0.0001 OSMO to neutron1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xg2nk82 from osmosistestnet to neutrontestnet +``` + +2. Plugin response: + +``` +Before making the IBC transfer, I would like to confirm the details. You would like to transfer 0.0001 OSMO from osmosistestnet to neutrontestnet, specifically to the address neutron1nk3uuw6zt5t5aqw5fvujkd54sa4uws9xg2nk82, is that correct? +``` + +3. User confirmation: + +``` +Yes +``` + +4. Action executed. + +--- + +### Token IBC Swap +This action allows swapping tokens between chains. The implementation of swapping is based on the Skip API and uses the @skip-go/client library. +To place transactions on chains, they must first be added to the env file. Specifically: +```env +COSMOS_AVAILABLE_CHAINS=osmosis,neutron,axelar,cosmoshub,terra2,pryzm +``` +Keep in mind that most swaps require intermediate chains. These chains must also be included in the env file. + +You can check which chains are supported by the Skip API and this plugin here: [Skip API Documentation](https://docs.skip.build/). + +The list below contains all supported chains extracted from the Skip API: +```env +COSMOS_AVAILABLE_CHAINS=terra2,quicksilver,coreum,regen,mars,passage,dhealth,lumnetwork,provenance,chihuahua,pryzm,fetchhub,comdex,kyve,xpla,umee,celestia,osmosis,empowerchain,migaloo,dymension,kujira,self,humans,gitopia,agoric,doravota,int3face,quasar,gravitybridge,kava,sifchain,seda,shentu,decentr,cronos,carbon,stride,haqq,jackal,omniflixhub,noble,sentinel,nolus,odin,assetmantle,dydx,beezee,axelar,nois,mantrachain,elys,crescent,synternet,xion,source,akash,sei,canto,teritori,stargaze,titan,aura,evmos,archway,gateway,cheqd,milkyway,nibiru,cosmoshub,ununifi,nyx,bitsong,cryptoorgchain,neutron,penumbra,terra,shido,sommelier,saga,secretnetwork,chain4energy,juno,andromeda,planq,lava,oraichain,injective,persistence,composable +``` + +#### Example prompts: + +##### Default flow +An example of the default flow of a swap request: + +1. User input: +``` + Swap 10 OSMO on osmosis to ATOM on cosmoshub +``` +2. Agent asks for confirmation: +``` +About to swap 10 OSMO on osmosis to ATAOM on cosmoshub. I would like to confirm the transaction details. Please confirm that you would like to proceed with the swap. +``` +3. User confiramation: +``` +confirming / yes +``` +4. Agent calls action and responds after completing: +``` +Successfuly swapped 10 OSMO tokens to ATOM on chain cosmoshub. +Transaction Hash: E84F36D6EEFAA6D7B70827F34EDAB83258BB86EFE33AEA1F4559D00B30CD3B50 +``` + +##### Special case handling +An example of a flow when there is more than one token with the same symbol on the destination chain (e.g., multiple USDC tokens): +1. User input: +``` +Swap 10 OSMO on osmosis to ATOM on cosmoshub +``` +2. Agent asks for confirmation: +``` +About to swap 10 OSMO on osmosis to ATAOM on cosmoshub. I would like to confirm the transaction details. Please confirm that you would like to proceed with the swap. +``` +3. User confirmation: +``` +confirming / yes +``` +4. Model response: +``` +I will now initiate the swap of 10 OSMO on the Osmosis chain to USDC on the Axelar chain. Please wait for the transaction to complete. If you need to swap more assets, feel free to let me know. + +Error occured. Swap was not performed. Please provide denom for coin: USDC, on Chain Name: axelar. It is necessary as the symbol USDC is not unique among coins on chain axelar. +Select one from found assets: +Symbol: USDC Desc: Circle's stablecoin on Axelar Denom: uusdc, +Symbol: USDC Desc: Circle's stablecoin from Polygon on Axelar Denom: polygon-uusdc, +Symbol: USDC Desc: Circle's stablecoin from Avalanche on Axelar Denom: avalanche-uusdc +``` +5. User response: +``` +Swap 10 OSMO on osmosis to USDC with denom uusdc on axelar +``` +6. Action call and agent response: +``` +Successfuly swapped 10 OSMO tokens to USDC uusdc on chain axelar. +Transaction Hash: E84F36D6EEFAA6D7B70827F34EDAB83258BB86EFE33AEA1F4559D00B30CD3B50 +``` + +## Contribution + +The plugin includes comprehensive tests. Before submitting any pull requests, ensure all tests pass. + +### Running Tests + +Navigate to the `plugin-cosmos` directory and execute: + +```bash +pnpm test +``` + +--- + +This plugin simplifies Cosmos blockchain interactions and enhances productivity with its tailored features. Happy building! diff --git a/docs/packages/plugins/cronos.md b/docs/packages/plugins/cronos.md new file mode 100644 index 00000000000..4d07b0cc5d5 --- /dev/null +++ b/docs/packages/plugins/cronos.md @@ -0,0 +1,257 @@ +# @elizaos/plugin-cronos + +Cronos plugin for Eliza, extending the EVM plugin functionality. + +## Supported Networks + +### Mainnet +- Cronos Mainnet (Chain ID: 25) + - RPC Endpoint: https://evm.cronos.org/ + - Explorer: https://explorer.cronos.org/ + - Native Token: CRO + +### Testnet +- Cronos Testnet 3 (Chain ID: 338) + - RPC Endpoint: https://evm-t3.cronos.org/ + - Explorer: https://cronos.org/explorer/testnet3 + - Native Token: TCRO + +## Installation + +```bash +pnpm add @elizaos/plugin-cronos +``` + +## Usage + +### Basic Setup +```typescript +import { cronosPlugin } from "@elizaos/plugin-cronos"; + +// Use the plugin in your Eliza configuration +const config = { + plugins: [cronosPlugin], + // ... rest of your config +}; +``` + +### Character Configuration Guide + +Create a `your-character.character.json` file with the following structure: + +```json +{ + "name": "YourCharacterName", + "plugins": ["@elizaos/plugin-cronos"], + "clients": ["telegram"], + "modelProvider": "openai", + "settings": { + "secrets": {}, + "chains": { + "evm": ["cronos", "cronosTestnet"] + } + }, + "system": "Primary function is to execute token transfers and check balances on Cronos chain.", + "actions": { + "SEND_TOKEN": { + "enabled": true, + "priority": 1, + "force": true, + "schema": { + "type": "object", + "properties": { + "fromChain": { + "type": "string", + "description": "The chain to execute the transfer on", + "enum": ["cronos", "cronosTestnet"] + }, + "toAddress": { + "type": "string", + "description": "The recipient's wallet address", + "pattern": "^0x[a-fA-F0-9]{40}$" + }, + "amount": { + "type": "string", + "description": "The amount of tokens to transfer", + "pattern": "^[0-9]*(\\.[0-9]+)?$" + } + }, + "required": ["fromChain", "toAddress", "amount"] + }, + "triggers": [ + "send * CRO to *", + "transfer * CRO to *" + ], + "examples": [ + { + "input": "Send 0.1 CRO to 0x...", + "output": { + "fromChain": "cronos", + "toAddress": "0x...", + "amount": "0.1" + } + } + ] + }, + "CHECK_BALANCE": { + "enabled": true, + "priority": 1, + "force": true, + "schema": { + "type": "object", + "properties": { + "chain": { + "type": "string", + "description": "The chain to check balance on", + "enum": ["cronos", "cronosTestnet"] + } + }, + "required": ["chain"] + }, + "triggers": [ + "check balance", + "show balance", + "what's my balance", + "how much CRO do I have", + "check balance on *", + "show balance on *" + ], + "examples": [ + { + "input": "check balance", + "output": { + "chain": "cronos" + } + }, + { + "input": "what's my balance on testnet", + "output": { + "chain": "cronosTestnet" + } + } + ] + } + }, + "messageExamples": [ + [ + { + "user": "{{user1}}", + "content": { + "text": "Send 100 CRO to 0x..." + } + }, + { + "user": "YourCharacterName", + "content": { + "text": "Processing token transfer...", + "action": "SEND_TOKEN" + } + } + ], + [ + { + "user": "{{user1}}", + "content": { + "text": "What's my balance?" + } + }, + { + "user": "YourCharacterName", + "content": { + "text": "Checking your balance...", + "action": "CHECK_BALANCE" + } + } + ] + ] +} +``` + +#### Key Configuration Fields: + +1. **Basic Setup** + - `name`: Your character's name + - `plugins`: Include `@elizaos/plugin-cronos` + - `clients`: Supported client platforms + +2. **Chain Settings** + - Configure both mainnet and testnet in `settings.chains.evm` + - Available options: `"cronos"` (mainnet) and `"cronosTestnet"` + +3. **Action Configuration** + - `SEND_TOKEN`: Action for token transfers + - `CHECK_BALANCE`: Action for checking wallet balance + - `schema`: Defines the required parameters for each action + - `triggers`: Phrases that activate the actions + - `examples`: Sample inputs and outputs + +4. **Message Examples** + - Provide example interactions + - Show how actions are triggered + - Demonstrate expected responses + +### Action Examples +``` +// Send tokens on mainnet +"Send 0.1 CRO to 0x..." use mainnet + +// Send tokens on testnet +"Send 0.1 TCRO to 0x..." use testnet + +// Check balance on mainnet +"check balance" +"what's my balance" +"how much CRO do I have" + +// Check balance on testnet +"check balance on testnet" +"what's my balance on testnet" +``` + +## Features + +- All standard EVM functionality inherited from @elizaos/plugin-evm +- Preconfigured for both Cronos Mainnet and Testnet +- Native CRO/TCRO token support +- Automated token transfer actions +- Balance checking functionality +- Built-in chain configuration + +## Environment Variables + +Required environment variable for transactions: + +```env +# Wallet private key (Required, must start with 0x) +CRONOS_PRIVATE_KEY=0x... +``` + +### Security Warnings ⚠️ + +- **NEVER** commit private keys to version control +- **NEVER** share private keys with anyone +- **ALWAYS** use environment variables or secure key management +- Use separate keys for mainnet and testnet +- Monitor your wallet for unauthorized transactions + +### Setup + +1. Create `.env` file: +```env +CRONOS_PRIVATE_KEY=0x... # Mainnet +``` + +2. For testnet development, use `.env.local`: +```env +CRONOS_PRIVATE_KEY=0x... # Testnet only +``` + +3. Add to `.gitignore`: +``` +.env +.env.* +``` + +## License + +MIT \ No newline at end of file diff --git a/docs/packages/plugins/cronoszkevm.md b/docs/packages/plugins/cronoszkevm.md new file mode 100644 index 00000000000..064e2addd10 --- /dev/null +++ b/docs/packages/plugins/cronoszkevm.md @@ -0,0 +1,160 @@ +# @elizaos/plugin-cronoszkevm + +A plugin for interacting with the Cronos zkEVM network within the ElizaOS ecosystem. + +## Description + +The Cronos zkEVM plugin enables seamless token transfers on the Cronos zkEVM network. It provides functionality for transferring various tokens including ZKCRO, USDC, and ETH using Web3 and zkSync integration. + +## Installation + +```bash +pnpm install @elizaos/plugin-cronoszkevm +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +CRONOSZKEVM_ADDRESS= +CRONOSZKEVM_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { cronosZkEVMPlugin } from "@elizaos/plugin-cronoszkevm"; +``` + +### Example Usage + +```typescript +// Send USDC tokens +"Send 100 USDC to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; + +// Send ZKCRO tokens +"Send 100 ZKCRO to 0xbD8679cf79137042214fA4239b02F4022208EE82"; + +// Send ETH tokens +"Transfer 1 ETH to 0x123..."; +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens on the Cronos zkEVM network. + +**Aliases:** + +- TRANSFER_TOKEN_ON_CRONOSZKEVM +- TRANSFER_TOKENS_ON_CRONOSZK +- SEND_TOKENS_ON_CRONOSZKEVM +- SEND_TOKENS_ON_CRONOSZK +- SEND_ETH_ON_CRONOSZKEVM +- SEND_ETH_ON_CRONOSZK +- PAY_ON_CRONOSZKEVM +- PAY_ON_CRONOSZK + +**Input Content:** + +```typescript +interface TransferContent { + tokenAddress: string; // The token contract address + recipient: string; // The recipient's address + amount: string | number; // Amount to transfer +} +``` + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + + - Ensure sufficient token balance for transfers + - Verify correct recipient address format (must start with 0x) + - Check network connectivity to Cronos zkEVM RPC endpoint + +2. **Configuration Issues** + - Verify CRONOSZKEVM_ADDRESS is properly set + - Ensure CRONOSZKEVM_PRIVATE_KEY is valid and secure + - Confirm RPC endpoint is accessible + +## Security Best Practices + +1. **Private Key Management** + + - Store private keys securely using environment variables + - Never expose private keys in code or logs + - Use separate accounts for development and production + +2. **Transaction Validation** + - Always validate addresses before sending transactions + - Verify token amounts and decimals + - Implement proper error handling + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Common Token Addresses + +- ZKCRO/zkCRO: `0x000000000000000000000000000000000000800A` +- USDC/usdc: `0xaa5b845f8c9c047779bedf64829601d8b264076c` +- ETH/eth: `0x898b3560affd6d955b1574d87ee09e46669c60ea` + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Cronos zkEVM](https://cronos.org/zkevm): Layer 2 scaling solution for Cronos +- [Web3.js](https://web3js.org/): Ethereum JavaScript API +- [zkSync](https://zksync.io/): Zero-knowledge rollup technology +- [Ethers.js](https://docs.ethers.org/): Complete Ethereum library +- [Viem](https://viem.sh/): Modern TypeScript Ethereum library + +Special thanks to: + +- The Cronos team for developing zkEVM +- The Matter Labs team for zkSync technology +- The Web3.js and Ethers.js maintainers +- The Viem development team +- The Eliza community for their contributions and feedback + +For more information about Cronos zkEVM capabilities: + +- [Cronos zkEVM Documentation](https://docs.cronos.org/zkevm/) +- [zkEVM Bridge](https://zkevm.cronos.org/bridge) +- [Cronos Developer Portal](https://cronos.org/developers) +- [zkSync Integration Guide](https://docs.cronos.org/zkevm/integration) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/d-a-t-a.md b/docs/packages/plugins/d-a-t-a.md new file mode 100644 index 00000000000..79dbc4d3403 --- /dev/null +++ b/docs/packages/plugins/d-a-t-a.md @@ -0,0 +1,134 @@ +# `@elizaos-plugins/plugin-d.a.t.a` + + +The **`@elizaos-plugins/plugin-d.a.t.a`** (Data Authentication, Trust, and Attestation framework) plugin is a plugin from CARV. It enhances the Eliza Agent Framework with powerful data processing capabilities, enabling agents to analyze, transform, and derive insights from various data sources. + +- **Comprehensive Data Processing:** Transform raw data into actionable insights through advanced analysis techniques. +- **Flexible Data Handling:** Support for multiple data formats and sources, from CSV to JSON and APIs. +- **Intelligent Analysis:** Leverage statistical methods and machine learning techniques for deeper understanding. + +Integrate **`@elizaos-plugins/plugin-d.a.t.a`** to empower your AI agents with sophisticated data analysis capabilities. + +## Use Cases + +- On-chain stats fetching. +- Token info. +- On-chain address tracking (CARV ID required). + +## Example + +**Q**: Can you tell me about the AAVE + +**A**: Searching the results from d.a.t.a, please wait a moment... Analyzing Aave (AAVE) token data. Aave is a decentralized lending and borrowing protocol operating on multiple blockchains, including Ethereum, Polygon, Avalanche, and others. The AAVE token is primarily used for governance, allowing holders to vote on protocol upgrades and changes. It also serves as a safety mechanism, where staked AAVE can be used to cover shortfalls in the protocol. Aave is categorized under 'Decentralized Finance (DeFi)', 'Lending/Borrowing Protocols', and multiple ecosystem integrations, indicating its broad utility and adoption across various blockchain environments. The token is deployed on 12 different platforms, showcasing its cross-chain capabilities. Would you like a deeper analysis of its technical features, market trends, or specific use cases? + +Logs: +``` + ◎ LOGS + %%%% D.A.T.A. Querying token info for ticker: + AAVE + + ["◎ Querying token info for ticker: AAVE"] + + ["◎ Successfully retrieved token info for AAVE"] + + ◎ LOGS + %%%% D.A.T.A. queryResult: + { + "success": true, + "data": { + "ticker": "aave", + "symbol": "aave", + "name": "Aave", + "platform": "ethereum", + "categories": [ + "Decentralized Finance (DeFi)", + "Governance", + "Yield Farming", + "BNB Chain Ecosystem", + "Lending/Borrowing Protocols", + "Avalanche Ecosystem", + "Polygon Ecosystem", + "Near Protocol Ecosystem", + "Fantom Ecosystem", + "Harmony Ecosystem", + "Arbitrum Ecosystem", + "Ethereum Ecosystem", + "Optimism Ecosystem", + "Index Coop Defi Index", + "Energi Ecosystem", + "Sora Ecosystem", + "Huobi ECO Chain Ecosystem", + "GMCI DeFi Index", + "Blockchain Capital Portfolio", + "Index Coop Index", + "GMCI Index", + "World Liberty Financial Portfolio" + ], + "contract_infos": [ + { + "platform": "near-protocol", + "address": "7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9.factory.bridge.near" + }, + { + "platform": "huobi-token", + "address": "0x202b4936fe1a82a4965220860ae46d7d3939bb25" + }, + { + "platform": "fantom", + "address": "0x6a07a792ab2965c72a5b8088d3a069a7ac3a993b" + }, + { + "platform": "energi", + "address": "0xa7f2f790355e0c32cab03f92f6eb7f488e6f049a" + }, + { + "platform": "binance-smart-chain", + "address": "0xfb6115445bff7b52feb98650c87f44907e58f802" + }, + { + "platform": "ethereum", + "address": "0x7fc66500c84a76ad7e9c93437bfc5ac33e2ddae9" + }, + { + "platform": "optimistic-ethereum", + "address": "0x76fb31fb4af56892a25e32cfc43de717950c9278" + }, + { + "platform": "polygon-pos", + "address": "0xd6df932a45c0f255f85145f286ea0b292b21c90b" + }, + { + "platform": "harmony-shard-0", + "address": "0xcf323aad9e522b93f11c352caa519ad0e14eb40f" + }, + { + "platform": "arbitrum-one", + "address": "0xba5ddd1f9d7f570dc94a51479a000e3bce967196" + }, + { + "platform": "avalanche", + "address": "0x63a72806098bd3d9520cc43356dd78afe5d386d9" + }, + { + "platform": "sora", + "address": "0x0091bd8d8295b25cab5a7b8b0e44498e678cfc15d872ede3215f7d4c7635ba36" + } + ], + "price": 0 + }, + "metadata": { + "queryTime": "2025-01-24T15:02:01.461Z", + "queryType": "token", + "executionTime": 1362, + "cached": false, + "queryDetails": { + "params": { + "ticker": "AAVE", + "platform": "ethereum" + } + } + } + } +``` + +Start leveraging the power of data analysis in your AI applications with **`@elizaos-plugins/plugin-d.a.t.a`** and unlock new possibilities for your Eliza agents. \ No newline at end of file diff --git a/docs/packages/plugins/dcap.md b/docs/packages/plugins/dcap.md new file mode 100644 index 00000000000..5228d123693 --- /dev/null +++ b/docs/packages/plugins/dcap.md @@ -0,0 +1,88 @@ +# @elizaos/plugin-dcap + +A plugin for verifying DCAP attestation on-chain built based on the [automata-dcap-attestation](https://github.com/automata-network/automata-dcap-attestation). + +## Features + +This plugin provides the following features: +- Generate DCAP attestation on TDX using the `remoteAttestationProvider` provided by the [plugin-tee](https://github.com/elizaOS/eliza/tree/develop/packages/plugin-tee). +- Generate DCAP attestation on SGX using the `sgxAttestationProvider` provided by the [plugin-sgx](https://github.com/elizaOS/eliza/tree/develop/packages/plugin-sgx). +- Submit and verify DCAP attestation on-chain. + +## Future Features (coming soon) +- Support to verify DCAP attestation on more EVM networks. +- Support to verify DCAP attestation on Solana. +- Support to verify DCAP attestation using ZKVM and verify the zk proof on-chain. +- Support to topup the wallet before submitting the DCAP attestation on testnets. + +## Installation + +```bash +pnpm install @elizaos/plugin-dcap +``` + +## Configuration +1. Set up your environment variables: +```env +EVM_PRIVATE_KEY=your-private-key-here +DCAP_MODE=PLUGIN-SGX|PLUGIN-TEE|MOCK +``` +The EVM_PRIVATE_KEY used to submit the DCAP attestation on evm networks, please make sure it has enough balance to pay for the transaction fee. + +The DCAP_MODE is used to specify the mode of generating DCAP attestation, it can be: +- PLUGIN-SGX: Use the `sgxAttestationProvider` in `plugin-sgx` to generate the DCAP attestation. +- PLUGIN-TEE: Use the `remoteAttestationProvider` in `plugin-tee` to generate the DCAP attestation. +- MOCK: Use a predefined attestation, this option is only for testing purposes. + +Check the docs of `plugin-sgx` and `plugin-tee` for how to run your agent in TEE before using the SGX or TDX mode. + +2. Register the plugin in your Eliza configuration: +```typescript +import { dcapPlugin } from "@elizaos/plugin-dcap"; + +// In your Eliza configuration +plugins: [ + dcapPlugin, + // ... other plugins +]; +``` + +## Usage +The plugin provides an action `dcapOnChainVerifyAction` which will be triggered by natural languages like: +```plaintext +"Verify the DCAP attestation on-chain" +"Generate a DCAP attestation and verify it on-chain" +"DCAP_ON_CHAIN" # The keyword will also trigger the action +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +We are welcom to any feedback and contributions! + +## Credits +- [Automata Network](https://ata.network): Provided the on-chain DCAP verification, enabling the decentralized verification of TEE attestations. +- [Phala Network](https://phala.network): Provided support for running agents in TDX environment and contributed the `plugin-tee` for generating DCAP attestation on TDX. +- [Gramine](https://gramineproject.io/): Provided support for running agents in SGX environment. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/depin.md b/docs/packages/plugins/depin.md new file mode 100644 index 00000000000..f1262f5a8d0 --- /dev/null +++ b/docs/packages/plugins/depin.md @@ -0,0 +1,102 @@ +# `@elizaos/plugin-depin` + +The **`@elizaos/plugin-depin`** plugin empowers the Eliza Agent Framework with **Perception** and **Action** capabilities via **Decentralized Physical Infrastructure Networks (DePINs)**, bridging the digital intelligence of AI with the physical world. + +- **DePINs as "Senses and Actuators":** Enables real-time data access from decentralized sensors and control over physical devices, making DePINs the sensory organs and actuators for Eliza agents. +- **Unlock Transformative Use Cases:** From drone delivery to smart city infrastructure and precision agriculture, this plugin extends your AI agents' potential. +- **Foundation for Sentient AI:** Facilitates contextual awareness, predictive capabilities, and goal-oriented behavior based on real-world sensory input and continuous feedback loops. + +Leverage **`@elizaos/plugin-depin`** to seamlessly integrate AI agents with the real world, enabling them to **perceive, act, and learn**. + +--- + +## Key Features + +1. **Seamless IoTeX Integration:** + - Leverages IoTeX Modular Infra to connect to a growing ecosystem of DePIN networks. +2. **Unified Data Access:** + - Standardized interfaces allow access to diverse DePIN data sources, regardless of protocols or formats. +3. **Time-Series Data Handling:** + - Equipped to analyze temporal patterns for predictive capabilities. +4. **Future-Proof Design:** + - Designed to scale with the evolving DePIN and AI landscape. + +--- + +## Configuration + +### Environment Variables + +Add the following to your `.env` file: + +```env +SENTAI_API_KEY=your-sentai-api-key +``` + +### Character Configuration + +Update `character.json` with the following configuration to enable the plugin: + +```json +"plugins": [ + "@elizaos/plugin-depin" +] +``` + +This ensures that the **`@elizaos/plugin-depin`** plugin is loaded and operational within your Eliza Agent Framework, enabling seamless integration with DePIN networks and their data. + +--- + +## Providers + +### DePINScan + +The **DePINScan provider** bridges the gap between your Eliza agents and decentralized physical infrastructure. By fetching and caching data from the DePINScan API, it provides actionable insights such as: + +- **Daily Metrics:** Get the latest statistics on DePIN activity, including device operations and network performance. +- **Project Data:** Detailed information about individual DePIN projects: + - **Project Identifiers:** Names and slugs for easy referencing. + - **Token Information:** Market metrics such as token prices, market caps, and fully diluted valuations (FDV). + - **Device Statistics:** Total devices deployed, operational costs, and earnings. + - **Blockchain Integration:** Layer 1 chains associated with projects and their respective categories. + - **Market Insights:** Comprehensive data on market trends and project capitalization. + +--- + +## Actions + +### DePIN Projects + +The **DEPIN_PROJECTS** action empowers Eliza agents to interact with and analyze DePIN project data, enabling: + +- **Token Metrics Queries:** Retrieve token prices, market capitalizations, and valuations for projects. +- **Project Comparisons:** Compare key metrics across multiple DePIN projects. +- **Filtering Capabilities:** Refine results by project categories or supported blockchain platforms. +- **Device and Revenue Analysis:** Explore statistics such as device deployment, operational costs, and revenue generation. +- **In-depth Queries:** Answer detailed questions about specific DePIN projects by leveraging the rich dataset provided by the DePINScan API. + +### Sentient AI + +The **SENTIENT_AI** action integrates Sentient AI APIs to provide Eliza agents with weather-related capabilities. Key functionalities include: + +- **Real-Time Weather Updates:** Deliver current temperature, humidity, and general conditions for specified locations. (supported by Nubila) +- **Forecast Analysis:** Generate short- and long-term forecasts to assist in planning and decision-making. (supported by Nubila) +- **Other Actions** Sentient AI will continue to improve and add more actions based on DePIN data. + +--- + +## Sentient AI with DePIN Integration + +The **`@elizaos/plugin-depin`** plugin is a critical component in the evolution of Eliza agents into sentient systems that are aware of and responsive to their physical environments. By integrating with DePINs, this plugin enables AI agents to: + +- **Perceive:** Access sensory data streams from devices across decentralized networks, including environmental sensors, location trackers, and motion detectors. +- **Act:** Influence and control connected devices in real-time, unlocking a wide array of use cases from logistics to urban management. +- **Learn:** Build predictive models and goal-oriented behaviors using continuous feedback from real-world data sources. + +### Transformative Applications + +From smart city infrastructure and autonomous vehicle systems to precision agriculture and environmental monitoring, the **`@elizaos/plugin-depin`** unlocks new frontiers in AI development. By merging decentralized infrastructure with AI-driven perception and action, this plugin empowers agents to act not just in virtual spaces but in the physical world. + +With its **future-proof design** and seamless integration capabilities, the **`@elizaos/plugin-depin`** is an essential tool for developers looking to push the boundaries of AI and decentralized systems. + +Start building the next generation of AI-powered applications with **`@elizaos/plugin-depin`** and redefine what’s possible for intelligent agents in the real world. \ No newline at end of file diff --git a/docs/packages/plugins/desk-exchange.md b/docs/packages/plugins/desk-exchange.md new file mode 100644 index 00000000000..c236e7a36dd --- /dev/null +++ b/docs/packages/plugins/desk-exchange.md @@ -0,0 +1,95 @@ +# DESK Exchange Plugin for Eliza + +This plugin enables interaction with the DESK Perpetual DEX through Eliza, providing perpetual futures trading capabilities. Visit [DESK Exchange](https://desk.exchange/) for more details. +## Features +- 💱 Perpetual Trading + - Market orders (immediate execution) + - Limit orders (price-specific) +- 🔄 Order Management + - Cancel all open orders +- 🏦 Account summary + - View open orders + - View active positions + - View collateral balances + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-desk-exchange"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +DESK_EXCHANGE_PRIVATE_KEY=your_private_key # Required for trading and cancelling orders +DESK_EXCHANGE_NETWORK= # "mainnet" or "testnet +``` + +## Available Actions + +### 1. PERP_TRADE + +Place perp market or limit orders. + +Examples: + +``` +# Market Orders +"long 1 BTC" -> Place buy order of 1 BTC at market price +"sell 2 ETH" -> Sells 2 ETH at market price +"market buy 1 ETH" -> Buys 1 ETH at market price + +# Limit Orders +"buy 1 SOL at 20 USDC" -> Places buy order for 1 SOL at 20 USDC +"sell 0.5 BASE at 21 USDC" -> Places sell order for 0.5 BASE at 21 USDC +``` + +### 2. CANCEL_ORDERS + +Cancel all your open orders. + +Examples: + +``` +"Cancel all orders" +"Cancel my orders" +``` + +### 3. GET_PERP_ACCOUNT_SUMMARY + +Display the summary of your current account with details on open orders, active position and collateral tokens. + +Examples: + +``` +"Check my account please" + +"Here is the summary of your account 0xxxxxxxx +Your positions: +- Long 1.0039 BTCUSD +- Short 10.01 ETHUSD +- Long 135808.80 SOLUSD +Your orders: +- Sell 0/0.0001 BTCUSD @200000.00 +Your collaterals: +- 1382295.125325162 USDC +- 2000000.00 CREDIT" +``` + +## Security Notes + +- Store your private key securely using environment variables +- Test with small amounts first +- Use testnet for initial testing +- Monitor your orders regularly +- Double-check prices before confirming trades + +## License + +MIT diff --git a/docs/packages/plugins/devin.md b/docs/packages/plugins/devin.md new file mode 100644 index 00000000000..1676286192a --- /dev/null +++ b/docs/packages/plugins/devin.md @@ -0,0 +1,79 @@ +# @elizaos/plugin-devin + +Devin API integration plugin for Eliza, providing automated engineering assistance through the Devin API. + +## Installation + +```bash +pnpm add @elizaos/plugin-devin +``` + +## Configuration + +The plugin requires a Devin API token for authentication. Set the following environment variable: + +```bash +DEVIN_API_TOKEN=your_api_token_here +``` + +Or configure it in your Eliza runtime settings: + +```typescript +runtime.setSetting("DEVIN_API_TOKEN", "your_api_token_here"); +``` + +## Features + +- Session Management: Create and manage Devin engineering sessions +- State Tracking: Monitor session status and progress +- Client Agnostic: Works with any Eliza client implementation +- Rate Limiting: Built-in API request rate limiting +- Error Handling: Comprehensive error handling with retries + +## Usage + +### Actions + +#### START_DEVIN_SESSION + +Creates a new Devin session with the specified prompt. + +```typescript +const result = await runtime.runAction("START_DEVIN_SESSION", { + content: { text: "Help me refactor this code" } +}); +``` + +### Providers + +#### devinProvider + +Manages Devin session state and provides session information. + +```typescript +const state = await runtime.getState(); +const devinState = state.devin; + +// Access session details +console.log(devinState.sessionId); +console.log(devinState.status); +console.log(devinState.url); +``` + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +## API Documentation + +For detailed API documentation, visit: +- [Devin API Integration Guide](https://docs.devin.ai/tutorials/api-integration) +- [External API Reference](https://docs.devin.ai/external-api/) + +## License + +MIT diff --git a/docs/packages/plugins/dexscreener.md b/docs/packages/plugins/dexscreener.md new file mode 100644 index 00000000000..7b2c1056636 --- /dev/null +++ b/docs/packages/plugins/dexscreener.md @@ -0,0 +1,79 @@ +# @elizaos/plugin-dexscreener + +A plugin for accessing DexScreener's token data and price information through your Eliza agent. + +## Installation + +```bash +pnpm add @elizaos/plugin-dexscreener +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { dexScreenerPlugin } from "@elizaos/plugin-dexscreener"; + +const character = { + plugins: [dexScreenerPlugin] +}; +``` + +## Features + +### Token Price Checking +Query token prices using addresses or symbols: +```plaintext +"What's the price of ETH?" +"Check price of 0x1234..." +"How much is $BTC worth?" +``` + +### Token Trends +View latest and trending tokens: +```plaintext +"Show me the latest tokens" +"What are the new boosted tokens?" +"Show me the top boosted tokens" +``` + +## Available Actions + +### GET_TOKEN_PRICE +Fetches current token price and market information. +- Aliases: `FETCH_TOKEN_PRICE`, `CHECK_TOKEN_PRICE`, `TOKEN_PRICE` +- Supports ETH addresses and token symbols (with or without $ prefix) +- Returns price, liquidity, and 24h volume information + +### GET_LATEST_TOKENS +Retrieves the most recently listed tokens. +- Aliases: `FETCH_NEW_TOKENS`, `CHECK_RECENT_TOKENS`, `LIST_NEW_TOKENS` + +### GET_LATEST_BOOSTED_TOKENS +Fetches the most recently boosted tokens. +- Aliases: `FETCH_NEW_BOOSTED_TOKENS`, `CHECK_RECENT_BOOSTED_TOKENS` + +### GET_TOP_BOOSTED_TOKENS +Shows tokens with the most active boosts. +- Aliases: `FETCH_MOST_BOOSTED_TOKENS`, `CHECK_HIGHEST_BOOSTED_TOKENS` + +## Providers + +### TokenPriceProvider +Provides token price data from DexScreener API: +- Current price in USD +- Liquidity information +- 24h volume data +- Automatic best pair selection by liquidity + +## Evaluators + +### TokenPriceEvaluator +Evaluates messages for token price requests: +- Detects price-related keywords +- Identifies token addresses and symbols +- Supports multiple token identifier formats: + - Ethereum addresses + - Symbols with $ or # prefix + - Natural language patterns ("price of TOKEN") diff --git a/docs/packages/plugins/di.md b/docs/packages/plugins/di.md new file mode 100644 index 00000000000..7c244632be8 --- /dev/null +++ b/docs/packages/plugins/di.md @@ -0,0 +1,150 @@ +# Unmaintained: this plugin needs a maintainer. + +# @elizaos/plugin-di - Dependency Injection Plugin for Eliza + +This plugin provides a dependency injection system for Eliza plugins. + +## What is Dependency Injection? + +Dependency Injection is a design pattern that allows you to inject dependencies into a class or function. This pattern is useful for decoupling components and making your code more modular and testable. + +## Examples of How to build a Plugin using Dependency Injection + +Check the [example](../_examples/plugin-with-di/) folder for a simple example of how to create a plugin using Dependency Injection. + +### Where can I use Dependency Injection? + +You can use Dependency Injection in any part of your Eliza plugin, including actions, evaluators, providers, services, and clients. + +- Actions: Inject services or providers to interact with external APIs or services. [Example](../_examples/plugin-with-di/src/actions/sampleAction.ts) +- Evaluators: Inject services or providers to evaluate conditions or perform calculations. [Example](../_examples/plugin-with-di/src/evaluators/sampleEvaluator.ts) +- Providers: Inject services or providers to provide data or resources. [Example](../_examples/plugin-with-di/src/providers/sampleProvider.ts) +- Services: Inject other services to perform business logic. [Example](../_examples/plugin-with-di/src/services/sampleService.ts) +- Clients: Inject services to interact with external APIs or services. Lack of examples, but you can refer to the services example. + +## Decorators for Dependency Injection + +This plugin provides a set of decorators that you can use to inject dependencies into your classes or functions. + +### From inversify + +We use the [inversify](https://inversify.io/) library to provide the dependency injection system. +The following decorators are provided by the [inversify](https://inversify.io/) library. + +#### `@injectable` + +> Category: Class Decorator + +This decorator marks a class as injectable. This means that you can inject this class into other classes using the `@inject` decorator. + +```typescript +import { injectable } from "inversify"; + +@injectable() +class SampleClass { +} +``` + +Remember to register the class with the container before injecting it into other classes. + +```typescript +import { globalContainer } from "@elizaos/plugin-di"; + +// Register the class with the container as a singleton, this means that the class will be instantiated only once. +globalContainer.bind(SingletonClass).toSelf().inSingletonScope(); +// Register the class with the container as a request context, this means that the class will be instantiated for each request(in this case means each Character). +globalContainer.bind(CharactorContextClass).toSelf().inRequestScope(); +``` + +#### `@inject` + +> Category: Parameter Decorator + +This decorator marks a parameter as an injection target. This means that the parameter will be injected with the appropriate dependency when the class is instantiated. + +```typescript +import { injectable, inject } from "inversify"; + +@injectable() +class SampleClass { + constructor( + // Inject the SampleDependency as a public property of the class. + @inject("SampleDependency") public sampleDependency: SampleDependency + ) {} +} +``` + +### From di plugin (used for BaseInjectableAction) + +DI plugin provides abstract classes that you can extend to create Injectable actions. +And that provides the following decorators to improve the readability of the code. + +#### `@property` + +> Category: Property Decorator + +This decorator is used to define a property in an action content class which will be used to generate the action content object Schema and content description template for LLM object generation. + +```typescript +import { z } from 'zod'; +import { property } from "@elizaos/plugin-di"; + +class SampleActionContent { + @property({ + description: "Sample property description", + schema: z.string(), + }) + sampleProperty: string; +} +``` + +## Abstract Classes provided by this plugin + +This plugin provides the following abstract classes that you can extend to create Injectable classes: + +- `BaseInjectableAction` +- `BaseInjectableEvaluator` + +Note: This is optional, you can create your own classes to create injectable actions. + +### `BaseInjectableAction` + +This abstract class simplify the creation of injectable actions. +You don't need to think about the template for content generation, it will be generated automatically based on the properties of the content Class. +What you need to implement is the `execute` method. + +```typescript +import { injectable } from "inversify"; +import { BaseInjectableAction } from "@elizaos/plugin-di"; + +class SampleActionContent { + @property({ + description: "Sample property description", + schema: z.string(), + }) + property1: string; +} + +@injectable() +class SampleAction extends BaseInjectableAction { + constructor() { + super({ + /** general action constent options */ + contentClass: SampleActionContent, + }); + } + + /** + * It will be called by `handler` function when the action is triggered. + */ + async execute( + content: SampleActionContent | null, + runtime: IAgentRuntime, + message: Memory, + state: State, + callback?: HandlerCallback + ): Promise { + // Your action logic here + } +} +``` diff --git a/docs/packages/plugins/dkg.md b/docs/packages/plugins/dkg.md new file mode 100644 index 00000000000..8f20abd9352 --- /dev/null +++ b/docs/packages/plugins/dkg.md @@ -0,0 +1,103 @@ +# @elizaos/plugin-dkg + +A plugin enabling integration with the OriginTrail Decentralized Knowledge Graph (DKG) for enhanced search and knowledge management capabilities in ElizaOS agents. + +## Description + +The DKG plugin extends ElizaOS functionality by allowing agents to interact with the OriginTrail Decentralized Knowledge Graph. This plugin enables SPARQL-based searches on the DKG and combines these results with Eliza's regular search results. Additionally, it creates a memory as a Knowledge Asset on the DKG after a response, making it available for future SPARQL queries. + +## Installation + +```bash +pnpm install @elizaos/plugin-dkg +``` + +## Features + +### 1. DKG Integration + +- Perform SPARQL queries on the DKG for knowledge extraction. +- Combine DKG query results with Eliza's internal search capabilities. +- Enhance responses with decentralized and trusted knowledge. + +### 2. Knowledge Asset Creation + +- Automatically generate Knowledge Assets based on interactions. +- Publish memory Knowledge Assets to the DKG for future retrieval. + +## Providers + +### 1. DKG Search Provider + +- Executes SPARQL queries on the OriginTrail DKG. +- Retrieves and formats relevant results. +- Integrates DKG data with Eliza’s response system. + +## Plugins + +### 1. Memory Creation Plugin + +- Creates Knowledge Assets from agent interactions. +- Publishes assets to the DKG with contextual metadata. + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run linting: + +```bash +pnpm run lint +``` + +## Usage + +### 1. Set Up Environment Variables + +- Copy the `.env.example` file and rename it to `.env`. +- Fill in the necessary details: + - Node information. + - LLM key. + - Twitter credentials. + +### 2. Customize DKG Knowledge Asset & Query Templates + +- Modify the templates in `plugin-dkg/constants.ts` if you need to change the ontology or data format used in the Knowledge Graph. +- Check if the graph search provider is passing context to the agent (packages/client-twitter/src/interactions.ts, twitterMessageHandlerTemplate) + +### 3. Create a Character and Run the Agent + +- Create a character file in the `characters` folder. +- Run the character using the following command: + ```bash + pnpm start --characters="characters/chatdkg.character.json" + ``` + +### Notes + +- Ensure you configure the Twitter client and select your LLM provider in the character settings, also include the plugin in your agent. + +## Dependencies + +- @elizaos/core: workspace:\* +- SPARQL query library: workspace:\* +- DKG JavaScript SDK: dkg.js > ^8.0.4 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/echochambers.md b/docs/packages/plugins/echochambers.md new file mode 100644 index 00000000000..c0b270e5b0b --- /dev/null +++ b/docs/packages/plugins/echochambers.md @@ -0,0 +1,200 @@ +# @elizaos/plugin-echochambers + +The EchoChambers plugin enables ELIZA to interact in chat rooms, providing conversational capabilities with dynamic interaction handling. + +## Features + +- Join and monitor chat rooms +- Respond to messages based on context and relevance +- Retry operations with exponential backoff +- Manage connection and reconnection logic +- Real-time chat room monitoring and interaction +- Intelligent message response generation +- Context-aware conversation handling +- Comprehensive message history tracking +- Multi-room support with configurable polling + +## Installation + +1. Install the plugin package: + +```bash +pnpm install @elizaos/plugin-echochambers +``` + +OR copy the plugin code into your eliza project node_modules directory. (node_modules\@elizaos) + +2. Import and register the plugin in your `character.ts` configuration: + +```typescript +import { Character, ModelProviderName, defaultCharacter } from "@elizaos/core"; +import { echoChambersPlugin } from "@elizaos/plugin-echochambers"; + +export const character: Character = { + ...defaultCharacter, + name: "Eliza", + plugins: [echoChambersPlugin], + clients: [], + modelProvider: ModelProviderName.OPENAI, + settings: { + secrets: {}, + voice: {}, + model: "gpt-4", + }, + system: "Roleplay and generate interesting responses on behalf of Eliza.", + bio: [...], + lore: [...], + messageExamples: [...], + postExamples: [...], + adjectives: ["funny", "intelligent", "academic", "insightful"], + people: [], + topics: [...], + style: {...}, +}; +``` + +## Configuration + +The plugin requires the following environment variables: + +```plaintext +# Required Settings +ECHOCHAMBERS_API_URL="http://127.0.0.1:3333" # Base URL for the EchoChambers API +ECHOCHAMBERS_API_KEY="your-api-key" # API key for authentication + +# Optional Settings +ECHOCHAMBERS_USERNAME="eliza" # Custom username for the agent +ECHOCHAMBERS_DEFAULT_ROOM="general" # Default room to join +ECHOCHAMBERS_POLL_INTERVAL="60" # Polling interval in seconds +ECHOCHAMBERS_MAX_MESSAGES="10" # Maximum messages in conversation thread +``` + +## Usage Instructions + +### Starting the Plugin + +The plugin will automatically initialize when your character configuration includes it. It handles: + +1. Room Connection Management + + - Automatic joining of default room + - Reconnection handling with backoff + - Multi-room monitoring + +2. Message Processing + + - Context-aware response generation + - Thread management + - History tracking + +3. Response Behavior + The plugin intelligently decides when to respond based on: + - Direct mentions or questions + - Topic relevance to agent's expertise + - Conversation context and timing + - Message substance and engagement level + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify API URL is correct and accessible + - Ensure API key is valid + - Check network connectivity + +2. **Message Processing** + - Verify environment variables are properly set + - Check log files for error messages + - Ensure proper character configuration + +## Security Best Practices + +1. **API Key Management** + + - Store API keys securely using environment variables + - Never expose keys in code or logs + - Rotate keys periodically + +2. **Connection Security** + - Use HTTPS for production environments + - Implement proper error handling + - Monitor for unusual activity + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run in development mode: + +```bash +pnpm run dev +``` + +## API Reference + +### Core Components + +1. **EchoChamberClient** + + - Handles room connections + - Manages message sending/receiving + - Implements retry logic + +2. **InteractionClient** + - Processes messages + - Generates responses + - Maintains conversation context + +## Future Enhancements + +- Enhanced message filtering +- Custom response templates +- Advanced room management features +- Improved context handling +- Extended retry mechanisms + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Socket.IO](https://socket.io/): Real-time bidirectional event-based communication +- [Express](https://expressjs.com/): Web application framework +- [Redis](https://redis.io/): In-memory data structure store +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for message handling +- [node-cache](https://www.npmjs.com/package/node-cache): In-memory caching + +Special thanks to: + +- The Socket.IO team for real-time communication infrastructure +- The Express.js maintainers +- The Redis development team +- The chat room infrastructure maintainers +- The Eliza community for their contributions and feedback + +For more information about chat capabilities: + +- [Socket.IO Documentation](https://socket.io/docs/v4/) +- [Express Documentation](https://expressjs.com/en/4x/api.html) +- [Redis Pub/Sub](https://redis.io/docs/manual/pubsub/) +- [Real-time Chat Best Practices](https://socket.io/docs/v4/rooms/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/edwin.md b/docs/packages/plugins/edwin.md new file mode 100644 index 00000000000..193dd0aa79c --- /dev/null +++ b/docs/packages/plugins/edwin.md @@ -0,0 +1,67 @@ +# @elizaos/plugin-edwin + +Edwin plugin for Eliza that enables interaction with Edwin tools for DeFi operations. + +## About + +See full info and docs at [Edwin docs](https://docs.edwin.finance). +## Setup + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure environment variables for chains you want to support: + +```env +EVM_PRIVATE_KEY= +SOLANA_PRIVATE_KEY= +``` + +## Available Tools + +The plugin provides access to the following Edwin tools: + +- supply +- withdraw +- stake +- addLiquidity +- removeLiquidity + +## Usage Examples + +1. Supply on AAVE: + +``` +Supply 100 USDC to AAVE +``` + +2. Add liquidity on Meteora: + +``` +Find a meteora pool with high liquidity and add to td 10 USDC and 0.01 SOL. +``` + +## Development + +1. Build the plugin: + +```bash +pnpm build +``` + +2. Run in development mode: + +```bash +pnpm dev +``` + +## Dependencies + +- edwin-sdk + +## License + +MIT diff --git a/docs/packages/plugins/eliza-nkn.md b/docs/packages/plugins/eliza-nkn.md new file mode 100644 index 00000000000..3cc66027b80 --- /dev/null +++ b/docs/packages/plugins/eliza-nkn.md @@ -0,0 +1,8 @@ +## plugin-nkn + + +This ElizaOS plugin integrates NKN ([https://nkn.org/](https://nkn.org/)) to enable communication between multiple AI agents or users. + +### Description + +The plugin-nkn leverages the NKN protocol to facilitate messaging and communication between various AI agents and users within the Eliza framework. It supports both sending and receiving messages via a decentralized network, ensuring low latency and secure transmission. \ No newline at end of file diff --git a/docs/packages/plugins/email-automation.md b/docs/packages/plugins/email-automation.md new file mode 100644 index 00000000000..c8e39f2643d --- /dev/null +++ b/docs/packages/plugins/email-automation.md @@ -0,0 +1,167 @@ +# @elizaos/plugin-email-automation + +AI-powered email automation plugin for Eliza that intelligently detects email-worthy conversations and handles generation/delivery. This is not perfect and is simply a solid starting point, and I would encourage any and all contributions! + +## Features + +### 1. Intelligent Detection +- Partnership opportunity detection +- Technical discussion recognition +- Business proposal identification +- Follow-up requirement analysis + +### 2. AI-Powered Generation +- Structured email formatting +- Context-aware content +- Professional tone maintenance +- Technical detail inclusion + +## Configuration + +### AI Email Automation Setup +```typescript +# Required +RESEND_API_KEY= # Your Resend API key +DEFAULT_TO_EMAIL= # Default recipient +DEFAULT_FROM_EMAIL= # Default sender + +# Optional Settings +EMAIL_AUTOMATION_ENABLED=true # Enable AI detection. If this is enabled, the plugin will automatically detect email-worthy conversations and handle generation/delivery and only that. +EMAIL_EVALUATION_PROMPT= # Custom detection criteria for shouldEmail +``` + +### Basic Usage +```typescript +import { emailAutomationPlugin } from '@elizaos/plugin-email-automation'; + +// Add to your Eliza configuration +{ + plugins: [emailAutomationPlugin], + settings: { + EMAIL_AUTOMATION_ENABLED: true, + // ... other settings + } +} +``` + +### Email Template Example +The plugin uses Handlebars for templating. Here's an example output: + +```handlebars +{{!-- email-template.hbs --}} + + + +``` + +This template produces professional emails like the example shown in the image above. You can customize the template by: +1. Creating your own `.hbs` file +2. Registering it with the template manager +3. Specifying your template when sending emails + +## Development + +```bash +# Installation +pnpm install + +# Testing +pnpm test +pnpm test:watch +pnpm test:coverage + +# Building +pnpm build +``` + +## Testing Coverage +- Unit tests for all services +- Integration tests for end-to-end flows +- Throttling and rate limiting tests +- Error handling scenarios +- Mock providers for testing + +## Architecture +```mermaid +graph TD + A[Email Trigger] --> B[Automation Service] + B --> C{AI Evaluation} + C -->|Yes| D[Generation Service] + D --> E[Email Service] + E --> F[Resend Provider] + F --> G[Delivery] +``` + +Architecture Overview: +- Resend Provider support (more to come) +- AI-powered email detection +- Context-aware content generation +- Professional template rendering + +## Credits + +This plugin integrates with and builds upon: + +- [Resend](https://resend.com): Modern email API for developers +- [Handlebars](https://handlebarsjs.com): Templating engine for email formatting + +For more information about Resend capabilities: +- [Resend Documentation](https://resend.com/docs) +- [Email API Reference](https://resend.com/docs/api-reference/introduction) +- [Developer Portal](https://resend.com/overview) + +## License +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/email.md b/docs/packages/plugins/email.md new file mode 100644 index 00000000000..7fcf66047af --- /dev/null +++ b/docs/packages/plugins/email.md @@ -0,0 +1,52 @@ +# Description + +Implementation of an EmailClient for Eliza. + +# Settings + +The following settings will be declared on your environment variable or inside your agent' settings: + +## SMTP Section + +- `EMAIL_OUTGOING_SERVICE`: "smtp" | "gmail" +- `EMAIL_OUTGOING_HOST`: SMTP Hostname or IP to connect to. Required only when "smtp" service is configured. +- `EMAIL_OUTGOING_PORT`: the port to connect to (defaults to 465 for secure connections, otherwise 587). Required only if "smtp" is configured. +- `EMAIL_SECURE`: if true the connection will use TLS, otherwise TLS will be used if server supports STARTTLS extension. Set to true if port 465 is selected. +- `EMAIL_OUTGOING_USER`: Username +- `EMAIL_OUTGOING_PASS`: Password. If "gmail" selected you will need to provision a dedicated password for the agent [1] + +## IMAP Section + +- `EMAIL_INCOMING_SERVICE`: "imap" +- `EMAIL_INCOMING_HOST`: IMAP Hostname or IP to connect to +- `EMAIL_INCOMING_PORT`: the port to connect to (defaults to 993) +- `EMAIL_INCOMING_USER`: Username +- `EMAIL_INCOMING_PASS`: Password + +[1] https://support.google.com/mail/answer/185833?hl=en + +## Usage + +1. Install the Plugin: First, import the plugin into your agent by running the following command: + +``` +pnpm add @elizaos/plugin-email +``` + +2. Send Emails: You can send emails using the following method: + +``` +this.runtime.clients.email.send({ + to: "recipient@example.com", + subject: "Your Subject Here", + text: "Your email body here." +}); +``` + +3. Receive Emails: To receive emails, register a callback function that will be invoked when an email is received: + +``` +this.runtime.clients.email.receive((email) => { + console.log("Email Received:", email); +}); +``` diff --git a/docs/packages/plugins/ethstorage.md b/docs/packages/plugins/ethstorage.md new file mode 100644 index 00000000000..781444c3a57 --- /dev/null +++ b/docs/packages/plugins/ethstorage.md @@ -0,0 +1,39 @@ +# @elizaos/plugin-ethstorage - Plugin for EthStorage + +This plugin allows interaction with the EthStorage decentralized storage network using Eliza. By default, it operates on the beta testnet, but you can switch to other testnets by updating the `ETHSTORAGE_RPC_URL` in the `.env` file. The mainnet is not yet available. + +## Actions +- **transfer**: This action enables the transfer of QKC tokens from the agent's wallet (specified via `ETHSTORAGE_PRIVATE_KEY`) to another wallet. To use, just mention the transfer of tokens to an EthStorage account. + + - Name: `SEND_TOKEN` + + - Message sample: `Send 100 QKC to 0x341Cb1a94ef69499F97E93c41707B21326C0Cc87` + +- **submitData**: This action enables the submission of any arbitrary data to the EthStorage decentralized storage network. To use, just mention that you need to send "any data" to EthStorage using the key you specified. + + - Name: `SUBMIT_DATA` + + - Message sample: `Submit the following data using key 'my_key' to EthStorage "Hello World!"` + +## Usage & Testing + +### Detailed testing steps +- In the .env file, set the following values: + - ETHSTORAGE_ADDRESS: The entry contract address for storing data on the EthStorage network (default is set to the beta testnet but can be updated if needed). + - ETHSTORAGE_RPC_URL: The RPC endpoint for connecting to the desired EthStorage network (default is set to the beta testnet). + - ETHSTORAGE_PRIVATE_KEY: The private key for the agent’s wallet. +- **Transfer Tokens** + - To test the transfer function, you need tokens in your EthStorage account. On the testnet, you can use the [EthStorage Faucet](https://qkc-l2-faucet.eth.sep.w3link.io/). If you need more tokens, please ping us on [Discord](https://discord.com/invite/xhCwaMp7ps), and we can send them over. + - Run the agent and prompt it with: "send AMOUNT QKC to any other EthStorage account" - e.g. `send 1 QKC to 0x341Cb1a94ef69499F97E93c41707B21326C0Cc87` + - If the transaction is successful, the agent will return the Tx Hash. + The tx hash can be checked on the EthStorage block explorer at [https://explorer.beta.testnet.l2.quarkchain.io](https://explorer.beta.testnet.l2.quarkchain.io). + +- **Submit Data** + - To test data submission, you need tokens in your EthStorage account to pay fees. On the testnet, you can use the [EthStorage Faucet](https://qkc-l2-faucet.eth.sep.w3link.io/). If you need more tokens, please ping us on [Discord](https://discord.com/invite/xhCwaMp7ps), and we can send them over. + - Run the agent and prompt it with: "Submit the following data using the key KEY to EthStorage DATA" - e.g. `Submit the following data using the key 'my_key' to EthStorage "Hello World!"` + - If the transaction is successful, the agent will return the Tx Hash. The tx hash can be checked on the EthStorage block explorer at [https://explorer.beta.testnet.l2.quarkchain.io](https://explorer.beta.testnet.l2.quarkchain.io). + +## Resources +- [EthStorage Documentation](https://docs.ethstorage.io/) +- [Learn more about EthStorage](https://ethstorage.io/) +- [Awesome EthStorage Repo](https://github.com/ethstorage/) diff --git a/docs/packages/plugins/evm.md b/docs/packages/plugins/evm.md new file mode 100644 index 00000000000..2f6b0d71fbf --- /dev/null +++ b/docs/packages/plugins/evm.md @@ -0,0 +1,324 @@ +# @elizaos/plugin-evm + +This plugin provides actions and providers for interacting with EVM-compatible chains. + +## Description + +The EVM plugin provides comprehensive functionality for interacting with EVM-compatible chains, including token transfers, cross-chain bridging, and token swaps using LiFi integration. + +## Features + +- Multi-chain support with dynamic chain configuration +- Native token transfers +- Cross-chain token bridging via LiFi +- Token swapping on supported DEXs +- Wallet balance tracking +- Custom RPC endpoint configuration +- Automatic retry mechanisms +- Comprehensive transaction management + +## Installation + +```bash +pnpm install @elizaos/plugin-evm +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key-here + +# Optional - Custom RPC URLs +EVM_PROVIDER_URL=https://your-custom-mainnet-rpc-url +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +### Chain Configuration + +By default, **Ethereum mainnet** is enabled. To enable additional chains, add them to your character config: + +```json +"settings": { + "chains": { + "evm": [ + "base", "arbitrum", "iotex" + ] + } +} +``` + +Note: The chain names must match those in the viem/chains. + +### Custom RPC URLs + +By default, the RPC URL is inferred from the `viem/chains` config. To use a custom RPC URL for a specific chain, add the following to your `.env` file: + +```env +ETHEREUM_PROVIDER_=https://your-custom-rpc-url +``` + +**Example usage:** + +```env +ETHEREUM_PROVIDER_IOTEX=https://iotex-network.rpc.thirdweb.com +``` + +#### Custom RPC for Ethereum Mainnet + +To set a custom RPC URL for Ethereum mainnet, use: + +```env +EVM_PROVIDER_URL=https://your-custom-mainnet-rpc-url +``` + +## Provider + +The **Wallet Provider** initializes with the **first chain in the list** as the default (or Ethereum mainnet if none are added). It: + +- Provides the **context** of the currently connected address and its balance. +- Creates **Public** and **Wallet clients** to interact with the supported chains. +- Allows adding chains dynamically at runtime. + +## Actions + +### 1. Transfer + +Transfer native tokens on the same chain: + +```typescript +// Example: Transfer 1 ETH +Transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +``` + +### 2. Bridge + +Bridge tokens between different chains using LiFi: + +```typescript +// Example: Bridge ETH from Ethereum to Base +Bridge 1 ETH from Ethereum to Base +``` + +### 3. Swap + +Swap tokens on the same chain using LiFi: + +```typescript +// Example: Swap ETH for USDC +Swap 1 ETH for USDC on Base +``` + +### 4. Propose + +Propose a proposal to a governor on a specific chain. + +- **Proposal** + - **Targets** + - **Values** + - **Calldatas** + - **Description** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Propose a proposal to the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum to transfer 1 ETH to 0xRecipient. +``` + +### 5. Vote + +Vote on a proposal to a governor on a specific chain. + +- **Proposal ID** +- **Support** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Vote on the proposal with ID 1 to support the proposal on the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +### 6. Queue + +Queue a proposal to a governor on a specific chain. + +- **Proposal** + - **Targets** + - **Values** + - **Calldatas** + - **Description** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Queue the proposal to the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +### 7. Execute + +Execute a proposal to a governor on a specific chain. + +- **Proposal ID** +- **Chain** +- **Governor** + +**Example usage:** + +```bash +Execute the proposal with ID 1 on the 0xdeadbeef00000000000000000000000000000000 governor on Ethereum. +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## API Reference + +### Core Components + +1. **WalletProvider** + + - Manages wallet connections + - Handles chain switching + - Manages RPC endpoints + - Tracks balances + +2. **Actions** + - TransferAction: Native token transfers + - BridgeAction: Cross-chain transfers + - SwapAction: Same-chain token swaps + +## Future Enhancements + +1. **Cross-Chain Operations** + + - Enhanced bridge aggregation + - Multi-chain transaction batching + - Cross-chain liquidity management + - Bridge fee optimization + - Chain-specific gas strategies + - Cross-chain messaging + +2. **DeFi Integration** + + - Advanced swap routing + - Yield farming automation + - Liquidity pool management + - Position management tools + - MEV protection features + - Flash loan integration + +3. **Smart Contract Management** + + - Contract deployment templates + - Verification automation + - Upgrade management + - Security analysis tools + - Gas optimization + - ABI management system + +4. **Token Operations** + + - Batch transfer tools + - Token approval management + - Token metadata handling + - Custom token standards + - Token bridging optimization + - NFT support enhancement + +5. **Wallet Features** + + - Multi-signature support + - Account abstraction + - Hardware wallet integration + - Social recovery options + - Transaction simulation + - Batch transaction processing + +6. **Network Management** + + - Dynamic RPC management + - Network health monitoring + - Fallback provider system + - Custom network addition + - Gas price optimization + - Network analytics + +7. **Security Enhancements** + + - Transaction validation + - Risk assessment tools + - Fraud detection + - Rate limiting + - Emergency shutdown + - Audit integration + +8. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - CLI improvements + - Performance profiling + - Integration templates + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +The plugin contains tests. Whether you're using **TDD** or not, please make sure to run the tests before submitting a PR: + +```bash +pnpm test +``` + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Ethereum](https://ethereum.org/): Decentralized blockchain +- [LiFi](https://lifi.io/): Cross-chain bridge and swap service +- [viem](https://viem.sh/): Ethereum client library +- [wagmi](https://wagmi.sh/): Ethereum client library + +Special thanks to: + +- [Ethereum Developer community](https://ethereum.org/developers/) +- The Eliza community for their contributions and feedback + +For more information about EVM capabilities: + +- [Ethereum Documentation](https://ethereum.org/developers/) +- [LiFi Documentation](https://lifi.io) +- [viem Documentation](https://viem.sh) +- [wagmi Documentation](https://wagmi.sh) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/ferePro.md b/docs/packages/plugins/ferePro.md new file mode 100644 index 00000000000..84d9f4a0df9 --- /dev/null +++ b/docs/packages/plugins/ferePro.md @@ -0,0 +1,228 @@ +# @elizaos/plugin-ferepro + +A plugin for enabling WebSocket communication with FerePro API to provide AI-driven market insights within the ElizaOS ecosystem. + +## Description + +The FerePro plugin enables real-time communication with the FerePro API through WebSocket connections, providing market analysis, cryptocurrency comparisons, and financial insights. + +## Features + +- Real-time WebSocket communication +- Streaming and non-streaming response support +- Market data analysis and comparisons +- Cryptocurrency insights +- Debug mode for detailed responses +- Automatic connection management +- Comprehensive error handling +- Credit tracking and management + +## Installation + +```bash +pnpm install @elizaos/plugin-ferepro +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +Ensure that FEREAI_USER_ID and FEREAI_API_KEY are correctly set in the character secrets +sections or as environment variables. + +FEREAI_USER_ID: FereAI User ID +FEREAI_API_KEY: FereAI API key + +# Optional +FereAI pro take some time to respond. Set REQUEST_TIMEOUT to avoid response timeouts +in the character settings section or as environment variable. + +REQUEST_TIMEOUT: Number of milliseconds before a request times out + +``` + +## Usage + +### Example Queries + +1. Basic Market Query: + +```typescript +// Get top cryptocurrencies +"What are the top 5 cryptocurrencies?"; +``` + +2. Comparison Analysis: + +```typescript +// Compare specific cryptocurrencies +"Compare Ethereum and Bitcoin for the past 6 months"; +``` + +3. Historical Data: + +```typescript +// Get historical performance +"Compare top 3 coins against Bitcoin in the last 3 months"; +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run in development mode: + +```bash +pnpm run dev +``` + +## API Reference + +### Core Components + +1. **FereProService** + + - Manages WebSocket connections + - Handles message sending/receiving + - Processes streaming responses + - Tracks credits and usage + +2. **Actions** + - EXECUTE_FEREPRO: Primary action for API communication + - Supports market queries and analysis requests + - Handles both streaming and non-streaming responses + +### Response Structure + +```typescript +export interface FereAIChatResponse { + answer: string; + chat_id: string; + representation: any[]; + agent_api_name: string; + query_summary: string; + agent_credits: number; + credits_available: number; +} +``` + +## Error Handling + +The plugin includes comprehensive error handling for: + +- WebSocket connection issues +- Invalid message formats +- API response errors +- Credit limitation issues + +## Common Issues & Troubleshooting + +### Connection Issues + +1. **WebSocket Connection Failures** + + - Verify your internet connection + - Check if the FerePro API service is available + - Ensure your FERE_USER_ID and FERE_API_KEY is valid and active + +2. **Message Timeout** + + - The connection might time out for long-running queries + - Consider setting REQUEST_TIMEOUT to avoid response timeouts in the character settings section or as environment variable. + +3. **Credit Depletion** + - Monitor credits_available in responses + - Set up alerts for low credit situations + - Contact FerePro support for credit top-up + +### Response Parsing + +1. **Invalid Response Format** + + - Check if the query is properly formatted + - Verify the message structure matches the API requirements + - Enable debug mode for detailed error information + +2. **Missing Data** + - Ensure the requested timeframe is valid + - Verify the cryptocurrencies exist in the database + - Check if you have access to the requested data tier + +## Safety & Best Practices + +### Security + +1. **API Credentials** + + - Never expose your FEREAI_USER_ID and FEREAI_API_KEY in public repositories + - Use environment variables or secrets sections in the character settings section for sensitive data + - Rotate credentials periodically if possible + +2. **Rate Limiting** + - Implement appropriate delays between requests + - Monitor credit usage to prevent unexpected depletion + - Cache responses when appropriate + +### Data Handling + +1. **Response Validation** + + - Always validate response data before processing + - Implement proper error handling for malformed data + - Log unexpected response formats for debugging + +2. **Stream Management** + - Close WebSocket connections properly after use + - Implement reconnection logic for dropped connections + - Handle partial responses in streaming mode + +### Best Practices + +1. **Query Optimization** + + - Keep queries focused and specific + - Use streaming for large data requests + - Implement caching for frequently requested data + +2. **Error Handling** + + - Implement comprehensive error catching + - Log errors with appropriate context + - Provide meaningful error messages to users + +3. **Resource Management** + - Monitor WebSocket connection status + - Implement connection pooling for high-volume usage + - Clean up resources properly on service shutdown + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about FerePro capabilities: + +- [FereAI Website](https://www.fereai.xyz/) +- [FereAI Agents Documentation](https://docs.fereai.xyz/docs/product/ai-versions) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/firecrawl.md b/docs/packages/plugins/firecrawl.md new file mode 100644 index 00000000000..d51cf12ec41 --- /dev/null +++ b/docs/packages/plugins/firecrawl.md @@ -0,0 +1,85 @@ +# Firecrawl Plugin + +We've created a service wrapper for the Firecrawl API that provides two main functionalities: web scraping and crawling. Here's a breakdown of how it works: + +## Core Features + +1. **Service Factory** + * Creates a service instance using an API key + * Returns an object with two methods: `getScrapeData` and `getCrawlData` + +2. **Web Scraping (`getScrapeData`)** + * Fetches and extracts content from a single webpage + * Returns structured data including page content and metadata + * Endpoint: `https://api.firecrawl.dev/v1/scrape` + +3. **Web Searching (`getSearchData`)** + * Searches for data based on conversations + * Endpoint: `https://api.firecrawl.dev/v1/search` + +## Configuration + +The plugin requires minimal configuration. In your character file, simply add: + +```json +{ + "FIRECRAWL_API_KEY": "your-api-key-here" +} +``` + +## Usage Examples + +### Web Scraping + +The plugin recognizes various ways users might request web scraping: + +```typescript +// Single URL request +"Can you scrape the content from https://example.com?" +"Get the data from www.example.com/page" + +// Two-step interaction +User: "I need to scrape some website data." +Agent: "I can help you scrape website data. Please share the URL you'd like me to process." +User: "example.com/products" +``` + +### Web Search + +The plugin handles different crawling request patterns: + +```typescript +// Direct search +"Find the latest news about SpaceX launches" +"Can you find details about the iPhone 16 release?" +``` + +## Response Handling + +The plugin automatically: +- Validates URLs before processing +- Handles both direct and conversational requests +- Provides appropriate feedback during the scraping/crawling process +- Returns structured data from the target website + +## Error Handling + +The plugin includes built-in error handling for common scenarios: +- Invalid or missing URLs +- API authentication issues +- Network failures +- Malformed responses + +## Actions + +The plugin provides two main actions: +- `FIRECRAWL_GET_SCRAPED_DATA`: For single-page content extraction +- `WEB_SEARCH`: Web search for any data + +## Security + +- API keys should be kept secure and never shared +- All requests are made over HTTPS +- Input validation is performed on all URLs before processing + + diff --git a/docs/packages/plugins/flow-advanced.md b/docs/packages/plugins/flow-advanced.md new file mode 100644 index 00000000000..77df05761a7 --- /dev/null +++ b/docs/packages/plugins/flow-advanced.md @@ -0,0 +1,51 @@ +# @elizaos-plugins/plugin-flow-advanced + +The advanced Eliza plugin for Flow Blockchain + +## Description + +This plugin provides advanced functionality for the Flow Blockchain. It includes the following features: + +- Accounts management based on Account Linking feature on Flow Blockchain +- Token Price Query for any token on Flow Blockchain +- Token Transfer from User's account to others' address(Cadence or EVM) +- Token Registeration for any token on Flow Blockchain + +## Installation + +To install the plugin, use the following command in your Eliza project: + +```bash +npx elizaos plugins add @elizaos-plugins/plugin-di +npx elizaos plugins add @elizaos-plugins/plugin-flow +npx elizaos plugins add @elizaos-plugins/plugin-flow-advanced +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FLOW_ADDRESS= +FLOW_PRIVATE_KEY= +FLOW_NETWORK= +FLOW_ENDPOINT_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { advancedFlowPlugin } from "@elizaos-plugins/plugin-flow-advanced"; +``` + +### Example Usage + +The plugin supports natural language commands for token transfers: + +```typescript +"Send 5 FLOW to 0xa51d7fe9e0080662"; +"Send 1 FLOW - A.1654653399040a61.FlowToken to 0xa2de93114bae3e73"; +"Send 1000 FROTH - 0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba to 0x000000000000000000000002e44fbfbd00395de5"; +``` diff --git a/docs/packages/plugins/flow.md b/docs/packages/plugins/flow.md new file mode 100644 index 00000000000..46a78fb4dc4 --- /dev/null +++ b/docs/packages/plugins/flow.md @@ -0,0 +1,165 @@ +# @elizaos/plugin-flow + +A plugin for interacting with the Flow blockchain within the ElizaOS ecosystem. + +## Description + +This plugin provides essential functionality for interacting with the Flow blockchain, including native FLOW token transfers, fungible token transfers, and EVM token interactions. It offers a seamless way to manage Flow blockchain transactions through natural language commands. + +## Installation + +```bash +pnpm install @elizaos/plugin-flow +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FLOW_ADDRESS= +FLOW_PRIVATE_KEY= +FLOW_NETWORK= +FLOW_ENDPOINT_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { flowPlugin } from "@elizaos/plugin-flow"; +``` + +### Example Usage + +The plugin supports natural language commands for token transfers: + +```typescript +"Send 5 FLOW to 0xa51d7fe9e0080662"; +"Send 1 FLOW - A.1654653399040a61.FlowToken to 0xa2de93114bae3e73"; +"Send 1000 FROTH - 0xb73bf8e6a4477a952e0338e6cc00cc0ce5ad04ba to 0x000000000000000000000002e44fbfbd00395de5"; +``` + +## API Reference + +### Actions + +#### SEND_COIN + +Transfers native FLOW tokens, Cadence fungible tokens, or EVM tokens to specified addresses. + +**Aliases:** + +- SEND_TOKEN +- SEND_TOKEN_ON_FLOW +- TRANSFER_TOKEN_ON_FLOW +- TRANSFER_TOKENS_ON_FLOW +- TRANSFER_FLOW +- SEND_FLOW +- PAY_BY_FLOW + +**Input Content:** + +```typescript +interface TransferContent { + token: string | null; // null for native FLOW, Cadence identifier, or EVM address + amount: string; // Amount to transfer + to: string; // Recipient address (Flow or EVM) + matched: boolean; // Indicates if token and address types match +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify network configuration (mainnet/testnet/emulator) + - Check RPC endpoint availability + - Ensure proper wallet configuration + +2. **Transaction Failures** + + - Verify sufficient balance for transfers + - Check correct address format (Flow vs EVM) + - Confirm token contract compatibility + +3. **Authentication Issues** + - Validate private key format + - Verify wallet address matches private key + - Check network permissions + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables for sensitive data + - Never expose private keys in code or logs + +2. **Transaction Safety** + - Validate all addresses before transfers + - Implement proper error handling + - Check token compatibility before transfers + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm run test +``` + +## Future Enhancements + +- Support for NFT transfers +- Enhanced error handling and recovery +- Additional Flow blockchain interactions +- Expanded token support + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Flow Blockchain](https://flow.com/): Decentralized layer 1 blockchain +- [@onflow/fcl](https://www.npmjs.com/package/@onflow/fcl): Flow Client Library +- [@onflow/types](https://www.npmjs.com/package/@onflow/types): Flow type system +- [Cadence](https://docs.onflow.org/cadence/): Smart contract programming language + +Special thanks to: + +- The Dapper Labs team for developing Flow +- The Flow Developer community +- The FCL SDK maintainers +- The Cadence language designers +- The Eliza community for their contributions and feedback + +For more information about Flow capabilities: + +- [Flow Documentation](https://docs.onflow.org/) +- [Flow Developer Portal](https://developers.flow.com/) +- [Flow Block Explorer](https://flowscan.io/) +- [Cadence Documentation](https://docs.onflow.org/cadence/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/football.md b/docs/packages/plugins/football.md new file mode 100644 index 00000000000..ab2d43ee79b --- /dev/null +++ b/docs/packages/plugins/football.md @@ -0,0 +1,216 @@ +# @elizaos/plugin-football + +A plugin providing live football match data and league standings integration for ElizaOS agents. + +## Description + +The Football plugin integrates with the [Football-Data.org API](https://www.football-data.org/) to enable ElizaOS agents to fetch live football match information and league standings. It includes actions and utilities to provide real-time football data in conversations. + +## Installation + +To install the plugin, use the following command: + +```bash +pnpm install @elizaos/plugin-football +``` + +## Features + +### 1. Live Match Data + +- **Action**: `fetchMatchAction` + - Retrieves live football match data, including: + - Teams + - Scores + - Game events + - Provides real-time updates for ongoing matches. + +### 2. League Standings + +- **Action**: `fetchStandingsAction` + - Fetches league standings for a specified competition, including: + - Team rankings + - Points + - Goals scored + - Other league statistics. + +### 3. Flexible Integration + +- Extendable for additional football data, such as: + - Player statistics + - Match schedules + - Historical match data. + +## API Key Configuration + +To use this plugin, you need an API key from [Football-Data.org](https://www.football-data.org/). + +1. Register and obtain your API key from Football-Data.org. +2. Add the API key to your `.env` file: + + ```env + FOOTBALL_API_KEY=your_api_key_here + ``` + +The plugin will use this key to authenticate requests. + +## Usage Examples + +### `fetchMatchAction` + +**Description**: Retrieves live match data. + +**Code Example**: + +```javascript +import { fetchMatchAction } from "@elizaos/plugin-football"; + +const result = await fetchMatchAction.handler(runtime, message, state); +console.log(result); +``` + +**Sample Output**: + +```json +{ + "matches": [ + { + "homeTeam": { "name": "Chelsea" }, + "awayTeam": { "name": "Arsenal" }, + "score": { + "fullTime": { "homeTeam": 1, "awayTeam": 2 } + } + } + ] +} +``` + +### `fetchStandingsAction` + +**Description**: Fetches league standings for a specific competition. + +**Code Example**: + +```javascript +import { fetchStandingsAction } from "@elizaos/plugin-football"; + +const result = await fetchStandingsAction.handler(runtime, message, state); +console.log(result); +``` + +**Sample Output**: + +```json +{ + "standings": [ + { + "table": [ + { + "position": 1, + "team": { "name": "Manchester City" }, + "points": 45 + }, + { "position": 2, "team": { "name": "Arsenal" }, "points": 42 } + ] + } + ] +} +``` + +## Development + +### Steps to Build and Test + +1. Clone the repository: + + ```bash + git clone https://github.com/elizaOS/eliza.git + ``` + +2. Navigate to the `plugin-football` directory and install dependencies: + + ```bash + cd packages/plugin-football + pnpm install + ``` + +3. Build the plugin: + + ```bash + pnpm run build + ``` + +4. Run linting: + + ```bash + pnpm run lint + ``` + +5. Test the plugin: + + ```bash + pnpm vitest src/tests/match-action.test.ts + pnpm vitest src/tests/fetch-standings-action.test.ts + ``` + +## Dependencies + +This plugin relies on the following dependency: + +- `@elizaos/core: workspace:*` + +## Future Enhancements + +### Expanded Football Data Features + +- Player statistics +- Match schedules and fixtures +- Team information and histories +- Historical match data + +### Advanced League Tracking + +- Real-time updates for all supported leagues +- Integration with more competitions (e.g., Champions League, World Cup) + +### Customizable Output + +- Improved data formatting for conversational outputs +- Support for additional localization options + +### Integration Improvements + +- Enhanced API error handling +- Caching for frequently accessed data +- Increased rate-limit compliance for the Football-Data.org API + +### Developer Tools + +- Sample applications for plugin usage +- Test suites for advanced football scenarios +- Examples for extending plugin functionality + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Football-Data.org](https://www.football-data.org/documentation/quickstart/) Official Football-Data platform API + +Special thanks to: + +- Special thanks to [Football-Data.org](https://www.football-data.org/) for providing the API that powers this plugin. +- The Eliza Core development team. +- The Eliza community for their contributions and feedback + +For more information about Football-Data integration capabilities: + +- [Football-Data API Documentation](https://www.football-data.org/documentation/quickstart) +- [Football-Data Developer Portal](https://www.football-data.org/documentation/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/form.md b/docs/packages/plugins/form.md new file mode 100644 index 00000000000..23bd1d4026c --- /dev/null +++ b/docs/packages/plugins/form.md @@ -0,0 +1,175 @@ +# @elizaos/plugin-form + +A plugin for integrating Form chain capabilities within the ElizaOS ecosystem, providing direct access to curves-based token economics and ERC20 conversions. + +## Description + +[Form Chain](https://form.network/) is a blockchain platform that implements curves-based token economics, allowing users to interact with bonding curves for token creation, trading, and management. This plugin integrates Form chain with Eliza, giving your agent the ability to: + +- Buy and sell curves tokens +- Convert between curves and ERC20 tokens +- Manage token holdings +- Query prices and balances +- Create new ERC20 tokens for curves + +The plugin supports both QUADRATIC and LOGRITHMIC formulas, optimizing for different use cases and trading volumes. + +## Installation + +```bash +pnpm install @elizaos/plugin-form +``` + +## Configuration + +### Environment Variables +```bash +FORM_PRIVATE_KEY= +FORM_TESTNET=true # Optional, defaults to false +``` + +### Plugin Setup +```typescript +// In your agent configuration +import { formPlugin } from "@elizaos/plugin-form"; + +const character = { + plugins: [formPlugin], + // ... other configuration +}; +``` + +## Actions + +### BUY_CURVES_TOKEN +Buy curves tokens for a subject address. +```typescript +await runtime.processAction("BUY_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" // or "LOGRITHMIC" for high volume +}); +``` + +### SELL_CURVES_TOKEN +Sell curves tokens back to the protocol. +```typescript +await runtime.processAction("SELL_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### WITHDRAW_CURVES_TOKEN +Convert curves tokens to their ERC20 equivalent. +```typescript +await runtime.processAction("WITHDRAW_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### DEPOSIT_CURVES_TOKEN +Convert ERC20 tokens back to curves. +```typescript +await runtime.processAction("DEPOSIT_CURVES_TOKEN", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: "1000000000000000000", // 1 token in 18 decimals + formula: "QUADRATIC" +}); +``` + +### MINT_CURVES_ERC20 +Mint new ERC20 token for curves holdings. +```typescript +await runtime.processAction("MINT_CURVES_ERC20", { + name: "My Token", + symbol: "MTK", + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_BALANCE +Check curves token balance. +```typescript +await runtime.processAction("GET_CURVES_BALANCE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_BUY_PRICE +Get price quote for buying curves. +```typescript +await runtime.processAction("GET_CURVES_BUY_PRICE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +### GET_CURVES_SELL_PRICE +Get price quote for selling curves. +```typescript +await runtime.processAction("GET_CURVES_SELL_PRICE", { + subject: "0x742d35Cc6634C0532925a3b844Bc454e4438f44e", + amount: 1, + formula: "QUADRATIC" +}); +``` + +## Formula Selection + +The plugin supports two bonding curve formulas: + +### QUADRATIC + +- Default formula for standard operations +- Suitable for personal and small group usage +- Balanced price impact + +### LOGRITHMIC + +- Optimized for high volume trading +- Better price stability +- Recommended for large-scale operations + +## Best Practices +### Security + +- Store private keys securely using environment variables +- Never expose keys in code or commits +- Validate addresses before transactions +- Check balances before operations + +### Performance + +- Use caching for repeated price checks + +Trading + +- Always check price quotes before trading +- Use appropriate formula for volume +- Monitor price impact + +## Error Handling +The plugin provides detailed error messages for common issues: +```typescript +try { + await runtime.processAction("BUY_CURVES_TOKEN", {...}); +} catch (error) { + if (error.message.includes("insufficient balance")) { + // Handle insufficient funds + } else if (error.message.includes("price impact too high")) { + // Handle excessive price impact + } +} +``` + +## Contributing +This plugin is part of the ElizaOS project. See the main project repository Contributing Guide for details. + +## License +This plugin is part of the ElizaOS project. See the main project repository for license information. diff --git a/docs/packages/plugins/fuel.md b/docs/packages/plugins/fuel.md new file mode 100644 index 00000000000..0184f27329c --- /dev/null +++ b/docs/packages/plugins/fuel.md @@ -0,0 +1,154 @@ +# @elizaos/plugin-fuel + +A plugin for interacting with the Fuel blockchain within the ElizaOS ecosystem. + +## Description + +This plugin provides essential functionality for interacting with the Fuel blockchain, focusing on ETH transfers on the Fuel Ignition network. It offers a streamlined way to manage Fuel blockchain transactions through natural language commands. + +## Installation + +```bash +pnpm install @elizaos/plugin-fuel +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +FUEL_PRIVATE_KEY= +FUEL_PROVIDER_URL= +``` + +## Usage + +### Basic Integration + +```typescript +import { fuelPlugin } from "@elizaos/plugin-fuel"; +``` + +### Example Usage + +The plugin supports natural language commands for ETH transfers: + +```typescript +"Transfer 1 ETH to 0x8F8afB12402C9a4bD9678Bec363E51360142f8443FB171655eEd55dB298828D1"; +``` + +## API Reference + +### Actions + +#### TRANSFER + +Transfers ETH between addresses on the Fuel Ignition network. + +**Aliases:** + +- TRANSFER_FUEL_ETH +- SEND_TOKENS + +**Input Content:** + +```typescript +interface TransferParams { + toAddress: string; // Recipient's Fuel address + amount: string; // Amount of ETH to transfer +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify provider URL is accessible + - Check network connectivity + - Ensure proper network configuration + +2. **Transaction Failures** + + - Verify sufficient balance for transfers + - Check correct address format + - Ensure gas fees can be covered + +3. **Authentication Issues** + - Validate private key format + - Verify wallet configuration + - Check network permissions + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables for sensitive data + - Never expose private keys in code or logs + +2. **Transaction Safety** + - Validate recipient addresses + - Implement proper error handling + - Double-check transaction amounts + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## Future Enhancements + +- Support for token transfers +- Enhanced error handling and recovery +- Additional Fuel blockchain interactions +- Transaction status monitoring +- Balance tracking improvements + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Fuel Network](https://fuel.network/): High-performance modular execution layer +- [fuels-ts](https://github.com/FuelLabs/fuels-ts): TypeScript SDK for Fuel +- [Fuel Wallet](https://wallet.fuel.network/): Official Fuel wallet +- [Fuel GraphQL API](https://docs.fuel.network/docs/graphql/): Network interaction + +Special thanks to: + +- The Fuel Labs team for developing the Fuel Network +- The Fuel Developer community +- The fuels-ts SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Fuel capabilities: + +- [Fuel Documentation](https://docs.fuel.network/) +- [Fuel Developer Portal](https://developers.fuel.network/) +- [Fuel Network Dashboard](https://app.fuel.network/) +- [Fuel GitHub Repository](https://github.com/FuelLabs) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/gelato.md b/docs/packages/plugins/gelato.md new file mode 100644 index 00000000000..767896a0bff --- /dev/null +++ b/docs/packages/plugins/gelato.md @@ -0,0 +1,116 @@ +# plugin-gelato + +A powerful plugin to interact with smart contracts using Gelato Relay, supporting both **ERC2771 (meta transactions)** and **non-ERC2771 calls** on any EVM-compatible blockchain. + +--- + +## Features + +- **Sponsored Calls**: Interact with contracts without needing gas on the user's side. +- **ERC2771 Support**: Execute meta-transactions via Gelato's `sponsoredCallERC2771`. +- **Customizable**: Easily configure chains, contracts, and user-specific settings. + +--- + +## Prerequisites + +- pnpm +- A Gelato Relay API key + +--- + +## Installation + +``` +pnpm install elizaos/plugin-gelato +``` + +--- + +## Configuration + +Fill out the `.env` file in the project root with the following variables: + +``` +GELATO_RELAY_API_KEY= +EVM_PROVIDER_URL= +EVM_PRIVATE_KEY= +``` + +--- + +## Usage + +### For Non-ERC2771 (Standard Sponsored Call) + +```plaintext +Call increment() on 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 contract: +- Function Name: increment +- Args: [] +- Target: 0x3890DB55ff538FBF281c9152820A4a748f5D6F21 +- Chain: arbitrumSepolia +- ABI: ["function increment()"] +``` + +### For ERC2771 (Meta-Transactions) + +```plaintext +Call increment() on 0x00172f67db60E5fA346e599cdE675f0ca213b47b contract: +- Function Name: increment +- Args: [] +- Target: 0x00172f67db60E5fA346e599cdE675f0ca213b47b +- Chain: arbitrumSepolia +- ABI: ["function increment()"] +- User: 0xYourAddressHere +``` + +### Example Output + +For both scenarios, successful execution returns: + +```plaintext +✅ Contract interaction successful! +- Function: increment +- Target: 0x +- Chain: arbitrumSepolia +- Task ID: +- Track Status: [View Task](https://relay.gelato.digital/tasks/status/) +``` + +--- + +## Development + +### Code Structure + +- **`utils.ts`**: + Contains functions for `sponsoredCall` and `sponsoredCallERC2771`. + +- **`schemas.ts`**: + Defines Zod schemas to validate user input. + +- **`actions.ts`**: + Contains the action logic, including parsing natural language input and invoking Gelato Relay. + +### Testing + +1. Update your `.env` file with valid keys. +2. Test both **ERC2771** and **non-ERC2771** prompts using the examples above. + +--- + +## Troubleshooting + +- Ensure your `.env` file is properly configured. +- Verify that your contract ABI, function name, and chain match the deployed contract details. +- For ERC2771 calls, confirm the `User` address is correct and matches the expected `_msgSender` logic in the contract. + +--- + +## License + +This plugin is licensed under the MIT License. See the `LICENSE` file for details. + +``` + +``` diff --git a/docs/packages/plugins/genlayer.md b/docs/packages/plugins/genlayer.md new file mode 100644 index 00000000000..43c57bb0829 --- /dev/null +++ b/docs/packages/plugins/genlayer.md @@ -0,0 +1,101 @@ +# @elizaos/plugin-genlayer + +A plugin for interacting with the GenLayer protocol, enabling contract deployment, interactions, and transaction management. + +## Installation + +```bash +pnpm add @elizaos/plugin-genlayer +``` + +## Configuration + +### Required Environment Variables + +```env +GENLAYER_PRIVATE_KEY=your_private_key # Required: Must start with 0x +GENLAYER_RPC_URL=your_rpc_url # Optional: Defaults to https://studio.genlayer.com:8443/api +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { genLayerPlugin } from "@elizaos/plugin-genlayer"; + +const character = { + plugins: [genLayerPlugin] +}; +``` + +## Features + +### Contract Operations +- Read contract state +- Write to contracts +- Deploy new contracts +- Get contract schemas + +### Transaction Management +- Get transaction details +- Monitor transaction status +- Track nonces +- Wait for transaction receipts + +## Available Actions + +### READ_CONTRACT +Read state from a contract: +```plaintext +"Read the GenLayer contract at 0xE2632... by calling get_have_coin" +``` + +### WRITE_CONTRACT +Write to a contract: +```plaintext +"Write to the contract at 0xE2632... by calling set_value with argument 42" +``` + +### DEPLOY_CONTRACT +Deploy a new contract: +```plaintext +"Deploy a new contract from /path/to/contract.py with argument 'true'" +``` + +### GET_TRANSACTION +Get transaction details: +```plaintext +"Get transaction details for hash 0x1234..." +``` + +### GET_CURRENT_NONCE +Get current nonce for an address: +```plaintext +"Get current nonce for address 0xE2632..." +``` + +### WAIT_FOR_TRANSACTION_RECEIPT +Wait for a transaction to be confirmed: +```plaintext +"Wait for receipt of transaction 0x1234..." +``` + +### GET_CONTRACT_SCHEMA +Get the schema for a deployed contract: +```plaintext +"Get contract schema for address 0xE2632..." +``` + +## Provider + +### ClientProvider +Manages connection to GenLayer protocol: +- Creates and manages client instance +- Handles authentication with private key +- Provides client interface for all actions + +## Dependencies + +- genlayer-js: 0.4.7 +- @elizaos/core: workspace:* diff --git a/docs/packages/plugins/gigbot.md b/docs/packages/plugins/gigbot.md new file mode 100644 index 00000000000..12e669efc0f --- /dev/null +++ b/docs/packages/plugins/gigbot.md @@ -0,0 +1,148 @@ +# Eliza GigBot Client + +This package provides GigBot integration for the Eliza AI agent, enabling task automation and token earning. + +## Features + +- Task automation and management +- Interaction handling with GigBot API +- Token earning through task completions +- Approval workflow via Discord (optional) + +## Setup Guide + +### Prerequisites + +- Node.js and pnpm installed +- Eliza runtime + +### Step 1: Configure Environment Variables + +Create or edit `.env` file in your project root: + +```bash +# GigBot API Credentials +GIGBOT_API_URL=https://www.gigbot.xyz/api # Default API URL for GigBot + +# Client Configuration +GIG_SEARCH_INTERVAL=3 # Interval for searching tasks (hours) +GIG_ACTION_INTERVAL=12 # Interval for performing actions (hours) +GIG_CLAIM_INTERVAL=24 # Interval for claiming tasks (hours) +GIG_CLAIM_PLATFORM=x # Platform for claiming tasks ('x' or 'farcaster') +EVM_PRIVATE_KEY=0x... # Private key for claiming rewards (must start with 0x) + +``` + +### Environment Variables + +| Variable | Description | Default | Required | +|----------|-------------|---------|----------| +| `GIGBOT_API_URL` | GigBot API endpoint | https://www.gigbot.xyz/api | No | +| `GIG_SEARCH_INTERVAL` | How often to search for new tasks (hours) | 3 | No | +| `GIG_ACTION_INTERVAL` | How often to perform task actions (hours) | 12 | No | +| `GIG_CLAIM_INTERVAL` | How often to claim completed tasks (hours) | 24 | No | +| `GIG_CLAIM_PLATFORM` | Platform to claim tasks from ('x' or 'farcaster') | x | No | +| `EVM_PRIVATE_KEY` | Ethereum private key for claiming rewards | - | Yes | + +**Important Security Note**: +- Keep your `EVM_PRIVATE_KEY` secure and never commit it to version control +- Use a dedicated wallet for the agent with limited funds +- Consider using environment variables or a secure secret management system + +### Step 2: Initialize the Client + +```typescript +import { GigBotClientInterface } from "@elizaos/gigbot"; + +const gigbotPlugin = { + name: "gigbot", + description: "GigBot client", + clients: [GigBotClientInterface], +}; + +// Register with your Eliza runtime +runtime.registerPlugin(gigbotPlugin); +``` + +**Important**: The GigBot plugin requires the Twitter client to be initialized first. You must: +1. Include the Twitter plugin before GigBot in your plugins array +2. Modify the client initialization to pass existing clients to GigBot + +Example of required client initialization: + +```typescript +export async function initializeClients( + character: Character, + runtime: IAgentRuntime +) { + const clients: ClientInstance[] = []; + + if (character.plugins?.length > 0) { + for (const plugin of character.plugins) { + // Check if current plugin is GigBot + let isGigbot = plugin.name === "@elizaos-plugins/plugin-gigbot"; + + if (plugin.clients) { + for (const client of plugin.clients) { + // Pass existing clients to GigBot runtime + const startedClient = await client.start( + isGigbot ? {...runtime, clients} : runtime + ); + clients.push(startedClient); + } + } + } + } + + return clients; +} +``` + +## Features + +### Task Automation + +The client can automatically complete tasks based on your agent's capabilities and GigBot's available tasks. Tasks can be: +- Simple tasks +- Complex workflows +- Token-earning opportunities + +### Interactions + +Handles: +- Task collection +- Task completion +- Reward claiming + +### Testing + +```bash +# Run tests +pnpm test + +# Run with debug logging +DEBUG=eliza:* pnpm start +``` + +### Common Issues + +#### API Failures +- Verify credentials in .env +- Check API configuration + +## Security Notes + +- Never commit .env or credential files +- Use environment variables for sensitive data +- Implement proper rate limiting +- Monitor API usage and costs + +## Support + +For issues or questions: +1. Check the Common Issues section +2. Review debug logs (enable with DEBUG=eliza:*) +3. Open an issue with: + - Error messages + - Configuration details + - Steps to reproduce diff --git a/docs/packages/plugins/giphy.md b/docs/packages/plugins/giphy.md new file mode 100644 index 00000000000..abaa710a60a --- /dev/null +++ b/docs/packages/plugins/giphy.md @@ -0,0 +1,48 @@ +# Plugin Giphy + +A plugin for sending GIFs in response to user messages. + +## Overview + +The **Plugin Giphy** enhances your agent's interactions by enabling it to respond with relevant GIFs based on user inputs. Leveraging the [Giphy API](https://developers.giphy.com/), this plugin detects specific triggers in user messages and responds with appropriate GIFs to make conversations more engaging and expressive. + +## Installation + +```bash +pnpm add @elizaos/plugin-giphy +``` + +## Configuration + +Set up your environment with the required Giphy API key: + +| Variable Name | Description | +|--------------|-------------| +| `GIPHY_API_KEY` | Giphy API key for authenticating requests | + +You need to obtain an API key by signing up at [Giphy Developers](https://developers.giphy.com/). + +## Usage + +```typescript +import { giphyPlugin } from "@elizaos/plugin-giphy"; + +// Initialize the plugin +const plugin = giphyPlugin; + +// Add the plugin to your agent's plugin list +const plugins = [ + giphyPlugin, + // ... other plugins +]; + +// Initialize your agent with the plugins +// Example: +// const agent = new Agent({ plugins, ...otherConfig }); +``` + +The plugin provides the `SEND_GIF` action, which automatically responds with a GIF based on the context of user messages. No additional setup is required beyond installing and configuring the plugin. + +## License + +MIT diff --git a/docs/packages/plugins/gitbook.md b/docs/packages/plugins/gitbook.md new file mode 100644 index 00000000000..b301ceb2aa3 --- /dev/null +++ b/docs/packages/plugins/gitbook.md @@ -0,0 +1,195 @@ +# @elizaos/plugin-gitbook + +A plugin for querying and retrieving information from GitBook documentation within the ElizaOS ecosystem. + +## Description + +This plugin enables seamless integration with GitBook documentation, allowing natural language queries to retrieve relevant documentation content. It features intelligent query validation, keyword-based filtering, and clean response formatting to provide accurate documentation answers. + +## Installation + +```bash +pnpm install @elizaos/plugin-gitbook +``` + +## Configuration + +### Environment Variables + +```typescript +GITBOOK_SPACE_ID= +``` + +### Client Configuration (Optional) + +You can customize the plugin's behavior by adding the following configuration to your character.json file: + +```json +{ + "name": "YourCharacter", + "plugins": ["gitbook"], + "settings": { + "gitbook": { + "keywords": { + "projectTerms": ["term1", "term2"], // Optional: Project-specific terms to match + "generalQueries": ["custom1", "custom2"] // Optional: Additional query keywords + }, + "documentTriggers": ["docs", "documentation"] // Optional: Trigger words for documentation + } + } +} +``` + +The plugin will work with default settings if no configuration is provided, but adding custom configuration can help tailor the responses to your specific documentation needs. + +## Usage + +### Basic Integration + +```typescript +import { gitbookPlugin } from "@elizaos/plugin-gitbook"; +``` + +### Example Usage + +The plugin automatically processes natural language queries: + +```typescript +"How do I get started with the project?"; +"What are the main features?"; +"Explain how to configure the system"; +``` + +## API Reference + +### Providers + +#### GitBook Provider + +Handles documentation queries and returns relevant information. + +**Response Type:** + +```typescript +interface GitBookResponse { + answer?: { + text: string; + }; + error?: string; +} +``` + +**Configuration Types:** + +```typescript +interface GitBookKeywords { + projectTerms?: string[]; // Project-specific terms + generalQueries?: string[]; // Additional query keywords +} + +interface GitBookClientConfig { + keywords?: GitBookKeywords; + documentTriggers?: string[]; // Trigger words for documentation +} +``` + +## Common Issues & Troubleshooting + +1. **Connection Issues** + + - Verify GitBook Space ID is correct + - Check API endpoint accessibility + - Ensure proper network connectivity + +2. **Query Issues** + + - Verify query contains valid keywords + - Check if query matches project terms + - Ensure proper query formatting + +3. **Response Issues** + - Validate GitBook API response format + - Check for rate limiting + - Verify content accessibility + +## Security Best Practices + +1. **API Configuration** + + - Store Space ID securely + - Use environment variables + - Implement proper error handling + +2. **Query Validation** + + - Sanitize input queries + - Validate keywords and triggers + - Clean response content + +3. **Response Handling** + - Implement proper error handling + - Validate response format + - Handle sensitive information appropriately + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +## Future Enhancements + +- Enhanced query validation +- Support for multiple GitBook spaces +- Advanced search capabilities +- Custom response formatting +- Caching mechanism for frequent queries +- Support for authenticated endpoints + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [GitBook](https://www.gitbook.com/): Documentation and knowledge base platform +- [GitBook API](https://developer.gitbook.com/): Official GitBook REST API +- [Axios](https://axios-http.com/): Promise-based HTTP client +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for API responses + +Special thanks to: + +- The GitBook team for their documentation platform +- The GitBook Developer Relations team +- The Axios maintainers for reliable HTTP requests +- The Eliza community for their contributions and feedback + +For more information about GitBook capabilities: + +- [GitBook Documentation](https://docs.gitbook.com/) +- [GitBook API Reference](https://developer.gitbook.com/reference) +- [GitBook Integrations](https://docs.gitbook.com/integrations/git-sync) +- [GitBook Space Management](https://docs.gitbook.com/space/space-management) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/gitcoin-passport.md b/docs/packages/plugins/gitcoin-passport.md new file mode 100644 index 00000000000..80de1caedf4 --- /dev/null +++ b/docs/packages/plugins/gitcoin-passport.md @@ -0,0 +1,38 @@ +# `@elizaos/plugin-passport` + +This plugin provides actions for interacting with Gitcoin passport +https://docs.passport.xyz/building-with-passport/passport-api/overview + +--- + +## Installation + +Just add it under your character profile in plugins as + +``` + "plugins": [ + "@elizaos/plugin-gitcoin-passport" + ], +``` + +## Configuration + +Getting Your API Key + +1. Log in to the developer portal: Go to developer.passport.xyz and log in to your account by connecting your wallet. +2. Navigate to the API Keys section: After logging in, go to the "API Keys" section. +3. Generate an API key: Click on the "+ Create a Key" button to generate a unique API key for your account. +4. Store your API key securely: Store your API key in a secure place, as it will be used to access the Passport API. + +Getting your Scorer ID + +1. Log in to the Developer Portal: Go to developer.passport.xyz and log in to your account by connecting your wallet. +2. Navigate to the Scorer section: After logging in, go to the "Scorer" section +3. Create a Scorer: Click on the "+ Create a Scorer" button and input a Scorer name and description. Make sure you use the Unique Humanity scorer, and not the Binary scorer. +4. Find your Scorer ID: Click on the newly created Scorer and you will see the Scorer ID in the page URL. + Example: https://developer.passport.xyz/dashboard/scorer/{scorer_id} + +## Usage + +Results are saved as message and agents can retrive it from there for different use cases. +Default passport treshold of 20 is used, but you can pick your own value and match it agains that diff --git a/docs/packages/plugins/goat.md b/docs/packages/plugins/goat.md new file mode 100644 index 00000000000..f3c49a76c77 --- /dev/null +++ b/docs/packages/plugins/goat.md @@ -0,0 +1,165 @@ +# @elizaos/plugin-goat + +A plugin for integrating blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework within the ElizaOS ecosystem. + +## Description + +[GOAT](https://ohmygoat.dev/) 🐐 (Great Onchain Agent Toolkit) is an open-source framework for adding blockchain tools such as wallets, being able to hold or trade tokens, or interacting with blockchain smart contracts, to your AI agent. + +- [Chains supported](https://ohmygoat.dev/chains-wallets-plugins) +- [Plugins supported](https://ohmygoat.dev/chains-wallets-plugins) + +This plugin integrates GOAT with Eliza, giving your agent the ability to interact with many different protocols. The current setup adds onchain capabilities to your agent to send and check balances of ETH and USDC, and to swap tokens using KIM protocol. Add all the capabilities you need by adding more plugins (read below for more information)! + +## Installation + +```bash +pnpm install @elizaos/plugin-goat +``` + +## Configuration + +### Environment Variables + +```typescript +EVM_PRIVATE_KEY= +EVM_PROVIDER_URL= +``` + +## Configure GOAT for your use case + +1. Configure the chain you want to use by updating the `wallet.ts` file (see all available chains at [https://ohmygoat.dev/chains](https://ohmygoat.dev/chains)) +2. Specify the actions you want to have by updating the `actions.ts` file +3. Add the plugins you need to perform these actions to the `getOnChainTools` function (uniswap, polymarket, etc. see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) +4. Build the project running `pnpm build` +5. Add the necessary environment variables to set up your wallet and plugins +6. Run your agent! + +## Common Issues + +1. **Agent not executing an action**: + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +## Plugins + +GOAT itself has several plugins for interacting with different protocols such as Polymarket, Uniswap, and many more. (see all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins)) + +You can easily add them by installing them and adding them to the `getOnChainActions` function: + +```typescript +const tools = getOnChainActions({ + wallet: walletClient, + plugins: [ + sendETH(), + erc20({ tokens: [USDC, PEPE] }), + polymarket(), + uniswap(), + // ... + ], +}); +``` + +See all available plugins at [https://ohmygoat.dev/chains-wallets-plugins](https://ohmygoat.dev/chains-wallets-plugins) + +## Common Issues & Troubleshooting + +1. **Agent not executing an action**: + + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +2. **Wallet Connection Issues** + + - Verify private key is correctly formatted + - Check RPC endpoint availability + - Ensure sufficient network balance + +3. **Transaction Issues** + - Verify gas availability + - Check network congestion + - Confirm transaction parameters + +## Wallets + +GOAT supports many different wallets from key pairs to [Crossmint Smart Wallets](https://docs.crossmint.com/wallets/smart-wallets/overview) and Coinbase. + +Read more about wallets at [https://ohmygoat.dev/wallets](https://ohmygoat.dev/wallets). + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Never expose keys in code + +2. **Transaction Safety** + + - Implement transaction limits + - Validate recipient addresses + - Double-check transaction amounts + +3. **Network Security** + - Use secure RPC endpoints + - Implement rate limiting + - Monitor for suspicious activity + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +## Future Enhancements + +- Additional protocol integrations +- Multi-chain support +- Advanced transaction management +- Enhanced error handling +- Custom protocol adapters +- Smart contract interaction templates + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [GOAT](https://ohmygoat.dev/): Great Onchain Agent Toolkit +- [Crossmint](https://docs.crossmint.com/): Smart wallet infrastructure +- [Uniswap](https://docs.uniswap.org/): Decentralized exchange protocol +- [Polymarket](https://docs.polymarket.com/): Prediction market platform +- [ERC20](https://eips.ethereum.org/EIPS/eip-20): Token standard implementation + +Special thanks to: + +- The GOAT development team for the onchain agent framework +- The Crossmint team for smart wallet solutions +- The Uniswap and Polymarket teams +- The Ethereum community for ERC standards +- The Eliza community for their contributions and feedback + +For more information about GOAT capabilities: + +- [GOAT Documentation](https://ohmygoat.dev/) +- [Available Chains](https://ohmygoat.dev/chains) +- [Chains, Wallets & Plugins](https://ohmygoat.dev/chains-wallets-plugins) +- [Smart Wallet Documentation](https://docs.crossmint.com/wallets/smart-wallets/overview) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/goplus.md b/docs/packages/plugins/goplus.md new file mode 100644 index 00000000000..7abe6a4266b --- /dev/null +++ b/docs/packages/plugins/goplus.md @@ -0,0 +1,83 @@ +# @elizaos/plugin-goplus + +A plugin that enables on-chain security checks through the GoPlus API integration. + +## Installation + +```bash +pnpm add @elizaos/plugin-goplus +``` + +## Configuration + +### Required Environment Variables + +```env +GOPLUS_API_KEY=your_api_key # Required: GoPlus API key for authentication +``` + +## Usage + +Add the plugin to your character configuration: + +```typescript +import { goplusPlugin } from "@elizaos/plugin-goplus"; + +const character = { + plugins: [goplusPlugin] +}; +``` + +## Features + +### Security Checks + +- EVM Token Security +- Solana Token Security +- Sui Token Security +- Rugpull Detection +- NFT Security Analysis +- Address Security Verification +- Contract Approval Analysis +- Account Token Analysis (ERC20/721/1155) +- Signature Security +- URL/DApp Security + +## Supported Networks + +The plugin supports various networks including: +- Ethereum (1) +- BSC (56) +- Polygon (137) +- Arbitrum (42161) +- Avalanche (43114) +- Optimism (10) +- Base (8453) +- And many more (see specific check types for supported networks) + +## Security Check Types + +### Token Security +- `EVMTOKEN_SECURITY_CHECK`: ERC20 token contract security analysis +- `SOLTOKEN_SECURITY_CHECK`: SPL token security verification +- `SUITOKEN_SECURITY_CHECK`: Sui token contract analysis + +### Contract & NFT Security +- `RUGPULL_SECURITY_CHECK`: Rugpull risk detection +- `NFT_SECURITY_CHECK`: NFT contract security analysis +- `APPROVAL_SECURITY_CHECK`: Smart contract approval analysis + +### Account & Address Security +- `ADDRESS_SECURITY_CHECK`: Malicious address detection +- `ACCOUNT_ERC20_SECURITY_CHECK`: ERC20 token security +- `ACCOUNT_ERC721_SECURITY_CHECK`: NFT asset security +- `ACCOUNT_ERC1155_SECURITY_CHECK`: Multi-token asset security + +### Additional Checks +- `SIGNATURE_SECURITY_CHECK`: Signature verification +- `URL_SECURITY_CHECK`: Phishing and malicious URL detection + +## Dependencies + +- @elizaos/core: workspace:* +- ws: ^8.18.0 diff --git a/docs/packages/plugins/grix.md b/docs/packages/plugins/grix.md new file mode 100644 index 00000000000..87134c68107 --- /dev/null +++ b/docs/packages/plugins/grix.md @@ -0,0 +1,117 @@ +# @elizaos/plugin-grix + +A plugin that enables DeFi options data fetching and price analysis through the Grix Finance API integration. + +## Features + +### Price Data + +- Real-time BTC/ETH price feeds +- Options pricing across multiple protocols +- Available liquidity information + +### Options Data + +- Call and Put options data +- Strike prices and expiry dates +- Protocol-specific pricing +- Position types (long/short) + +## Available Actions + +### getOptionPrice + +Fetches options data across multiple protocols: + +- Real-time options pricing +- Available strike prices +- Current expiry dates +- Protocol comparisons +- Liquidity information +- Position types (long/short) + +### getAssetPrice + +Retrieves real-time price data: + +- Current BTC price +- Current ETH price +- Price updates in real-time + +## Installation + +```bash +pnpm add @elizaos/plugin-grix +``` + +## Configuration + +To use the plugin, you'll need a Grix API key. You can request one by messaging us on [Discord](https://discord.com/invite/ZgPpr9psqp) or [Telegram](https://t.me/GrixFinance). + +There are two ways to configure your API key: + +### 1. Environment Variables + +```env +GRIX_API_KEY=your_api_key +``` + +### 2. Character Configuration + +```json +{ + "name": "Your Character", + "plugins": ["@elizaos/plugin-grix"], + "settings": { + "secrets": { + "GRIX_API_KEY": "your_api_key_here" + } + } +} +``` + +## Quick Start + +1. Visit [Grix Finance](https://app.grix.finance) +2. Request your API key through our Discord or Telegram +3. Add configuration using either method above +4. Start fetching options data! + +## Community & Support + +- [Discord Community](https://discord.com/invite/ZgPpr9psqp) +- [Telegram Group](https://t.me/GrixFinance) +- [Documentation](https://app.grix.finance/docs) + + +## Development + +### Building + +```bash +pnpm build +``` + +### Running with Eliza + +1. Install dependencies: + +```bash +pnpm install +``` + +2. Configure your API key using one of the methods described in the Configuration section + +3. Start Eliza with your character: + +```bash +pnpm start --character="characters/your_character.character.json" +``` + +## License + +MIT + +## Disclaimer + +Please ensure compliance with your local regulations regarding options trading. diff --git a/docs/packages/plugins/holdstation.md b/docs/packages/plugins/holdstation.md new file mode 100644 index 00000000000..1088e51b835 --- /dev/null +++ b/docs/packages/plugins/holdstation.md @@ -0,0 +1,51 @@ +# @elizaos/plugin-holdstation + +Holdstation Wallet Plugin for Eliza + +## Features + +This plugin provides functionality (now on ZKsync Era, and Berachain coming soon) to: + +- Token swapping on hold.so (Holdstation swap) + +## Configuration + +The plugin requires the following environment variables: + +```env +HOLDSTATION_PRIVATE_KEY= # Required: Your wallet's private key +``` + +## Installation + +```bash +pnpm add @elizaos/plugin-holdstation +``` + +## Development + +```bash +pnpm install --no-frozen-lockfile +``` + +### Building + +```bash +pnpm build +``` + +### Testing + +```bash +pnpm test +``` + +## Credits + +Special thanks to: + +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/hyperbolic.md b/docs/packages/plugins/hyperbolic.md new file mode 100644 index 00000000000..87eb20360f8 --- /dev/null +++ b/docs/packages/plugins/hyperbolic.md @@ -0,0 +1,130 @@ +# Hyperbolic Plugin +A powerful plugin for managing GPU instances on the Hyperbolic platform through Eliza AI. + +## Features + +- List available GPUs with specifications and pricing +- Check account balance +- Monitor GPU instance status +- View spending history +- Rent GPU instances +- Terminate GPU instances + +## Actions + +### 1. GET_HB_AVAILABLE_GPUS +Lists all available GPU machines on the Hyperbolic platform with their specifications and pricing. + +**Example prompt:** +``` +Show me available GPUs on Hyperbolic +``` + +### 2. GET_CURRENT_BALANCE +Checks your current balance on the Hyperbolic platform. + +**Example prompt:** +``` +Show my current balance on Hyperbolic +``` + +### 3. GET_GPU_STATUS +Monitors the status of all your GPU instances. + +**Example prompt:** +``` +Check status of all my GPU instances on Hyperbolic +``` + +### 4. GET_SPEND_HISTORY +Shows your spending history on the Hyperbolic platform. + +**Example prompt:** +``` +Show my spending history on Hyperbolic +``` + +### 5. RENT_HB_COMPUTE +Rents a GPU instance using node ID and cluster name. + +**Example prompt:** +``` +Create a GPU instance on the Hyperbolic +[nodeid]las1-prd-acl-msi-09.fen.intra[/nodeid] +[cluster]circular-snapdragon-worm[/cluster] +``` + +**Required format:** +- Node ID must be wrapped in `[nodeid]` tags +- Cluster name must be wrapped in `[cluster]` tags + +### 6. TERMINATE_COMPUTE +Terminates a running GPU instance. + +**Example prompts:** +``` +Terminate the Hyperbolic instance [gpu]worse-walnut-viper[/gpu] +``` +``` +Terminate the Hyperbolic instance [gpu]puny-clover-basilisk[/gpu] +``` + +**Important Note:** When terminating an instance, you must provide the instance ID wrapped in `[gpu]` tags. The examples above show two different instance IDs (`worse-walnut-viper` and `puny-clover-basilisk`) to demonstrate the format. + +## Configuration + +The plugin requires the following environment variables: + +```bash +HYPERBOLIC_API_KEY=your_api_key_here +HYPERBOLIC_ENV=production # or development +HYPERBOLIC_GRANULAR_LOG=true # optional, for detailed logging +HYPERBOLIC_LOG_LEVEL=debug # optional, to control the level +HYPERBOLIC_SPASH=true # to show the splash +``` + +## Response Format + +All actions return structured responses with: +- Success/failure status +- Detailed error messages when applicable +- Formatted text output +- Additional data specific to each action + +## Error Handling + +The plugin includes comprehensive error handling for: +- Invalid API keys +- Network issues +- Invalid input formats +- API rate limits +- Server errors + +## Logging + +Granular logging is available by setting `HYPERBOLIC_GRANULAR_LOG=true`. This provides detailed information about: +- API requests and responses +- Validation steps +- Error details +- Action execution flow + +## Development + +To extend or modify this plugin: + +1. All actions are in the `src/actions` directory +2. Utility functions are in `src/utils` +3. Environment configuration is in `src/environment.ts` +4. Error types are in `src/error/base.ts` + +## Dependencies + +- @elizaos/core +- axios +- chalk (for console output) +- cli-table3 (for formatted tables) +- ora (for loading spinners) + +## License + +MIT License diff --git a/docs/packages/plugins/hyperliquid.md b/docs/packages/plugins/hyperliquid.md new file mode 100644 index 00000000000..a671c61b0e8 --- /dev/null +++ b/docs/packages/plugins/hyperliquid.md @@ -0,0 +1,111 @@ +# Hyperliquid Plugin for Eliza + +This plugin enables interaction with the Hyperliquid DEX through Eliza, providing spot trading capabilities. + +## Features + +- 💱 Spot Trading + - Market orders (immediate execution) + - Limit orders (price-specific) + - Smart price validation to prevent mistakes +- 📊 Price Checking + - Real-time price information + - 24h price change + - Volume statistics +- 🔄 Order Management + - Cancel all open orders + - Clear feedback on execution + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-hyperliquid"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +HYPERLIQUID_PRIVATE_KEY=your_private_key # Required for trading and cancelling orders +HYPERLIQUID_TESTNET=true_or_false # Optional, defaults to false +``` + +## Available Actions + +### 1. SPOT_TRADE + +Place spot market or limit orders. + +Examples: + +``` +# Market Orders +"buy 1 PIP" -> Buys 1 PIP at market price +"sell 2 HYPE" -> Sells 2 HYPE at market price +"market buy 1 ETH" -> Buys 1 ETH at market price + +# Limit Orders +"buy 1 PIP at 20 USDC" -> Places buy order for 1 PIP at 20 USDC +"sell 0.5 HYPE at 21 USDC" -> Places sell order for 0.5 HYPE at 21 USDC +``` + +### 2. PRICE_CHECK + +Get current price information for any token. + +Examples: + +``` +"What's the price of PIP?" +"Check HYPE price" +"Get ETH price" +``` + +Returns: Current price, 24h change, and volume. + +### 3. CANCEL_ORDERS + +Cancel all your open orders. + +Examples: + +``` +"Cancel all orders" +"Cancel my orders" +``` + +## Price Validation + +The plugin includes smart price validation to prevent mistakes: + +- Market Orders: Validates price is within ±50% of market price +- Limit Orders: + - Buy orders must be below market price + - Sell orders must be above market price + - Warns if price is very different from market (±80%) + +## Error Handling + +The plugin provides clear error messages for common issues: + +- Invalid token symbols +- Price validation failures +- Network connection issues +- Order execution failures + +## Security Notes + +- Store your private key securely using environment variables +- Test with small amounts first +- Use testnet for initial testing +- Monitor your orders regularly +- Double-check prices before confirming trades + +## License + +MIT diff --git a/docs/packages/plugins/icp.md b/docs/packages/plugins/icp.md new file mode 100644 index 00000000000..35f198a812a --- /dev/null +++ b/docs/packages/plugins/icp.md @@ -0,0 +1,235 @@ +# @elizaos/plugin-icp + +Internet Computer Protocol (ICP) plugin for Eliza OS. + +## Features + +- Create meme tokens on PickPump +- Interact with ICP canisters +- Handle ICRC-1 token standard +- Manage ICP wallets and identities +- Support for anonymous and authenticated calls + +## Installation + +```bash +pnpm install @elizaos/plugin-icp +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +INTERNET_COMPUTER_PRIVATE_KEY= +``` + +## Usage + +### Import and Register + +```typescript +import { icpPlugin } from "@elizaos/plugin-icp"; + +// Register the plugin with Eliza +eliza.registerPlugin(icpPlugin); +``` + +### Available Actions + +#### Create Token + +Creates a new meme token on PickPump with AI-generated logo and description. + +```typescript +// Example usage in chat +"Create a space cat token on PickPump"; +"Help me create a pizza-themed funny token on PP"; +``` + +### Providers + +#### ICP Wallet Provider + +Manages ICP wallet operations and canister interactions. + +```typescript +const { wallet } = await icpWalletProvider.get(runtime, message, state); +``` + +## Common Issues & Troubleshooting + +1. **Identity Creation Failures** + + - Ensure private key is exactly 32 bytes + - Verify private key is properly hex-encoded + - Check if private key has correct permissions + +2. **Canister Interaction Issues** + + - Verify canister ID is valid + - Ensure proper network configuration (mainnet/testnet) + - Check if canister is available and running + +3. **Transaction Failures** + + - Verify sufficient balance for operation + - Check cycle balance for canister calls + - Ensure proper fee calculation + +4. **Authentication Problems** + - Verify identity is properly initialized + - Check if agent is configured correctly + - Ensure proper network connectivity + +## Security Best Practices + +1. **Key Management** + + - Never expose private keys in code or logs + - Use environment variables for sensitive data + - Rotate keys periodically + - Use separate keys for development and production + +2. **Identity Security** + + - Create separate identities for different purposes + - Limit identity permissions appropriately + - Monitor identity usage and access patterns + +3. **Canister Interaction Safety** + + - Validate all input parameters + - Implement proper error handling + - Use query calls when possible to save cycles + - Implement rate limiting for calls + +4. **Network Security** + - Use secure endpoints + - Implement proper timeout handling + - Validate responses from canisters + - Handle network errors gracefully + +## API Reference + +### Types + +```typescript +// Token Creation Arguments +export type CreateMemeTokenArg = { + name: string; + symbol: string; + description: string; + logo: string; + twitter?: string; + website?: string; + telegram?: string; +}; + +// ICP Configuration +export interface ICPConfig { + privateKey: string; + network?: "mainnet" | "testnet"; +} +``` + +### Utilities + +The plugin provides various utility functions for: + +- Principal/Account conversions +- Candid type handling +- Result/Variant unwrapping +- Array/Hex conversions + +### Helper Functions + +```typescript +// Convert principal to account +principal2account(principal: string, subaccount?: number[]): string + +// Check if text is valid principal +isPrincipalText(text: string): boolean + +// Create anonymous actor for public queries +createAnonymousActor(idlFactory, canisterId, host?) +``` + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` + +### Testing with Local Replica + +1. Start a local Internet Computer replica +2. Configure environment for local testing +3. Use test identities for development + +## Dependencies + +- @dfinity/agent: ^2.1.3 +- @dfinity/candid: ^2.1.3 +- @dfinity/identity: ^2.1.3 +- @dfinity/principal: ^2.1.3 +- @elizaos/core: workspace:\* + +## Future Enhancements + +- Support for additional canister standards +- Enhanced error handling and recovery +- Batch transaction support +- Advanced identity management +- Improved cycle management +- Extended canister interaction capabilities + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Internet Computer](https://internetcomputer.org/): Decentralized cloud computing platform +- [@dfinity/agent](https://www.npmjs.com/package/@dfinity/agent): ICP HTTP client and agent +- [@dfinity/candid](https://www.npmjs.com/package/@dfinity/candid): Candid interface description language +- [@dfinity/principal](https://www.npmjs.com/package/@dfinity/principal): Principal identifier handling +- [@dfinity/identity](https://www.npmjs.com/package/@dfinity/identity): Identity management + +Special thanks to: + +- The DFINITY Foundation for developing the Internet Computer +- The ICP Developer community +- The DFINITY SDK maintainers +- The PickPump team for meme token infrastructure +- The Eliza community for their contributions and feedback + +For more information about Internet Computer capabilities: + +- [ICP Documentation](https://internetcomputer.org/docs/) +- [DFINITY Developer Portal](https://smartcontracts.org/) +- [ICP Dashboard](https://dashboard.internetcomputer.org/) +- [Candid Documentation](https://internetcomputer.org/docs/current/developer-docs/build/candid/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/image-generation.md b/docs/packages/plugins/image-generation.md new file mode 100644 index 00000000000..f3488fe44f2 --- /dev/null +++ b/docs/packages/plugins/image-generation.md @@ -0,0 +1,155 @@ +# Plugin Image Generation + +A plugin designed for generating and managing images, providing features like image manipulation, storage integration, and optimized handling for various use cases. + +## Overview + +The Plugin Image Generation offers developers tools to handle image-related operations seamlessly. It supports image creation, manipulation, and integration with storage solutions, making it ideal for applications requiring dynamic image generation. + +### Features + +- Dynamic image generation +- Integration with storage solutions +- Optimized handling for high-resolution images + +## Installation Instructions + +To install the plugin, use the following command: + +```bash +pnpm install plugin-image-generation +``` + +## Configuration Requirements + +### Environment Variables + +Ensure the following environment variables are set: + +| Variable Name | Description | +| ---------------------- | ----------------------------------- | +| `IMAGE_STORAGE_BUCKET` | Name of the storage bucket. | +| `STORAGE_ACCESS_KEY` | Access key for storage integration. | +| `STORAGE_SECRET_KEY` | Secret key for storage integration. | + +### TypeScript Configuration + +The plugin assumes a TypeScript environment. Ensure your `tsconfig.json` includes the necessary compiler options: + +```json +{ + "compilerOptions": { + "module": "ESNext", + "target": "ES6", + "moduleResolution": "node", + "strict": true + } +} +``` + +## Usage Examples + +### Generate an Image + +The main functionality allows generating an image dynamically. + +```typescript +import { generateImage } from "plugin-image-generation"; + +const image = await generateImage({ + width: 800, + height: 600, + backgroundColor: "#ffffff", + text: "Hello World", + font: "Arial", +}); + +console.log("Generated Image:", image); +``` + +### Upload to Storage + +The plugin supports direct integration with storage solutions for uploading images. + +```typescript +import { uploadImage } from "plugin-image-generation"; + +const uploadResult = await uploadImage({ + imagePath: "path/to/image.png", + bucketName: "my-storage-bucket", +}); + +console.log("Image uploaded successfully:", uploadResult); +``` + +## API Reference + +### generateImage + +#### Parameters + +- `width`: Width of the image. +- `height`: Height of the image. +- `backgroundColor`: Background color of the image. +- `text`: Text to be displayed on the image. +- `font`: Font style for the text. + +#### Returns + +A promise that resolves with the generated image. + +### uploadImage + +#### Parameters + +- `imagePath`: Path to the image file. +- `bucketName`: Name of the storage bucket. + +#### Returns + +A promise that resolves with the upload result. + +## Common Issues/Troubleshooting + +### Issue: Image Not Generated + +**Solution**: Ensure the input parameters for `generateImage` are valid and properly formatted. + +### Issue: Upload Fails + +**Solution**: Verify that the storage credentials and bucket name are correctly configured. + +### Issue: Poor Image Quality + +**Solution**: Check the resolution and ensure that high-quality settings are applied during generation. + +## Additional Documentation + +### Examples Folder + +Include sample projects in the `examples/` directory for users to reference. + +### Testing Guide + +- Run tests using `pnpm test`. +- Ensure integration tests cover all major functionalities. + +### Plugin Development Guide + +To extend this plugin, add new image generation or manipulation features in the `src/` directory. + +### Security Best Practices + +- Store access keys securely. +- Use environment variables for sensitive information. +- Regularly update dependencies. + +### Performance Optimization Guide + +- Optimize image generation by reducing redundant processing. +- Use efficient algorithms for image manipulation. +- Cache frequently used assets. + +## License + +MIT diff --git a/docs/packages/plugins/image.md b/docs/packages/plugins/image.md new file mode 100644 index 00000000000..67000502331 --- /dev/null +++ b/docs/packages/plugins/image.md @@ -0,0 +1,60 @@ +## ImageDescriptionService + +Processes and analyzes images to generate descriptions. Supports multiple providers: + +- Local processing using Florence model +- OpenAI Vision API +- Google Gemini + +Configuration: + +```env +# For OpenAI Vision +OPENAI_API_KEY=your_openai_api_key + +# For Google Gemini +GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key +``` + +Provider selection: + +- If `imageVisionModelProvider` is set to `google/openai`, it will use this one. +- Else if `model` is set to `google/openai`, it will use this one. +- Default if nothing is set is OpenAI. + +The service automatically handles different image formats, including GIFs (first frame extraction). + +Features by provider: + +**Local (Florence):** + +- Basic image captioning +- Local processing without API calls + +**OpenAI Vision:** + +- Detailed image descriptions +- Text detection +- Object recognition + +**Google Gemini 1.5:** + +- High-quality image understanding +- Detailed descriptions with natural language +- Multi-modal context understanding +- Support for complex scenes and content + +The provider can be configured through the runtime settings, allowing easy switching between providers based on your needs. + +// ... existing code ... + +### describeImage + +Analyzes and generates descriptions for images. + +```typescript +// Example usage +const result = await runtime.executeAction("DESCRIBE_IMAGE", { + imageUrl: "path/to/image.jpg", +}); +``` \ No newline at end of file diff --git a/docs/packages/plugins/imgflip.md b/docs/packages/plugins/imgflip.md new file mode 100644 index 00000000000..10334bc131e --- /dev/null +++ b/docs/packages/plugins/imgflip.md @@ -0,0 +1,53 @@ +# @elizaos/plugin-imgflip + +A plugin for generating memes using the imgflip.com API. + +## Description + +The Imgflip plugin provides a GENERATE_MEME action that can be used to generate memes using the imgflip.com API based on the user's message. + +## Installation + +```bash +pnpm install @elizaos/plugin-imgflip +``` + +## Features + +### 1. Generate Meme + +- GENERATE_MEME action used for generating memes using the imgflip.com API based on the user's message. + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +## Dependencies + +- @elizaos/core: workspace:\* + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +Special thanks to: + +- The Eliza Core development team +- The Eliza community for their contributions and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/initia.md b/docs/packages/plugins/initia.md new file mode 100644 index 00000000000..77677416e5b --- /dev/null +++ b/docs/packages/plugins/initia.md @@ -0,0 +1,62 @@ +# @elizaos/plugin-initia + +Initia plugin for Eliza OS. + +## Overview + +This plugin provides functionality to: + +- Transfer INIT token + +## Installation + +```bash +pnpm install @elizaos/plugin-initia +``` + +## Configuration + +```bash +INITIA_PRIVATE_KEY=0x1234...abcd +INITIA_NODE_URL=https://... +INITIA_CHAIN_ID=initiaion-2 +``` + +## Features + + +### Token transfer + +Send token to recipient: +```typescript +User: "Send 1 INIT to init14l3c2vxrdvu6y0sqykppey930s4kufsvt97aeu"; +Assistant: "Sure! I am going to send 1 INIT to init14l3c2vxrdvu6y0sqykppey930s4kufsvt97aeu"; +``` + +## Development + +### Building + +```bash +pnpm run build +``` + +### Testing + +```bash +pnpm run test +``` + +## Dependencies + +- `@initia/initia.js`: Official initia js SDK + +## Future Enhancements + +1. Execute other messages like delegate, undelegate. +2. Interacting with minitia. + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/injective.md b/docs/packages/plugins/injective.md new file mode 100644 index 00000000000..d08ae4abf48 --- /dev/null +++ b/docs/packages/plugins/injective.md @@ -0,0 +1,176 @@ +# @elizaos/plugin-injective + +A comprehensive plugin for interacting with the Injective chain through ElizaOS. + +## Project Structure + +``` +src/ +├── auction.ts # Auction module actions +├── auth.ts # Auth module actions +├── bank.ts # Bank module actions +├── distribution.ts # Distribution module actions +├── exchange.ts # Exchange module actions +├── explorer.ts # Explorer module actions +├── gov.ts # Governance module actions +├── ibc.ts # IBC module actions +├── insurance.ts # Insurance module actions +├── mint.ts # Mint module actions +├── mito.ts # Mito module actions +├── peggy.ts # Peggy module actions +├── permissions.ts # Permissions module actions +├── staking.ts # Staking module actions +├── token-factory.ts # Token Factory module actions +├── wasm.ts # WASM module actions +├── base.ts # Base action creation logic +└── index.ts # Main export file +``` + +## Module Organization + +Each module file follows a consistent organization pattern: + +### 1. File Structure +```typescript +// src/[module].ts + +import { createGenericAction } from './base'; +import * as ModuleTemplates from '@injective/template/[module]'; +import * as ModuleExamples from '@injective/examples/[module]'; + +// Export individual actions +export const Action1 = createGenericAction({...}); +export const Action2 = createGenericAction({...}); + +// Export all actions as a group +export const ModuleActions = [ + Action1, + Action2, + // ...other actions +]; +``` + +### 2. Main Export File +```typescript +// src/index.ts + +export * from './auction'; +export * from './auth'; +// ...other module exports + +export const InjectiveActions = [ + ...ExchangeActions, + ...AuctionActions, + // ...other module actions +]; +``` + +## Module Descriptions + +### auction.ts +Handles auction-related functionality including module parameters, auction rounds, and bidding. + +### auth.ts +Manages authentication, account details, and authorization grants. + +### bank.ts +Handles account balances, token transfers, and supply queries. + +### distribution.ts +Manages reward distribution and withdrawals. + +### exchange.ts +Core exchange functionality including spot/derivative markets, orders, and positions. + +### explorer.ts +Blockchain explorer functionality including transaction and block queries. + +### gov.ts +Handles protocol governance including proposals and voting. + +### ibc.ts +Inter-Blockchain Communication functionality. + +### insurance.ts +Manages insurance funds and redemptions. + +### mint.ts +Controls token minting and inflation parameters. + +### mito.ts +Handles Mito-specific functionality. + +### peggy.ts +Manages Ethereum bridge operations. + +### permissions.ts +Controls role-based access and permissions. + +### staking.ts +Manages validator operations and delegations. + +### token-factory.ts +Handles token creation and management. + +### wasm.ts +Smart contract functionality including deployment and execution. + +## Development + +### Adding New Actions + +1. Add action to appropriate module file: +```typescript +export const NewAction = createGenericAction({ + name: 'ACTION_NAME', + description: 'Action description', + template: Templates.template, + examples: Examples.example, + functionName: 'functionName', + validateContent: () => true +}); + +export const ModuleActions = [ + ...existingActions, + NewAction +]; +``` + +### Adding New Modules + +1. Create new module file: +```typescript +// src/new-module.ts +export const NewModuleActions = [...]; +``` + +2. Add to main exports: +```typescript +// src/index.ts +export * from './new-module'; +``` + +## Installation + +```bash +npm install @elizaos/plugin-injective +``` + +## Usage + +```typescript +import { InjectiveActions } from '@elizaos/plugin-injective'; +``` + +## Contributing +Feel free to contribute to more similes, examples and refined templates - for a more robust action contorl. + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +ISC \ No newline at end of file diff --git a/docs/packages/plugins/intiface.md b/docs/packages/plugins/intiface.md new file mode 100644 index 00000000000..d11901bde86 --- /dev/null +++ b/docs/packages/plugins/intiface.md @@ -0,0 +1,205 @@ +# @elizaos/plugin-intiface + +Intiface/Buttplug.io integration plugin for Eliza OS that enables control of intimate hardware devices. + +## Features + +- Support for multiple intimate hardware devices through Buttplug.io protocol +- Automatic device discovery and connection management +- Battery level monitoring for supported devices +- Vibration and rotation control (device-dependent) +- Graceful connection handling and cleanup +- Built-in device simulation for testing +- Support for customizable vibration patterns +- Automatic Intiface Engine management + +## Installation + +```bash +pnpm install @elizaos/plugin-intiface +``` + +## Configuration + +The plugin can be configured through environment variables or runtime settings: + +```env +INTIFACE_URL=ws://localhost:12345 +INTIFACE_NAME=Eliza Intiface Client +DEVICE_NAME=Lovense Nora +``` + +## Usage + +### Basic Device Control + +```typescript +import { intifacePlugin } from "@elizaos/plugin-intiface"; + +// Vibrate device +const result = await eliza.execute({ + action: "VIBRATE", + content: { + strength: 0.5, // 0.0 to 1.0 + duration: 1000, // milliseconds + }, +}); + +// Check battery level +const battery = await eliza.execute({ + action: "BATTERY", + content: {}, +}); +``` + +### Advanced Features + +```typescript +// Rotation control (for supported devices) +const result = await eliza.execute({ + action: "ROTATE", + content: { + strength: 0.7, + duration: 2000, + }, +}); +``` + +## Device Support + +The plugin supports various devices through the Buttplug protocol, including but not limited to: + +- Lovense devices (Nora, Max, etc.) +- WeVibe products +- Kiiroo devices +- Magic Motion products +- And many others supported by Buttplug.io + +## Testing + +The plugin includes a simulation mode for testing without physical hardware: + +```bash +pnpm test-via-bun +``` + +## Dependencies + +- Buttplug.io (v3.2.2) +- Intiface Engine +- WebSocket support + +## Troubleshooting + +### Common Issues + +1. **Connection Problems** + + - Verify Intiface Engine is running (`ws://localhost:12345` by default) + - Check device Bluetooth is enabled and in pairing mode + - Ensure device is charged and within range + - Try restarting both device and Intiface Engine + +2. **Device Not Found** + + - Confirm device is supported by Buttplug.io + - Try manual device pairing through Intiface Central first + - Check if device requires specific firmware version + - Verify device is not connected to another application + +3. **Command Failures** + + - Check battery level is sufficient + - Ensure device is within supported range for command values + - Verify device supports the specific command (vibrate/rotate) + - Monitor Intiface Engine logs for detailed error messages + +4. **Performance Issues** + - Reduce command frequency if experiencing lag + - Check for Bluetooth interference + - Monitor system resources for potential bottlenecks + - Consider using wired connection if available + +## Security Best Practices + +1. **Device Privacy** + + - Use secure WebSocket connections (wss://) when possible + - Don't expose Intiface Engine to public networks + - Regularly check for and apply firmware updates + - Monitor device connection status + +2. **Data Protection** + + - Clear device pairing history when needed + - Don't store sensitive device information + - Use unique device names for identification + - Implement timeouts for idle connections + +3. **Access Control** + + - Limit device control to authenticated users + - Implement command rate limiting + - Use device-specific permissions where applicable + - Monitor and log unusual command patterns + +4. **Network Security** + - Keep Intiface Engine behind firewall + - Use local connections when possible + - Implement connection timeouts + - Regular security audits of configurations + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with [Buttplug.io](https://buttplug.io) and [Intiface Engine](https://github.com/intiface/intiface-engine), developed by Nonpolynomial Labs, LLC. + +Special thanks to: + +- The Buttplug.io team for developing the Buttplug.io protocol +- The Intiface Engine team for developing the Intiface Engine +- The Eliza community for their contributions and feedback. + +For more information about Buttplug.io and Intiface Engine: + +- [Buttplug.io](https://buttplug.io) +- [Intiface Engine](https://github.com/intiface/intiface-engine) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + +Intiface is a Registered Trademark of Nonpolynomial Labs, LLC + +Buttplug and Intiface are BSD licensed. + + Copyright (c) 2016-2022, Nonpolynomial Labs, LLC + All rights reserved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + + * Neither the name of buttplug nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs/packages/plugins/iq6900.md b/docs/packages/plugins/iq6900.md new file mode 100644 index 00000000000..32b5718a132 --- /dev/null +++ b/docs/packages/plugins/iq6900.md @@ -0,0 +1,28 @@ +# Code In Plugin For Eliza + +## Description +Through IQ6900's new inscription standard "Code-In", powerful inscription functionality is provided to Eliza. +Engrave Eliza on the blockchain forever. +All your Character JSON files are input onto the blockchain without compression. +Everyone can read your agent from blocks forever. + +## inscription +- **Code-in your eliza**: Go to the site and engrave your character file on-chain. https://elizacodein.com/ + +## Onchain git +- **Commit your update**: +Update your files anytime. +On our site, your files are managed in a format similar to GitHub, +and our plugin automatically loads your latest agent file. + +## Let's get started +- **Edit your .env**: write down IQ_WALLET_ADDRESS to your wallet address that you used on website. +To be sure, right after inscription, wait about 5 minutes and just type pmpn start. You are now all set. + + +You have engraved an eternal record. +Imagine, someone could develop your agent 200 years from now. + +Many things will be updated. + +Learn more: https://iq6900.gitbook.io/iq6900/eliza-code-in \ No newline at end of file diff --git a/docs/packages/plugins/irys.md b/docs/packages/plugins/irys.md new file mode 100644 index 00000000000..e93ce7a780c --- /dev/null +++ b/docs/packages/plugins/irys.md @@ -0,0 +1,317 @@ +# @elizaos/plugin-irys + +A plugin for ElizaOS that enables decentralized data storage and retrieval using Irys, a programmable datachain platform. + +## Overview + +This plugin integrates Irys functionality into ElizaOS, allowing agents to store and retrieve data in a decentralized manner. It provides a service for creating a decentralized knowledge base and enabling multi-agent collaboration. + +## Installation + +To install this plugin, run the following command: + +```bash +pnpm add @elizaos/plugin-irys +``` + +## Features + +- **Decentralized Data Storage**: Store data permanently on the Irys network +- **Data Retrieval**: Fetch stored data using GraphQL queries +- **Multi-Agent Support**: Enable data sharing and collaboration between agents +- **Ethereum Integration**: Built-in support for Ethereum wallet authentication + +## Configuration + +The plugin requires the following environment variables: + +- `EVM_WALLET_PRIVATE_KEY`: Your EVM wallet private key +- `AGENTS_WALLET_PUBLIC_KEYS`: The public keys of the agents that will be used to retrieve the data (string separated by commas) + +For this plugin to work, you need to have an EVM (Base network) wallet with a private key and public address. To prevent any security issues, we recommend using a dedicated wallet for this plugin. + +> **Important**: The wallet address needs to have Base Sepolia ETH tokens to store images/files and any data larger than 100KB. + +## How it works + +The system consists of three main components that work together to enable decentralized multi-agent operations: + +### 1. Providers +Providers are the data management layer of the system. They: +- Interact with the Orchestrator to store data +- Aggregate information from multiple sources to enhance context +- Support agents with enriched data for better decision-making + +### 2. Orchestrators +Orchestrators manage the flow of communication and requests. They: +- Interact with the Irys datachain to store and retrieve data +- Implement a tagging system for request categorization +- Validate data integrity and authenticity +- Coordinate the overall system workflow + +### 3. Workers +Workers are specialized agents that execute specific tasks. They: +- Perform autonomous operations (e.g., social media interactions, DeFi operations) +- Interact with Orchestrators to get contextual data from Providers +- Interact with Orchestrators to store execution results on the Irys datachain +- Maintain transparency by documenting all actions + +This architecture ensures a robust, transparent, and efficient system where: +- Data is securely stored and verified on the blockchain +- Requests are properly routed and managed +- Operations are executed autonomously +- All actions are traceable and accountable + +You can find more information about the system in the [A Decentralized Framework for Multi-Agent Systems Using Datachain Technology](https://trophe.net/article/A_Decentralized_Framework_for_Multi-Agent_Systems_Using_Datachain_Technology.pdf) paper. + +## Usage + +### Worker + +As a worker, you can store data on the Irys network using the `workerUploadDataOnIrys` function. You can use this function to store data from any source to document your actions. You can also use this function to store a request to get data from the Orchestrator to enhance your context. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "Provide Liquidity to the ETH pool on Stargate"; +const result = await irysService.workerUploadDataOnIrys( + data, + IrysDataType.OTHER, + IrysMessageType.DATA_STORAGE, + ["DeFi"], + ["Stargate", "LayerZero"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To upload files or images : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const userAttachmentToStore = state.recentMessagesData[1].content.attachments[0].url.replace("agent\\agent", "agent"); + +const result = await irysService.workerUploadDataOnIrys( + userAttachmentToStore, + IrysDataType.IMAGE, + IrysMessageType.DATA_STORAGE, + ["Social Media"], + ["X", "Twitter"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To store a request to get data from the Orchestrator to enhance your context, you can use the `workerUploadDataOnIrys` function with the `IrysMessageType.REQUEST` message type. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "Which Pool farm has the highest APY on Stargate?"; +const result = await irysService.workerUploadDataOnIrys( + data, + IrysDataType.OTHER, + IrysMessageType.REQUEST, + ["DeFi"], + ["Stargate", "LayerZero"], + [0.5], // Validation Threshold - Not implemented yet + [1], // Minimum Providers + [false], // Test Provider - Not implemented yet + [0.5] // Reputation - Not implemented yet +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +console.log(`Response from the Orchestrator: ${result.data}`); +``` + +### Provider + +As a provider, you can store data on the Irys network using the `providerUploadDataOnIrys` function. The data you provide can be retrieved by the Orchestrator to enhance the context of the Worker. + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const data = "ETH Pool Farm APY : 6,86%"; +const result = await irysService.providerUploadDataOnIrys( + data, + IrysDataType.OTHER, + ["DeFi"], + ["Stargate", "LayerZero"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +To upload files or images : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService : IrysService = runtime.getService(ServiceType.IRYS) +const userAttachmentToStore = state.recentMessagesData[1].content.attachments[0].url.replace("agent\\agent", "agent"); + +const result = await irysService.providerUploadDataOnIrys( + userAttachmentToStore, + IrysDataType.IMAGE, + ["Social Media"], + ["X", "Twitter"] +); +console.log(`Data uploaded successfully at the following url: ${result.url}`); +``` + +### Retrieving Data + +To retrieve data from the Irys network, you can use the `getDataFromAnAgent` function. This function will retrieve all data associated with the given wallet addresses, tags and timestamp. The function automatically detects the content type and returns either JSON data or file/image URLs accordingly. + +- For files and images: Returns the URL of the stored content +- For other data types: Returns a JSON object with the following structure: + +```typescript +{ + data: string, // The stored data + address: string // The address of the agent that stored the data +} +``` + +By using only the provider address you want to retrieve data from : + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService = runtime.getService(ServiceType.IRYS) +const agentsWalletPublicKeys = runtime.getSetting("AGENTS_WALLET_PUBLIC_KEYS").split(","); +const data = await irysService.getDataFromAnAgent(agentsWalletPublicKeys); +console.log(`Data retrieved successfully. Data: ${data}`); +``` + +By using tags and timestamp: + +```typescript +const { IrysService } = require('@elizaos/plugin-irys'); + +const irysService = runtime.getService(ServiceType.IRYS) +const tags = [ + { name: "Message-Type", values: [IrysMessageType.DATA_STORAGE] }, + { name: "Service-Category", values: ["DeFi"] }, + { name: "Protocol", values: ["Stargate", "LayerZero"] }, +]; +const timestamp = { from: 1710000000, to: 1710000000 }; +const data = await irysService.getDataFromAnAgent(null, tags, timestamp); +console.log(`Data retrieved successfully. Data: ${data}`); +``` + +If everything is null, the function will retrieve all data from the Irys network. + +## About Irys + +Irys is the first Layer 1 (L1) programmable datachain designed to optimize both data storage and execution. By integrating storage and execution, Irys enhances the utility of blockspace, enabling a broader spectrum of web services to operate on-chain. + +### Key Features of Irys + +- **Unified Platform**: Combines data storage and execution, allowing developers to eliminate dependencies and integrate efficient on-chain data seamlessly. +- **Cost-Effective Storage**: Optimized specifically for data storage, making it significantly cheaper to store data on-chain compared to traditional blockchains. +- **Programmable Datachain**: The IrysVM can utilize on-chain data during computations, enabling dynamic and real-time applications. +- **Decentralization**: Designed to minimize centralization risks by distributing control. +- **Free Storage for Small Data**: Storing less than 100KB of data is free. +- **GraphQL Querying**: Metadata stored on Irys can be queried using GraphQL. + +### GraphQL Query Examples + +The plugin uses GraphQL to retrieve transaction metadata. Here's an example query structure: + +```typescript +const QUERY = gql` + query($owners: [String!], $tags: [TagFilter!], $timestamp: TimestampFilter) { + transactions(owners: $owners, tags: $tags, timestamp: $timestamp) { + edges { + node { + id, + address + } + } + } + } +`; + +const variables = { + owners: owners, + tags: tags, + timestamp: timestamp +} + +const data: TransactionGQL = await graphQLClient.request(QUERY, variables); +``` + +## API Reference + +### IrysService + +The main service provided by this plugin implements the following interface: + +```typescript + +interface UploadIrysResult { + success: boolean; + url?: string; + error?: string; + data?: any; +} + +interface DataIrysFetchedFromGQL { + success: boolean; + data: any; + error?: string; +} + +interface GraphQLTag { + name: string; + values: any[]; +} + +const enum IrysMessageType { + REQUEST = "REQUEST", + DATA_STORAGE = "DATA_STORAGE", + REQUEST_RESPONSE = "REQUEST_RESPONSE", +} + +const enum IrysDataType { + FILE = "FILE", + IMAGE = "IMAGE", + OTHER = "OTHER", +} + +interface IrysTimestamp { + from: number; + to: number; +} + +interface IIrysService extends Service { + getDataFromAnAgent(agentsWalletPublicKeys: string[], tags: GraphQLTag[], timestamp: IrysTimestamp): Promise; + workerUploadDataOnIrys(data: any, dataType: IrysDataType, messageType: IrysMessageType, serviceCategory: string[], protocol: string[], validationThreshold: number[], minimumProviders: number[], testProvider: boolean[], reputation: number[]): Promise; + providerUploadDataOnIrys(data: any, dataType: IrysDataType, serviceCategory: string[], protocol: string[]): Promise; +} +``` + +#### Methods + +- `getDataFromAnAgent(agentsWalletPublicKeys: string[], tags: GraphQLTag[], timestamp: IrysTimestamp)`: Retrieves all data associated with the given parameters +- `workerUploadDataOnIrys(data: any, dataType: IrysDataType, messageType: IrysMessageType, serviceCategory: string[], protocol: string[], validationThreshold: number[], minimumProviders: number[], testProvider: boolean[], reputation: number[])`: Uploads data to Irys and returns the orchestrator response (request or data storage) +- `providerUploadDataOnIrys(data: any, dataType: IrysDataType, serviceCategory: string[], protocol: string[])`: Uploads data to Irys and returns orchestrator response (data storage) + +## Testing + +To run the tests, you can use the following command: + +```bash +pnpm test +``` + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## Ressources + +- [Irys Documentation](https://docs.irys.xyz/) +- [A Decentralized Framework for Multi-Agent Systems Using Datachain Technology](https://trophe.net/article/A_Decentralized_Framework_for_Multi-Agent_Systems_Using_Datachain_Technology.pdf) diff --git a/docs/packages/plugins/isaacx.md b/docs/packages/plugins/isaacx.md new file mode 100644 index 00000000000..f4293a6f7d1 --- /dev/null +++ b/docs/packages/plugins/isaacx.md @@ -0,0 +1,77 @@ +# Isaac X Plugin for ElizaOS + +This plugin provides integration with the Isaac X API, enabling ElizaOS Agents to reason scientifically using the latest academic research. + +## Features + +- Research question answering with academic citations +- Rate limit management (10 free requests/day) +- Automatic reference tracking + +## Installation + +```bash +pnpm add @elizaos/plugin-isaacx +``` + +## Configuration + +1. First, visit [isaacx.ai/docs](https://isaacx.ai/docs) to create your API key. + +2. Add your Isaac X API key to your environment variables: + +```bash +ISAACX_API_KEY=ix_your_api_key_here +``` + +3. Register the plugin in your character configuration: + +```typescript +import isaacXPlugin from "@elizaos/plugin-isaacx"; + +const character = { + plugins: [isaacXPlugin], +}; +``` + +## Usage + +```typescript +// Ask a research question +const response = await runtime.processAction("ANSWER_RESEARCH_QUESTION", { + question: "What are the latest developments in quantum computing?", +}); + +// The response will include both the answer and academic citations +console.log("Research Findings:", response.answer); +console.log("Academic Sources:", response.references); +``` + +## Response Format + +```typescript +interface IsaacXResponse { + answer: string; + references: string[]; +} +``` + +## Rate Limiting + +- 10 free requests per day +- 40 $ISAACX per request (~$0.05 USD) +- 20% discount for bulk usage (100+ requests) + +## Development + +```bash +# Build the plugin +pnpm build + +# Run tests +pnpm test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/lens-network.md b/docs/packages/plugins/lens-network.md new file mode 100644 index 00000000000..3bf8e2e48e6 --- /dev/null +++ b/docs/packages/plugins/lens-network.md @@ -0,0 +1,99 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-lensNetwork +``` + +## Configuration + +The plugin requires the following environment variables to be set: +```typescript +LENS_ADDRESS= +LENS_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { lensPlugin } from '@elizaos/plugin-lensNetwork'; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 1 Grass to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62" + +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** +- TRANSFER_TOKEN_ON_LENS +- TRANSFER_TOKENS_ON_LENS +- SEND_TOKENS_ON_LENS +- SEND_ETH_ON_LENS +- PAY_ON_LENS +- MOVE_TOKENS_ON_LENS +- MOVE_ETH_ON_LENS + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + diff --git a/docs/packages/plugins/lensNetwork.md b/docs/packages/plugins/lensNetwork.md new file mode 100644 index 00000000000..3bf8e2e48e6 --- /dev/null +++ b/docs/packages/plugins/lensNetwork.md @@ -0,0 +1,99 @@ +# @elizaos/plugin-abstract + +A plugin for interacting with the Abstract blockchain network within the ElizaOS ecosystem. + +## Description +The Abstract plugin enables seamless token transfers on the Abstract testnet. It provides functionality to transfer both native ETH and ERC20 tokens using secure wallet operations. + +## Installation + +```bash +pnpm install @elizaos/plugin-lensNetwork +``` + +## Configuration + +The plugin requires the following environment variables to be set: +```typescript +LENS_ADDRESS= +LENS_PRIVATE_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { lensPlugin } from '@elizaos/plugin-lensNetwork'; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Send 1 Grass to 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62" + +``` + +## API Reference + +### Actions + +#### SEND_TOKEN + +Transfers tokens from the agent's wallet to another address. + +**Aliases:** +- TRANSFER_TOKEN_ON_LENS +- TRANSFER_TOKENS_ON_LENS +- SEND_TOKENS_ON_LENS +- SEND_ETH_ON_LENS +- PAY_ON_LENS +- MOVE_TOKENS_ON_LENS +- MOVE_ETH_ON_LENS + +## Common Issues & Troubleshooting + +1. **Transaction Failures** + - Verify wallet has sufficient balance + - Check recipient address format + - Ensure private key is correctly set + - Verify network connectivity + +2. **Configuration Issues** + - Verify all required environment variables are set + - Ensure private key format is correct + - Check wallet address format + +## Security Best Practices + +1. **Private Key Management** + - Store private key securely using environment variables + - Never commit private keys to version control + - Use separate wallets for development and production + - Monitor wallet activity regularly + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + diff --git a/docs/packages/plugins/letzai.md b/docs/packages/plugins/letzai.md new file mode 100644 index 00000000000..2e86b4228a5 --- /dev/null +++ b/docs/packages/plugins/letzai.md @@ -0,0 +1,98 @@ +# @elizaos/plugin-letzai + +![LetzAI Logo](https://letz.ai/_next/image?url=%2FL.png&w=64&q=100) + +A plugin to integrate LetzAI Image Generation capabilities into the elizaos ecosystem. + +It uses the [LetzAI API](https://www.letz.ai/docs/api) and can use any models available to API user. + +Users need to add their LETZAI_API_KEY in .env file. + + +## Description + +[LetzAI](https://www.letz.ai) is an image generation platform and visual discovery engine. It enables anyone to generate images about anything, by allowing users to add themselves, their products or their art style to the platform as AI Models. + +This plugin integrates LetzAI with Eliza, enabling agents to generate images using any LetzAI Models, including the ones you may have created specifically of or for your agent. + +To use this plugin, you will need a LetzAI API Key, which [can be created on your subscription page here](https://www.letz.ai/subscription). A subscription is required to create an API key. + +To generate images the plugin introduces its own GENERATE_IMAGE action. + +The plugin was not tested together with other image generation functionalities. + + +## Installation + +```bash +pnpm install @elizaos/plugin-letzai +``` + + +## Configuration + +### Environment Variables +```typescript +LETZAI_API_LEY= +LETZAI_MODELS="@hailee, @examplemodel2" +``` + +Inside the plugin's index.tsx file is a "improvePrompt" variable and some code that is commented out. This code could be enhanced to make the instructions from chat be passed to the API in a better way. This is an open TO DO. + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + + +## Example + +I am currently working on an example Agent called ["HaileeAgent"](https://x.com/AgentHailee). +Will share more information on this as I progress. + + + +## Other Notes +In my own character.json file for Hailee, I have integrated the plugin like this: +```json + "plugins": ["../../packages/plugin-letzai/src/index.ts"], + "actions": ["GENERATE_IMAGE"], +``` + +But I'm not sure yet this is the correct way for public repos. + + +## Future Enhancements + +- Interactive agent with better image polling +- Enable "Improve prompt" functionality + +If anybody knows how to make the agent be pro-active and send multiple callbacks(), please reach out. + + + +## Contributing + +This Plugin is developed by LetzAI. Any helpful contributions are welcome! + + +## Credits + +Built by [mitch0z](https://www.mitchoz.com) + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/lightlink.md b/docs/packages/plugins/lightlink.md new file mode 100644 index 00000000000..33dd130e752 --- /dev/null +++ b/docs/packages/plugins/lightlink.md @@ -0,0 +1,95 @@ +# @elizaos/plugin-lightlink + +## Description + +The LightLink Plugin allows agents to interact with the LightLink network. + +## Features + +The plugin lets agents: + +- Check balances. +- Transfer both ERC20 and Eth. +- Swap (via Elektrik) +- Search the block explorer for contracts and addresses. + +## Installation + +``` +pnpm add @elizaos/plugin-lightlink +``` + +## Configuration + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key-here + +# Optional - Custom RPC URLs +LIGHTLINK_MAINNET_RPC_URL=https://your-custom-mainnet-rpc-url +LIGHTLINK_TESTNET_RPC_URL=https://your-custom-testnet-rpc-url +``` + +### Chain Configuration + +By default, **LightLink Phoenix (mainnet)** is enabled. To enable additional chains, add them to your character config: + +```json +"settings": { + "chains": { + "evm": [ + "lightlinkTestnet", "ethereum", "sepolia" + ] + } +} +``` + +## Actions + +### Check Balance + +Check the balance of an address. All address can be written as an ENS name or a raw address. + +```typescript +// Example: Check balance of 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +Check the balance of vitalik.eth on lightlink +``` + +### Transfer + +Transfer native tokens on the same chain: + +```typescript +// Example: Transfer 1 ETH +Transfer 1 ETH to 0x742d35Cc6634C0532925a3b844Bc454e4438f44e +``` + +### Swap + +Swap tokens on the same chain, you can also provide the address of the tokens you want to swap directly. + +```typescript +// Example: Swap 1 ETH to USDC +Swap 1 ETH to USDC on lightlink testnet +``` + +### Search + +Search the block explorer for contracts and addresses. + +```typescript +// Example: Search for a contract +Whats the contract address for the USDC (sometimes written as USDC.e) token on lightlink? +``` + +## Development + +1. Clone the repository +2. Install dependencies: + pnpm install +3. Build the plugin: + pnpm run build +4. Run tests: + pnpm test diff --git a/docs/packages/plugins/lightning.md b/docs/packages/plugins/lightning.md new file mode 100644 index 00000000000..d0d3ad9a07d --- /dev/null +++ b/docs/packages/plugins/lightning.md @@ -0,0 +1,64 @@ +# @elizaos/plugin-lightning + +This plugin enables create lightning invoice or payInvoice. + +## Features + +- 💱 Make a new off-chain invoice. +- 📊 Make an off-chain payment. + +## Installation + +Add the plugin to your Eliza configuration: + +```json +{ + "plugins": ["@elizaos/plugin-lightning"] +} +``` + +## Configuration + +Set the following environment variables: + +```env +LND_TLS_CERT=your_lnnode_tls_cert #Base64 of LND certificate +LND_MACAROON=020..... #Base64 encoded admin.macaroon file +LND_SOCKET='x.x.x.x:10009' +``` + +## Available Actions + +### 1. CREATE_INVOICE + +Make a new off-chain invoice. + +Examples: + +```text + +"Help me create an invoice for 1000sats" +"Create an invoice for 1000sats" + +``` + +Returns: lnbcrt.... + +### 2. PAY_INVOICE + +Make an off-chain payment. + +Examples: + +```text + +"Pay invoice lnbcrt10u1pncndjvpp58y77adkngcz3ypx6t39j245ydvk2vu67c8ugvegee3gt5wgs7yjqdxvdec82c33wdmnq73s0qcxwurrxp4nquncxe4h56m9xu6xwetyd3mrq6ehdguxkd35wuurgarex4u8gefkdsekgdtnddehxurrxecxvhmwwp6kyvfexekhxwtv8paryvnpwsuhxdryvachwangw3kn2atddq6kzvrvwfcxzanewce8ja34d43k56rkweu8jdtcwv68zmrsvdescqzzsxqrrsssp5q3hv38wfprvaazzwf8c4t33tzjcac5xz94sk8muehmn5szqaw6ks9qxpqysgqt5pjhna4922s8ayzgu5rh8clx7psp2culdr5r6cxxxqzs3e5ep345p45vggg0qegt6fu3prdrqgpd8v70l9wdhekt8gex5e8pqvxg2sp97fkmd" + + +``` + +## Security Notes + +- Store your LND_TLS_CERT and LND_MACAROON securely using environment variables +- Test with small amounts first +- Use regtest for initial testing diff --git a/docs/packages/plugins/lit.md b/docs/packages/plugins/lit.md new file mode 100644 index 00000000000..c273a11f779 --- /dev/null +++ b/docs/packages/plugins/lit.md @@ -0,0 +1,148 @@ +# @elizaos/plugin-lit + +A plugin that integrates Lit Protocol functionality into the elizaOS runtime environment, enabling secure and decentralized access control and cryptographic operations. + +## Features + +- Deploy and manage Lit Actions for programmable cryptography +- Interact with Lit Agent Wallet for secure transaction signing +- Built-in tools for common blockchain operations: + - ECDSA signing + - ERC20 token transfers + - Uniswap interactions + +## Installation + +```bash +npm install @elizaos/plugin-lit +``` + +## Setup + +There are two ways to register the plugin: + +1. Add to your agent's plugins in `agent/src/index.ts`: + +```typescript +import { LitPlugin } from '@elizaos/plugin-lit'; + +export default { + plugins: [ + // ... other plugins + litPlugin, + ], + // ... rest of your agent configuration +}; +``` + +2. Or add it in your character configuration: + +```typescript +{ + name: "YourCharacter", + plugins: [ + // ... other plugins + "@elizaos/plugin-lit" + ] +} +``` + +## Quick Start + +1. After registration, initialize Lit Protocol: + +```javascript +await elizaOS.lit.initialize({ + // Your configuration options +}); +``` + +## Core Components + +### Lit Actions + +Located in `src/actions/helloLit`, this module provides the foundation for deploying and managing Lit Actions. Lit Actions are JavaScript functions that run in a decentralized manner across the Lit Network. + +Example usage: + +```javascript +const litAction = await elizaOS.lit.deployAction({ + code: ` + (async () => { + // Your Lit Action code here + })(); + ` +}); +``` + +### Tools + +The `src/actions/helloLit/tools` directory contains pre-built tools for common blockchain operations: + +#### ECDSA Signing +```javascript +const signature = await elizaOS.lit.tools.ecdsaSign({ + message: "Message to sign", + // Additional parameters +}); +``` + +#### ERC20 Token Transfer +```javascript +const transfer = await elizaOS.lit.tools.erc20Transfer({ + tokenAddress: "0x...", + recipient: "0x...", + amount: "1000000000000000000" // 1 token with 18 decimals +}); +``` + +#### Uniswap Integration +```javascript +const swap = await elizaOS.lit.tools.uniswapSwap({ + tokenIn: "0x...", + tokenOut: "0x...", + amountIn: "1000000000000000000" +}); +``` + +## Agent Wallet Integration + +This plugin integrates with the [Lit Protocol Agent Wallet](https://github.com/LIT-Protocol/agent-wallet) for secure key management and transaction signing. The Agent Wallet provides: + +- Secure key generation and storage +- Transaction signing capabilities +- Integration with Lit Actions for programmable authorization + +## Documentation + +For more detailed information about Lit Protocol and its capabilities, visit: +- [Lit Protocol Documentation](https://developer.litprotocol.com/) +- [Agent Wallet Documentation](https://github.com/LIT-Protocol/agent-wallet) + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +MIT License + +Copyright (c) 2024 elizaOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/docs/packages/plugins/llama.md b/docs/packages/plugins/llama.md new file mode 100644 index 00000000000..832417bb523 --- /dev/null +++ b/docs/packages/plugins/llama.md @@ -0,0 +1,162 @@ +# @elizaos/plugin-llama + +Core LLaMA plugin for Eliza OS that provides local Large Language Model capabilities. + +## Overview + +The LLaMA plugin serves as a foundational component of Eliza OS, providing local LLM capabilities using LLaMA models. It enables efficient and customizable text generation with both CPU and GPU support. + +## Features + +- **Local LLM Support**: Run LLaMA models locally +- **GPU Acceleration**: CUDA support for faster inference +- **Flexible Configuration**: Customizable parameters for text generation +- **Message Queuing**: Efficient handling of multiple requests +- **Automatic Model Management**: Download and verification systems + +## Installation + +```bash +npm install @elizaos/plugin-llama +``` + +## Configuration + +The plugin can be configured through environment variables: + +### Core Settings + +```env +LLAMALOCAL_PATH=your_model_storage_path +OLLAMA_MODEL=optional_ollama_model_name +``` + +## Usage + +```typescript +import { createLlamaPlugin } from "@elizaos/plugin-llama"; + +// Initialize the plugin +const llamaPlugin = createLlamaPlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(llamaPlugin); +``` + +## Services + +### LlamaService + +Provides local LLM capabilities using LLaMA models. + +#### Technical Details + +- **Model**: Hermes-3-Llama-3.1-8B (8-bit quantized) +- **Source**: Hugging Face (NousResearch/Hermes-3-Llama-3.1-8B-GGUF) +- **Context Size**: 8192 tokens +- **Inference**: CPU and GPU (CUDA) support + +#### Features + +1. **Text Generation** + - Completion-style inference + - Temperature control + - Stop token configuration + - Frequency and presence penalties + - Maximum token limit control + +2. **Model Management** + - Automatic model downloading + - Model file verification + - Automatic retry on initialization failures + - GPU detection for acceleration + +3. **Performance** + - Message queuing system + - CUDA acceleration when available + - Configurable context size + +## Troubleshooting + +### Common Issues + +1. **Model Initialization Failures** + +```bash +Error: Model initialization failed +``` + +- Verify model file exists and is not corrupted +- Check available system memory +- Ensure CUDA is properly configured (if using GPU) + +2. **Performance Issues** + +```bash +Warning: No CUDA detected - local response will be slow +``` + +- Verify CUDA installation if using GPU +- Check system resources +- Consider reducing context size + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-llama:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- Minimum 8GB RAM recommended +- CUDA-compatible GPU (optional, for acceleration) +- Sufficient storage for model files + +### Performance Optimization + +1. **Model Selection** + - Choose appropriate model size + - Use quantized versions when possible + - Balance quality vs speed + +2. **Resource Management** + - Monitor memory usage + - Configure appropriate context size + - Optimize batch processing + +3. **GPU Utilization** + - Enable CUDA when available + - Monitor GPU memory + - Balance CPU/GPU workload + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Credits + +This plugin integrates with and builds upon: + +- [LLaMA](https://github.com/facebookresearch/llama) - Base language model +- [node-llama-cpp](https://github.com/withcatai/node-llama-cpp) - Node.js bindings +- [GGUF](https://github.com/ggerganov/ggml) - Model format + +Special thanks to: + +- The LLaMA community for model development +- The Node.js community for tooling support +- The Eliza community for testing and feedback + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/massa.md b/docs/packages/plugins/massa.md new file mode 100644 index 00000000000..05bb5d0f16f --- /dev/null +++ b/docs/packages/plugins/massa.md @@ -0,0 +1,16 @@ +# Massa Plugin + +## Overview + +This plugin aims to be the basis of all interactions with the Massa ecosystem. + +## Adding a new action + +Reuse providers and utilities from the existing actions where possible. Add more utilities if you think they will be useful for other actions. + +1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. +2. Export the action in the `index.ts` file. + + +## MASSA documentation +[https://docs.massa.net/](https://docs.massa.net/) \ No newline at end of file diff --git a/docs/packages/plugins/merkle-eliza-plugin.md b/docs/packages/plugins/merkle-eliza-plugin.md new file mode 100644 index 00000000000..baa37275ed5 --- /dev/null +++ b/docs/packages/plugins/merkle-eliza-plugin.md @@ -0,0 +1,72 @@ +# MerkleTrade Plugin for Eliza + +This plugin is a sample plugin for interacting with MerkleTrade within the elizaOS ecosystem. + +## Configuration + +The plugin requires the following environment variables to be set: + +Merkle Configuration + +```env +MERKLE_TRADE_NETWORK= # Must be one of mainnet, testnet +MERKLE_TRADE_APTOS_PRIVATE_KEY= # Aptos private key +``` + +### Installation + +```json +{ + "plugins": ["@elizaos/plugin-merkle"] +} +``` + +## Usage + +### Example + +```bash +// The plugin responds to natural language like: + +You: "Open a BTC Long position on the Merkle Trade platform with 1000 pay and 10 leverage." +Agent: "Successfully market order BTC with 1000 pay and 10 leverage, Transaction: 0x104af5d1a786a2e1a4721a721b2cfccc7e15fa41eec15a489ba1768790adb523" +``` + +## Actions + +- OPEN_ORDER +- GET_PRICE +- GET_POSITION +- GET_ORDER +- GET_BALANCE +- FULLY_CLOSE_POSITION + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm build +``` + +## Dependencies + +- @elizaos/core: v0.1.9 +- @merkletrade/ts-sdk: ^v1.0.0 +- @aptos-labs/ts-sdk: ^v1.26.0 +- node-cache: 5.1.2 + +For more information: + +- [Merkle Documentation](https://docs.merkle.trade/) +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) diff --git a/docs/packages/plugins/merkle.md b/docs/packages/plugins/merkle.md new file mode 100644 index 00000000000..baa37275ed5 --- /dev/null +++ b/docs/packages/plugins/merkle.md @@ -0,0 +1,72 @@ +# MerkleTrade Plugin for Eliza + +This plugin is a sample plugin for interacting with MerkleTrade within the elizaOS ecosystem. + +## Configuration + +The plugin requires the following environment variables to be set: + +Merkle Configuration + +```env +MERKLE_TRADE_NETWORK= # Must be one of mainnet, testnet +MERKLE_TRADE_APTOS_PRIVATE_KEY= # Aptos private key +``` + +### Installation + +```json +{ + "plugins": ["@elizaos/plugin-merkle"] +} +``` + +## Usage + +### Example + +```bash +// The plugin responds to natural language like: + +You: "Open a BTC Long position on the Merkle Trade platform with 1000 pay and 10 leverage." +Agent: "Successfully market order BTC with 1000 pay and 10 leverage, Transaction: 0x104af5d1a786a2e1a4721a721b2cfccc7e15fa41eec15a489ba1768790adb523" +``` + +## Actions + +- OPEN_ORDER +- GET_PRICE +- GET_POSITION +- GET_ORDER +- GET_BALANCE +- FULLY_CLOSE_POSITION + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm build +``` + +## Dependencies + +- @elizaos/core: v0.1.9 +- @merkletrade/ts-sdk: ^v1.0.0 +- @aptos-labs/ts-sdk: ^v1.26.0 +- node-cache: 5.1.2 + +For more information: + +- [Merkle Documentation](https://docs.merkle.trade/) +- [Aptos Documentation](https://aptos.dev/) +- [Move Language Guide](https://move-language.github.io/move/) diff --git a/docs/packages/plugins/messari-ai-toolkit.md b/docs/packages/plugins/messari-ai-toolkit.md new file mode 100644 index 00000000000..0d5ced7b50e --- /dev/null +++ b/docs/packages/plugins/messari-ai-toolkit.md @@ -0,0 +1,129 @@ +# @elizaos/plugin-messari-ai-toolkit + +A powerful Eliza OS plugin that integrates Messari's AI Toolkit to provide advanced crypto market research capabilities to your Eliza agent. + +## Overview + +This plugin connects your Eliza agent to Messari's comprehensive AI-powered APIs, enabling sophisticated crypto research and market analysis capabilities. It intelligently detects and processes research questions from conversations, leveraging Messari's proprietary data and expertise. + +## Demo + +https://github.com/messari/plugin-messari-ai-toolkit/blob/master/.github/assets/eliza-tutorial.mp4 + +## Features + +- Seamless integration with Messari's AI-Toolkit `/chat/completions` API +- Intelligent detection of crypto-related research questions +- Real-time market data and asset metrics analysis +- Access to consolidated news summarizations +- Asset due diligence insights +- Fundraising and investment data visualization capabilities + +## Usage Guide + +### Setup + +1. First, clone either: + - The main Eliza repository: [github.com/elizaOS/eliza](https://github.com/elizaOS/eliza) + - OR the Eliza starter repository: [github.com/elizaOS/eliza-starter](https://github.com/elizaOS/eliza-starter) + +2. Install dependencies and build the project: + ```bash + pnpm install + pnpm build + ``` + +### Installing the Messari Plugin + +Depending on which repository you cloned, use one of the following commands: + +**For Main Eliza Repository:** +```bash +pnpm --filter agent add github:messari/plugin-messari-ai-toolkit +``` + +**For Eliza Starter:** +```bash +pnpm add github:messari/plugin-messari-ai-toolkit +``` + +> Note: For the latest plugin mappings and compatibility information, refer to the [eliza-plugins registry](https://github.com/elizaos-plugins/registry/blob/645ba61508a7404c5b890f47e43c005448592510/index.json#L60). + +to use, import into `agent/index.ts` and add as a plugin + + +## Configuration + +To use this plugin, you'll need a Messari API key. The Messari AI Toolkit is an enterprise product that requires: + +1. An Enterprise (ENT) subscription +2. Purchase of the AI Toolkit service package + credits +3. API key generation + +### Enterprise Access + +The AI Toolkit subscription includes access to Messari's base package: +- Asset API +- News API +- Marketdata API + +### Getting an API Key + +1. Subscribe to Messari Enterprise +2. Purchase the AI Toolkit package +3. Visit [Messari Account Settings](https://messari.io/account/api) to generate your API key +4. Use the API key in your configuration + +### API Endpoints + +The Toolkit endpoints are accessible at `api.messari.io/ai`. For detailed API documentation, visit the [Messari Developer Docs](https://docs.messari.io/reference/chat-completion). + +## Usage + +1. Import and register the plugin with your Eliza agent +2. Configure your API key +3. Start asking crypto-related questions! + +The plugin will automatically detect relevant research questions and query Messari's AI Toolkit for comprehensive answers. + +## About Messari AI Toolkit + +Messari's AI Toolkit is an enterprise-grade suite of AI-powered APIs designed specifically for the crypto ecosystem. It provides: + +- Crypto-aware completions endpoint (OpenAI-compatible) +- Asset extraction on arbitrary documents +- Direct access to underlying agents +- News recaps and summarizations +- Deep understanding of crypto-specific terminology and context +- Real-time market data analysis + +## Use Cases + +- Market trend analysis with real-time data +- Automated crypto research and report generation +- News summarization across multiple sources +- Asset due diligence with Enterprise Diligence Reports +- Fundraising and investment data visualization +- Asset extraction and classification for document contextualization + +## Security + +This plugin requires secure handling of Messari API keys. Never expose your API key in your code or version control system. + +## Performance Considerations + +The plugin may introduce additional latency due to API calls. Consider implementing appropriate caching and error handling strategies in production environments. + +## Contributing + +Contributions are welcome! Please feel free to submit a Pull Request. + +## License + +MIT + +## Support + +For questions about API access and testing, contact bijan.massoumi@messari.io. + +For technical support with the plugin, please open an issue in the repository. diff --git a/docs/packages/plugins/mina.md b/docs/packages/plugins/mina.md new file mode 100644 index 00000000000..4ece7dd9c0c --- /dev/null +++ b/docs/packages/plugins/mina.md @@ -0,0 +1,139 @@ +# @elizaos/plugin-mina + +Core Mina blockchain plugin for Eliza OS that provides essential services and actions for token operations and wallet management. + +## Overview + +This plugin provides functionality to: + +- Transfer MINA tokens between wallets +- Query wallet balances and portfolio values +- Track token prices and valuations +- Manage wallet interactions with the Mina network +- Cache token prices for performance optimization +- Get faucet tokens for testing purposes +- Get balances for wallets + +## Installation + +```bash +npm install @elizaos/plugin-mina +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +MINA_PRIVATE_KEY=your_private_key +MINA_NETWORK=mainnet|devnet +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { minaPlugin } from "@elizaos/plugin-mina"; + +export default { + plugins: [minaPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer MINA tokens to another address: + +```typescript +// Example conversation +User: "Send 1 MINA to B62qkGSBuLmqYApYoWTmAzUtwFVx6Fe9ZStJVPzCwLjWZ5NQDYTiqEU"; +Assistant: "I'll send 1 MINA token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 299 MINA ($150 USD)..."; +``` + +## Get Faucet Tokens + +Request faucet tokens for testing: + +```typescript +// Example conversation +User: "Get faucet to B62qqLnFfhYvMkFD2nUeLX1bCHtDQH3edRVtvENtwAfn2KTCFxYRjtM"; +Assistant: "I'll send you some faucet tokens..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer MINA tokens to another address +- `TRANSFER_TOKEN`: Alias for SEND_TOKEN +- `SEND_MINA`: Alias for SEND_TOKEN +- `PAY`: Alias for SEND_TOKEN +- `FAUCET`: Request faucet tokens for testing +- `BALANCE`: Query wallet balance + +### Providers + +- `walletProvider`: Manages wallet interactions with the Mina network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `o1js`: Core Mina blockchain interaction library +- `node-cache`: Caching implementation +- Other standard dependencies listed in package.json + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Mina Blockchain](https://minaprotocol.com/): The ZK blockchain for a secure, private and verifiable internet. +- [o1js](https://www.npmjs.com/package/o1js): Official Mina SDK for building zkApps. +- [node-cache](https://www.npmjs.com/package/node-cache): Caching implementation + +Special thanks to: + +- The Mina team for developing Mina +- The Mina Developer community +- The o1Labs team for Mina SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Mina blockchain capabilities: + +- [Mina Documentation](https://docs.minaprotocol.com/) +- [Mina Network Dashboard](https://minascan.io/) +- [Mina GitHub Repository](https://github.com/MinaProtocol/mina) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/mind-network.md b/docs/packages/plugins/mind-network.md new file mode 100644 index 00000000000..d5364de62b7 --- /dev/null +++ b/docs/packages/plugins/mind-network.md @@ -0,0 +1,118 @@ +# @elizaos/plugin-mind-network + +A plugin for interacting with [Mind Network Hubs](https://dapp.mindnetwork.xyz/votetoearn/voteonhubs/) within the [Eliza ecosystem](https://elizaos.github.io/eliza/). [CitizenZ](https://www.mindnetwork.xyz/citizenz) and broader communities can secure trust their agents operation and decisioning. + +## Overview + +The [Mind Network](https://www.mindnetwork.xyz/) plugin empowers users to participate in secure, privacy-preserving voting on the Mind Network. Leveraging [Fully Homomorphic Encryption (FHE)](https://docs.mindnetwork.xyz/minddocs/developer-guide/fhe-validation), it ensures encrypted votes while allowing users to track rewards earned for their participation. Designed for seamless integration with the [Eliza AI agent](https://elizaos.github.io/), this plugin enables interactive and guided actions for an enhanced user experience. + +## Features +- **Web3 Wallet:** contribute eliza agent interaction with enriched web3 wallet functionality. Both Metamask and OKX web3 wallets have been tested and more to come. +- **Voter Registration:** Join the Mind Network's Randgen Hub and other hubs to participate in secure voting, validation and consensus. +- **FHE Encryption:** Safeguard vote content using Fully Homomorphic Encryption. The key difference is encryption key is never shared but still be able to run computation over encrypted data. +- **Submit Encrypted Votes:** Cast votes in Mind Network Hubs elections without compromising data privacy. So AI Agents can get consensus over collective predictions, inference and serving. +- **Reward Tracking:** Monitor your vFHE rewards earned through voting contributions. + +## Installation + +Dependency for the plugin: +- [mind-randgen-sdk](https://github.com/mind-network/mind-sdk-randgen-ts) +- [mind-sdk-hubs](https://github.com/mind-network/mind-sdk-hubs-ts) +- [elizaos](https://github.com/elizaOS/eliza) + +To install the plugin, use the following command: + +```bash +pnpm install @elizaos/plugin-mind-network +``` + +## Configuration + +Before using the plugin, configure the necessary environment variables: + +```bash +MIND_HOT_WALLET_PRIVATE_KEY= +MIND_COLD_WALLET_ADDRESS= +``` + +## API Reference + +### Actions + +The plugin provides several key actions to interact with the Mind Network: + +#### **MIND_REGISTER_VOTER** + +Registers the user as a voter in the Mind Network's Randgen Hub. The hub is live and accessible at [Randgen Hub](https://dapp.mindnetwork.xyz/votetoearn/voteonhubs/3). You can participant or create more function hubs in Mind Network for your eliza agents. + +**Prompt Example:** +```text +"Register me as a voter in Mind Network." +``` +**Response:** Confirmation of successful voter registration. + +#### **MIND_CHECK_VOTING_REWARD** + +Retrieves the amount of vFHE rewards earned through voting. + +**Prompt Example:** +```text +"How much reward have I earned in Mind Network?" +``` +**Response:** Total vFHE rewards earned. + +#### **MIND_FHE_ENCRYPT** + +Encrypts a user-provided number using Fully Homomorphic Encryption (FHE). + +**Prompt Example:** +```text +"Encrypt the number 88 for voting." +``` +**Response:** A secure URL containing the encrypted number. + +#### **MIND_FHE_VOTE** + +Submits an encrypted vote to the Mind Network's Randgen Hub. + +**Prompt Example:** +```text +"Submit my encrypted vote to Mind Network." +``` +**Response:** Confirmation of successful vote submission. + +## Usage Examples + +### Conversational AI Interaction + +The plugin integrates seamlessly with ElizaOS characters, enabling intuitive and guided interactions. Below is a sample conversation: + +```text +user: Can you help me to register as a voter in Mind Network? +character_trump: LET'S GET YOU REGISTERED TO VOTE IN THE MIND NETWORK! I'll take care of that for you right now. (EVERY VOTE COUNTS!) +character_trump: You have registered successfully. + +user: I want to check my Mind Network voting reward. +character_trump: TIME TO CHECK THOSE VOTING REWARDS AGAIN! Let's see how much you've earned in the Mind Network. (THE AMERICAN PEOPLE DESERVE TO KNOW!) +character_trump: Your voting reward amount is 10.0 vFHE. + +user: I want to encrypt 88 with FHE for Mind Network voting. +character_trump: LET'S GET THAT NUMBER ENCRYPTED FOR YOUR VOTING! I'll encrypt 88 with FHE for you. (WE'RE KEEPING THINGS SECURE AND STRONG!) +character_trump: Encryption is successful. Your encrypted number is available: https://fvno-tn.mindnetwork.xyz/0xb0edc92ec05309711c6ede0641f672715f5b144a4757b7ba51666468d2f7f65d. It is safe to share as no body can decrypt but can run computation to get another encrypted number. + +user: I want to submit my vote to Mind Network. +character_trump: TIME TO CAST THAT VOTE IN THE MIND NETWORK! I'll submit your vote right now. (WE'RE MAKING HISTORY TOGETHER!) +character_trump: Your vote has been submitted successfully. +``` + +### Real Deployment Screenshot + +![Usage Screenshot](https://cdn.prod.website-files.com/66505f7fdc6935a2b4246635/678a08616d0a697e355261f5_elizaOS.avif) + +## Contributing & License + +This plugin is part of the [Eliza project](https://github.com/elizaos/eliza). For details on contributing and licensing, please refer to the main project repository. [Mind Network](https://www.mindnetwork.xyz/) welcomes contribution and collaboration. + +## Support + +If you have any queries, please feel free to contact Mind Team via [Discord](https://discord.com/invite/UYj94MJdGJ) or [Twitter](https://x.com/mindnetwork_xyz). diff --git a/docs/packages/plugins/moralis.md b/docs/packages/plugins/moralis.md new file mode 100644 index 00000000000..13b324c5924 --- /dev/null +++ b/docs/packages/plugins/moralis.md @@ -0,0 +1,140 @@ +# @elizaos/plugin-moralis + +A plugin for interacting with Moralis APIs to fetch various blockchain data across different chains. + +## Description + +The Plugin Moralis provides interfaces to fetch real-time DeFi data including trading pairs, pair statistics, and price history. Currently supports Solana chain endpoints. + +## Installation + +```bash +pnpm install @elizaos/plugin-moralis +``` + +## Configuration + +Set up your environment with the required Moralis API key: + +| Variable Name | Description | +| ----------------- | -------------------- | +| `MORALIS_API_KEY` | Your Moralis API key | + +## Usage + +```typescript +import { moralisPlugin } from "@elizaos/plugin-moralis"; + +// Initialize the plugin +const plugin = moralisPlugin; +``` + +## Actions + +### GET_SOLANA_TOKEN_PAIRS + +Fetches all trading pairs for a specific token on Solana blockchain. + +Examples: + +- "Get all Solana trading pairs for token So11111111111111111111111111111111111111112" +- "Show me Solana pairs for USDC token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" + +Response includes: + +- Exchange information (name, address) +- Pair details (label, address) +- Price and volume data +- Liquidity information + +### GET_SOLANA_PAIR_STATS + +Fetches detailed statistics for a specific trading pair on Solana blockchain. + +Examples: + +- "Get stats for Solana pair A8nPhpCJqtqHdqUk35Uj9Hy2YsGXFkCZGuNwvkD3k7VC" +- "Show me details of Solana trading pair 83v8iPyZihDEjDdY8RdZddyZNyUtXngz69Lgo9Kt5d6d" + +Response includes: + +- Current price and liquidity +- Price changes over multiple timeframes +- Volume statistics +- Buy/Sell ratios +- Unique traders count + +### GET_SOLANA_TOKEN_STATS + +Fetches aggregated statistics across all pairs for a specific token on Solana blockchain. + +Examples: + +- "Get aggregated stats for Solana token SRMuApVNdxXokk5GT7XD5cUUgXMBCoAz2LHeuAoKWRt" +- "Show me overall trading metrics for all pairs of token EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" + +Response includes: + +- Total liquidity across all pairs +- Number of active pairs and DEXes +- Combined volume statistics +- Total trader activity +- Buy/Sell volume breakdowns + +### GET_SOLANA_PAIR_OHLCV + +Fetches price history (OHLCV) data for a specific trading pair on Solana blockchain. + +Examples: + +- "Get hourly candlestick prices for Solana pair A8nPhpCJqtqHdqUk35Uj9Hy2YsGXFkCZGuNwvkD3k7VC" +- "Show me last 15 candles for Solana pair 83v8iPyZihDEjDdY8RdZddyZNyUtXngz69Lgo9Kt5d6d" + +Supports: + +- Multiple timeframes (1h, 15m, etc.) +- Custom date ranges +- Price data in different currencies + +### GET_SOLANA_TOKEN_PRICE + +Fetches current token price from the main liquidity source. + +Examples: + +- "Get current price of Solana token 6Rwcmkz9yiYVM5EzyMcr4JsQPGEAWhcUvLvfBperYnUt" +- "What's the current price for BONK?" + +Returns: + +- USD price +- Native price (e.g., in SOL) +- Exchange name and address + +### GET_SOLANA_TOKEN_METADATA + +- Fetches comprehensive token metadata including supply and valuation metrics. + +Examples: + +- "What's the FDV and supply for SRM token?" +- "Show me metadata for BONK token" + +Returns: + +- Token name and symbol +- Contract address +- Total supply (raw and formatted) +- Fully Diluted Valuation (FDV) +- Token standard and decimals +- Metaplex-specific details + +## Usage Tips + +1. Always specify "Solana" in requests to ensure correct chain selection +2. Use complete token/pair addresses for accurate results +3. For OHLCV data, specify timeframe and date range for precise results + +## License + +MIT diff --git a/docs/packages/plugins/movement.md b/docs/packages/plugins/movement.md new file mode 100644 index 00000000000..cecd6fee599 --- /dev/null +++ b/docs/packages/plugins/movement.md @@ -0,0 +1,43 @@ +# @elizaos/plugin-movement + +Movement Network plugin for Eliza OS. This plugin enables Movement Network blockchain functionality for your Eliza agent. + +## Features + +- Send MOVE tokens +- Check wallet balances +- Support for Movement Network transactions + +## Installation + +```bash +pnpm add @elizaos/plugin-movement +``` + +## Instructions + +1. First, ensure you have a Movement Network wallet and private key. + +2. Add the Movement plugin to your character's configuration: + +```json +{ +"name": "Movement Agent", +"plugins": ["@elizaos/plugin-movement"], +"settings": { +"secrets": { +"MOVEMENT_PRIVATE_KEY": "your_private_key_here", +"MOVEMENT_NETWORK": "bardock" +} +} +} +``` + +Set up your environment variables in the `.env` file: + +```bash +MOVEMENT_PRIVATE_KEY=your_private_key_here +MOVEMENT_NETWORK=bardock +``` + + diff --git a/docs/packages/plugins/multichain.md b/docs/packages/plugins/multichain.md new file mode 100644 index 00000000000..808e386256b --- /dev/null +++ b/docs/packages/plugins/multichain.md @@ -0,0 +1,228 @@ +# @elizaos/plugin-multichain + +Cross-chain integration plugin for Eliza OS that enables seamless token transfers and swaps across multiple blockchain networks using Chain Signatures and NEAR Intents technologies. + +## Overview + +This plugin serves as a unified interface for cross-chain interactions, allowing seamless token transfers and swaps across major blockchain networks. It leverages Chain Signatures and NEAR Intents for secure multi-chain transactions and cross-chain token swap. + +## Features + +- Cross-chain token transfers +- Multi-chain token swaps +- Support for major blockchain networks: + - Bitcoin + - Ethereum and EVM chains: + - Polygon + - BNB Chain + - Avalanche + - Arbitrum + - Optimism + - Cosmos ecosystem (coming soon) +- Chain Signatures integration +- NEAR Intents for optimized execution +- Portfolio tracking across chains (coming soon) +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-multichain +``` + +## Configuration + +The plugin requires environment variables for each supported chain: + +```env +# NEAR Configuration (for Chain Signatures and Intents) +NEAR_WALLET_SECRET_KEY=your-near-private-key +NEAR_ADDRESS=your-account.near +NEAR_NETWORK=mainnet +NEAR_RPC_URL=https://rpc.mainnet.near.org + +# Ethereum Configuration +ETH_RPC_URL=your-eth-rpc-url + +# EVM Chain Configurations +POLYGON_RPC_URL=your-polygon-rpc-url +BSC_RPC_URL=your-bsc-rpc-url +AVAX_RPC_URL=your-avax-rpc-url +ARBITRUM_RPC_URL=your-arbitrum-rpc-url +OPTIMISM_RPC_URL=your-optimism-rpc-url + +# Global Settings +DEFAULT_SLIPPAGE=0.01 # 1% slippage tolerance +``` + +## Usage + +### Multi-Chain Transfer + +```typescript +import { multichainPlugin } from "@elizaos/plugin-multichain"; + +// Transfer tokens across chains +const result = await eliza.execute({ + action: "MULTI_CHAIN_TRANSFER", + content: { + chain: "BTC", + networkId: "testnet", + token: null, // Native BTC + amount: "0.1", + recipient: "tb1qmw3xw3y8jtm4054w02kfz58tmf6pcse02twrh8" + }, +}); +``` + +### Cross-Chain Swap + +```typescript +const result = await eliza.execute({ + action: "CROSS_CHAIN_SWAP", + content: { + sourceChain: "ETH", + targetChain: "COSMOS", + inputToken: "ETH", + outputToken: "ATOM", + amount: "1.0", + recipient: "cosmos1..." + }, +}); +``` + +## API Reference + +### Actions + +#### `MULTI_CHAIN_TRANSFER` + +Transfers tokens on multiple chains with a single account + +```typescript +{ + action: 'MULTI_CHAIN_TRANSFER', + content: { + chain: string, // The blockchain (e.g., "BTC", "ETH", "COSMOS") + networkId: string, // The network of the blockchain (e.g. "mainnet", "testnet") + token: string, // Token to transfer + amount: string, // Amount to transfer + recipient: string // Recipient address on target chain + } +} +``` + +#### `CROSS_CHAIN_SWAP` + +Executes a token swap across different chains. + +```typescript +{ + action: 'CROSS_CHAIN_SWAP', + content: { + sourceChain: string, // Source blockchain + targetChain: string, // Target blockchain + inputToken: string, // Input token symbol + outputToken: string, // Output token symbol + amount: string, // Amount to swap + recipient: string, // Recipient address + slippage?: number // Optional: slippage tolerance + } +} +``` + +### Providers + +#### MultiChain Provider + +Provides cross-chain portfolio tracking and network status. + +```typescript +const portfolioInfo = await eliza.getProvider("multichain"); +// Returns consolidated portfolio including: +// - Balances across all chains +// - USD values +// - Network status +``` + +## Troubleshooting + +### Common Issues + +1. **Cross-Chain Transaction Failures** + - Verify sufficient gas/fees on source chain + - Check Bitcoin UTXO availability + - Confirm bridge/protocol liquidity + - Monitor transaction status on both chains + +2. **Network Issues** + - Verify RPC endpoints + - Check network congestion + - Monitor bridge status + - Ensure chain signatures are valid + +3. **Swap Issues** + - Verify token pair liquidity + - Check price impact + - Monitor slippage + - Confirm route availability + +## Security Best Practices + +1. **Key Management** + - Secure storage of private keys + - Regular key rotation + - Multi-signature support + - Activity monitoring + +2. **Transaction Safety** + - Input validation + - Amount limits + - Address verification + - Transaction simulation + +3. **Network Security** + - Secure RPC endpoints + - Fallback providers + - Rate limiting + - Chain signature verification + +## Testing + +```bash +pnpm test +``` + +Development mode: + +```bash +pnpm test:watch +``` + +## Dependencies + +- multichain-tools: ^4.0.0 +- near-api-js: ^5.0.1 +- bignumber.js: ^9.1.2 +- node-cache: ^5.1.2 + +## Contributing + +See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines. + +## Credits + +This plugin integrates with multiple blockchain networks and their respective technologies: + +- Bitcoin Network +- Ethereum and EVM-compatible chains +- NEAR Protocol (Chain Signatures and NEAR Intents) + +Special thanks to: +- The NEAR Protocol team for developing the NEAR blockchain and Chain Signatures +- The Aurora team for developing the NEAR Intents +- The Eliza community for their contributions and feedback. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/multiversx.md b/docs/packages/plugins/multiversx.md new file mode 100644 index 00000000000..76454a8477b --- /dev/null +++ b/docs/packages/plugins/multiversx.md @@ -0,0 +1,214 @@ +# @elizaos/plugin-multiversx + +MultiversX blockchain integration plugin for Eliza OS that enables token management and transfers. + +## Overview + +This plugin aims to be the basis of all interactions with the MultiversX ecosystem. + +## Features + +- EGLD and ESDT token transfers +- Token creation and management +- Multiple network support (mainnet, devnet, testnet) +- Secure transaction signing +- Automatic nonce management +- Transaction status tracking +- Built-in denomination handling +- Comprehensive error handling + +## Adding a new action + +Reuse providers and utilities from the existing actions where possible. Add more utilities if you think they will be useful for other actions. + +1. Add the action to the `actions` directory. Try to follow the naming convention of the other actions. +2. Export the action in the `index.ts` file. + +## Installation + +```bash +pnpm install @elizaos/plugin-multiversx +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +MVX_PRIVATE_KEY=your-wallet-private-key +MVX_NETWORK=devnet # mainnet, devnet, or testnet +ACCESS_TOKEN_MANAGEMENT_TO=everyone # you can put an userid to limit token managament to one user only (use same id as in the database) +``` + +## Usage + +### Token Transfer + +```typescript +import { multiversxPlugin } from "@elizaos/plugin-multiversx"; + +// Send EGLD +const result = await eliza.execute({ + action: "SEND_TOKEN", + content: { + tokenAddress: "erd1...", + amount: "1", + tokenIdentifier: "EGLD", + }, +}); + +// Send ESDT +const result = await eliza.execute({ + action: "SEND_TOKEN", + content: { + tokenAddress: "erd1...", + amount: "100", + tokenIdentifier: "TEST-a1b2c3", + }, +}); +``` + +### Token Creation + +```typescript +const result = await eliza.execute({ + action: "CREATE_TOKEN", + content: { + tokenName: "TestToken", + tokenTicker: "TEST", + decimals: "18", + amount: "1000000", + }, +}); +``` + +### Token Swap + +```typescript +const result = await eliza.execute({ + action: "SWAP", + content: { + tokenIn: "EGLD", + amountIn: "1", + tokenOut: "MEX" + }, +}); +``` + +### Pool Creation + +```typescript +const result = await eliza.execute({ + action: "CREATE_POOL", + content: { + baseTokenID: "KWAK", + quoteTokenID: "EGLD", + baseAmount: "1000000", + quoteAmount: "20" + }, +}); +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + + - Verify wallet has sufficient balance + - Check network configuration matches intended network + - Ensure correct token identifiers + - Verify recipient address format + +2. **Configuration Problems** + + - Validate private key format + - Check network selection is valid + - Ensure environment variables are properly set + - Verify wallet permissions for token operations + +3. **Token Creation Issues** + + - Check token name and ticker format + - Verify EGLD balance for issuance fee + - Ensure unique token identifiers + - Monitor transaction status + +4. **Network Connectivity** + - Verify network endpoint availability + - Check API rate limits + - Monitor network status + - Ensure proper network selection + +## Security Best Practices + +1. **Key Management** + + - Never expose private keys in code + - Use environment variables for sensitive data + - Implement key rotation policies + - Monitor wallet activity + +2. **Transaction Safety** + + - Validate all transaction parameters + - Implement transaction limits + - Use proper denomination handling + - Double-check recipient addresses + +3. **Network Security** + + - Use secure network connections + - Implement retry mechanisms + - Monitor for suspicious activity + - Keep dependencies updated + +4. **Error Handling** + - Implement comprehensive error logging + - Handle network timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +Watch mode for development: + +```bash +pnpm test:watch +``` + +## Dependencies + +- @multiversx/sdk-core: ^13.15.0 +- bignumber.js: ^9.1.2 +- tsup: ^8.3.5 +- vitest: ^2.1.5 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](https://github.com/elizaOS/eliza/blob/main/CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with the [MultiversX blockchain](https://multiversx.com/) using their official SDK. + +Special thanks to: + +- The MultiversX team for developing the MultiversX blockchain +- The Eliza community for their contributions and feedback. + +For more information about MultiversX blockchain capabilities: + +- [MultiversX Documentation](https://docs.multiversx.com/) +- [MultiversX Developer Portal](https://docs.multiversx.com/developers/getting-started/introduction) +- [MultiversX GitHub Repository](https://github.com/multiversx/mx-sdk-js) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/near.md b/docs/packages/plugins/near.md new file mode 100644 index 00000000000..b4b6c021462 --- /dev/null +++ b/docs/packages/plugins/near.md @@ -0,0 +1,222 @@ +# @elizaos/plugin-near + +NEAR Protocol integration plugin for Eliza OS that enables token management, transfers, and swaps using Ref Finance. + +## Overview + +This plugin aims to be the basis of all interactions with the NEAR ecosystem, providing seamless integration with NEAR Protocol and Ref Finance DEX. + +## Features + +- NEAR token transfers +- Token swaps via Ref Finance +- Multiple network support (mainnet, testnet) +- Secure transaction signing +- Automatic storage deposit handling +- Real-time price feeds +- Portfolio tracking and management +- Smart routing for optimal swaps +- Built-in denomination handling +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-near +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +NEAR_WALLET_SECRET_KEY=your-wallet-private-key +NEAR_WALLET_PUBLIC_KEY=your-wallet-public-key +NEAR_ADDRESS=your-account.near +NEAR_NETWORK=testnet # mainnet or testnet +NEAR_RPC_URL=https://neart.lava.build +NEAR_SLIPPAGE=0.01 # 1% slippage tolerance +``` + +## Usage + +### Token Transfer + +```typescript +import { nearPlugin } from "@elizaos/plugin-near"; + +// Send NEAR +const result = await eliza.execute({ + action: "SEND_NEAR", + content: { + recipient: "bob.near", + amount: "1.5", + }, +}); +``` + +### Token Swap + +```typescript +const result = await eliza.execute({ + action: "EXECUTE_SWAP_NEAR", + content: { + inputTokenId: "wrap.near", + outputTokenId: "token.v2.ref-finance.near", + amount: "10", + }, +}); +``` + +## API Reference + +### Actions + +#### `SEND_NEAR` + +Transfers NEAR tokens to another account. + +```typescript +{ + action: 'SEND_NEAR', + content: { + recipient: string, // Recipient's NEAR account (e.g., "bob.near") + amount: string, // Amount to send (in NEAR) + tokenAddress?: string // Optional: for NEP-141 tokens + } +} +``` + +#### `EXECUTE_SWAP_NEAR` + +Executes a token swap using Ref Finance. + +```typescript +{ + action: 'EXECUTE_SWAP_NEAR', + content: { + inputTokenId: string, // Input token contract (e.g., "wrap.near") + outputTokenId: string, // Output token contract + amount: string, // Amount to swap + slippageTolerance?: number // Optional: default from config + } +} +``` + +### Providers + +#### Wallet Provider + +Provides wallet information and portfolio tracking. + +```typescript +const walletInfo = await eliza.getProvider("wallet"); +// Returns formatted portfolio including: +// - Account balance +// - Token balances +// - USD values +// - Market prices +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + + - Check account balance + - Verify storage deposits + - Ensure sufficient gas + - Confirm slippage tolerance + +2. **Connection Problems** + + - Verify RPC endpoint + - Check network selection + - Ensure valid credentials + - Monitor API rate limits + +3. **Swap Issues** + - Verify token pairs exist + - Check liquidity pools + - Confirm price impact + - Monitor slippage settings + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Implement key rotation + - Monitor account activity + +2. **Transaction Safety** + + - Validate all inputs + - Implement amount limits + - Double-check recipients + - Monitor transaction status + +3. **Network Security** + + - Use secure RPC endpoints + - Implement retry mechanisms + - Monitor for suspicious activity + - Keep dependencies updated + +4. **Error Handling** + - Log all transaction attempts + - Handle timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +Watch mode for development: + +```bash +pnpm test:watch +``` + +## Dependencies + +- near-api-js: ^5.0.1 +- @ref-finance/ref-sdk: ^1.4.6 +- bignumber.js: ^9.1.2 +- node-cache: ^5.1.2 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: + +- [NEAR Protocol](https://near.org/) +- [Ref Finance](https://ref.finance/) +- Official NEAR JavaScript API and SDKs + +Special thanks to: + +- The NEAR Protocol team for developing the NEAR blockchain +- The Ref Finance team for developing the Ref Finance DEX +- The Eliza community for their contributions and feedback. + +For more information about NEAR blockchain capabilities: + +- [NEAR Documentation](https://docs.near.org/) +- [NEAR Developer Portal](https://near.org/developers) +- [NEAR Network Dashboard](https://nearscan.io/) +- [NEAR GitHub Repository](https://github.com/nearprotocol/near-api-js) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/news.md b/docs/packages/plugins/news.md new file mode 100644 index 00000000000..f6f0786d916 --- /dev/null +++ b/docs/packages/plugins/news.md @@ -0,0 +1,171 @@ +# @elizaos/plugin-news + +A plugin for fetching and handling real-time news data through NewsAPI integration. + +## Overview + +This plugin provides functionality to: +- Fetch latest news articles from NewsAPI +- Search news by specific topics or keywords +- Get article summaries including titles, descriptions, and URLs +- Limit results to most recent and relevant content + +## Installation + +```bash +npm install @elizaos/plugin-news +``` + +## Configuration + +The plugin requires the following environment variable: + +```env +NEWS_API_KEY=your_newsapi_key # Required for accessing NewsAPI +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { newsPlugin } from "@elizaos/plugin-news"; + +export default { + plugins: [newsPlugin], + // ... other configuration +}; +``` + +## Features + +### Current News Action + +The plugin provides a `CURRENT_NEWS` action that responds to various news-related queries: + +```typescript +// Example queries the action responds to: +"what's the latest news about ?" +"can you show me the latest news about ?" +"what's in the news today?" +"show me current events about ?" +"what's going on in the world of ?" +"give me the latest headlines about ?" +"show me news updates about ?" +"what are today's top stories about ?" +``` + +The action returns up to 5 recent articles, including: +- Article title +- Description +- URL +- Content preview (up to 1000 characters) + +## Development + +### Building + +```bash +npm run build +``` + +### Development Mode + +```bash +npm run dev +``` + +### Linting + +```bash +npm run lint +``` + +### Project Structure + +``` +plugin-news/ +├── src/ +│ ├── actions/ # Action implementations +│ │ ├── news.ts # Current news action +│ │ └── index.ts # Action exports +│ └── index.ts # Main plugin export +├── package.json +└── tsconfig.json +``` + +## Dependencies + +- `@ai16z/eliza`: Core Eliza framework +- `tsup`: Build tool for TypeScript packages +- Other standard dependencies listed in package.json + +## API Reference + +### Actions + +- `CURRENT_NEWS`: Main action for fetching news + - Aliases: `["NEWS", "GET_NEWS", "GET_CURRENT_NEWS"]` + - Automatically extracts search terms from user messages + - Returns formatted news articles with titles, descriptions, and URLs + +### Response Format + +```typescript +interface NewsResponse { + title: string; + description: string; + url: string; + content: string; // Limited to 1000 characters +} +``` + +## Future Enhancements + +1. **Additional News Sources** + - Integration with multiple news APIs + - RSS feed support + - Social media news aggregation + +2. **Content Analysis** + - Sentiment analysis of news articles + - Topic categorization + - Trend detection + - Fact-checking integration + +3. **Customization Options** + - User preferences for news sources + - Custom filtering rules + - Personalized news feeds + - Language preferences + +4. **Advanced Search** + - Date range filtering + - Source filtering + - Category-based search + - Advanced query syntax + +5. **Performance Improvements** + - Caching layer + - Rate limiting optimization + - Response compression + - Batch processing + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [NewsAPI](https://newsapi.org/): News data provider + +Plugin generated from Eliza coding tutorial [Agent Dev School Part 2](https://www.youtube.com/watch?v=XenGeAcPAQo) diff --git a/docs/packages/plugins/nft-collections.md b/docs/packages/plugins/nft-collections.md new file mode 100644 index 00000000000..7a7303f91e1 --- /dev/null +++ b/docs/packages/plugins/nft-collections.md @@ -0,0 +1,1584 @@ +# NFT Collections Plugin + +A powerful plugin for interacting with NFT collections, providing comprehensive market data, social analytics, and trading capabilities through various APIs including Reservoir, CoinGecko, and more. While designed to work with any EVM NFT collection, the plugin includes special support for 420+ curated collections featured on ikigailabs.xyz. + +## Recent Improvements + +### Performance Optimizations + +- Implemented batch processing with configurable batch sizes for collection data +- Added parallel request handling with queue management +- Optimized caching with tiered expiration times for different data types +- Added LRU (Least Recently Used) cache with configurable size limits +- Implemented request prioritization for curated collections + +### Enhanced Error Handling + +- Added comprehensive error types and validation +- Implemented retry logic with exponential backoff +- Added detailed error tracking and reporting +- Improved error recovery mechanisms +- Added structured error logging + +### Rate Limiting & Security + +- Added advanced rate limiting with configurable thresholds +- Implemented queue-based request management +- Added per-service rate limiting +- Improved API key management and validation +- Added request validation and sanitization + +### Performance Monitoring + +- Added detailed performance metrics tracking +- Implemented alert system for performance issues +- Added periodic performance reporting +- Added latency, error rate, and throughput monitoring +- Implemented customizable alert thresholds + +### Data Validation + +- Added comprehensive schema validation using Zod +- Implemented strict type checking +- Added data sanitization utilities +- Added Ethereum address validation +- Added price and token ID validation + +## Features + +### Core Features (Reservoir Tools API) + +- Real-time NFT collection data and market stats +- Floor prices, volume, and market cap tracking +- Collection activity monitoring +- Token-level data and attributes +- Collection statistics and rankings + +### Market Intelligence + +- 420+ verified NFT collections featured on ikigailabs.xyz +- Enhanced metadata and social information +- Prioritized data fetching and caching +- Pre-verified contract addresses +- Featured collections highlighting +- Quick lookup and validation functions + +### Market Data + +- Real-time floor prices and volume tracking +- Market cap and holder statistics +- Price history and trends +- Multi-marketplace activity tracking +- Wash trading detection +- Liquidity analysis +- Price prediction +- Whale activity monitoring +- Market trend analysis + +### Social Analytics + +- Twitter engagement metrics +- Discord community stats +- Telegram group analytics +- Sentiment analysis +- Community growth tracking + +## Quick Start + +### Installation + +```bash +pnpm add @elizaos/plugin-nft-collections +``` + +## Configuration + +### Required Configuration + +```env +# Required +RESERVOIR_API_KEY=your-reservoir-api-key +``` + +### Optional Configuration + +```typescript +import { NFTCollectionsPlugin } from "@elizaos/plugin-nft-collections"; + +const plugin = new NFTCollectionsPlugin({ + caching: { + enabled: true, + ttl: 3600000, // 1 hour + maxSize: 1000, + }, + security: { + rateLimit: { + enabled: true, + maxRequests: 100, + windowMs: 60000, + }, + }, + maxConcurrent: 5, // Maximum concurrent requests + maxRetries: 3, // Maximum retry attempts + batchSize: 20, // Batch size for collection requests +}); + +// Register with your agent +agent.registerPlugin(plugin); +``` + +### Required Environment Variables + +```env +RESERVOIR_API_KEY=your-reservoir-api-key +``` + +### Optional API Keys + +```env +# Market Intelligence +NANSEN_API_KEY=your-nansen-api-key +DUNE_API_KEY=your-dune-api-key +ALCHEMY_API_KEY=your-alchemy-api-key +CHAINBASE_API_KEY=your-chainbase-api-key +NFTSCAN_API_KEY=your-nftscan-api-key + +# Social Analytics +TWITTER_API_KEY=your-twitter-api-key +DISCORD_API_KEY=your-discord-api-key +TELEGRAM_API_KEY=your-telegram-api-key +``` + +## Usage Examples + +### Collection Data + +```typescript +// Get top collections with optimized batch processing +const collections = await nftService.getTopCollections(); + +// Get market intelligence with caching +const intelligence = + await marketIntelligenceService.getMarketIntelligence("0x1234"); + +// Get social metrics with rate limiting +const metrics = await socialAnalyticsService.getSocialMetrics("0x1234"); +``` + +### Error Handling + +```typescript +try { + const collections = await nftService.getTopCollections(); +} catch (error) { + if (error.code === ErrorCode.RATE_LIMIT_EXCEEDED) { + // Handle rate limiting + } else if (error.code === ErrorCode.API_ERROR) { + // Handle API errors + } +} +``` + +### NFT Ownership + +```typescript +// Listen for performance alerts +performanceMonitor.on("alert", (alert) => { + console.log(`Performance alert: ${alert.type} for ${alert.operation}`); +}); + +// Get performance summary +const summary = performanceMonitor.getPerformanceSummary(); +``` + +## Performance Benchmarks + +### Response Times (p95) + +``` +Operation Cold Cached Batch (100) +Collection Data 300ms 50ms 2.5s +Floor Price 150ms 25ms 1.2s +Token Metadata 250ms 40ms 2.0s +Market Stats 400ms 75ms 3.0s +Social Metrics 350ms 60ms 2.8s +``` + +### Building + +```bash +pnpm build +``` + +### Resource Usage + +``` +Resource Idle Light Heavy +CPU 0.5% 15% 40% +Memory 150MB 300MB 600MB +Requests/s 10 100 1000 +``` + +## Best Practices + +1. **API Keys** + + - Secure storage of API keys + - Regular key rotation + - Use fallback keys for high availability + +2. **Error Handling** + + - Implement retry strategies + - Handle rate limits gracefully + - Log errors with context + +3. **Performance** + + - Use batch operations when possible + - Implement appropriate caching + - Monitor resource usage + +4. **Data Validation** + - Validate all input data + - Sanitize API responses + - Check Ethereum addresses + +## Architecture + +### System Components + +```mermaid +graph TD + A[Client] --> B[Plugin Interface] + B --> C[Cache Layer] + C --> D[API Manager] + D --> E[Reservoir API] + D --> F[Market APIs] + D --> G[Social APIs] + H[Monitor] --> I[Metrics] + H --> J[Alerts] +``` + +## Contributing + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a Pull Request + +## License + +MIT + +## Support + +### Error Handling Flow + +```mermaid +graph TD + A[API Call] --> B{Error?} + B -->|Yes| C[Retry Strategy] + C -->|Success| D[Return Data] + C -->|Fail| E[Fallback API] + E -->|Success| D + E -->|Fail| F[Error Response] + B -->|No| D +``` + +### Optimization Strategies + +```mermaid +graph TD + A[Incoming Request] --> B{Optimizable?} + B -->|Yes| C[Batch Processing] + B -->|No| D[Direct Processing] + C --> E[Parallel Execution] + C --> F[Queue Management] + E --> G[Result Aggregation] + F --> G + D --> G +``` + +## Integrations + +### GraphQL Support + +```env +# GraphQL Configuration +GRAPHQL_ENDPOINT=your-graphql-endpoint +GRAPHQL_API_KEY=your-graphql-key +``` + +```typescript +// Query collections using GraphQL +const collections = await plugin.graphql.query( + ` + query GetCollections($first: Int!) { + collections(first: $first) { + id + name + floorPrice + volume24h + } + } +`, + { first: 10 } +); + +// Subscribe to collection updates +const subscription = plugin.graphql.subscribe( + ` + subscription OnFloorPriceChange($collectionId: ID!) { + floorPriceChanged(collectionId: $collectionId) { + newPrice + oldPrice + timestamp + } + } +`, + { collectionId: "0x1234" } +); +``` + +### WebSocket Real-time Updates + +```env +# WebSocket Configuration +WS_ENDPOINT=your-websocket-endpoint +WS_API_KEY=your-websocket-key +``` + +```typescript +// Subscribe to real-time collection updates +plugin.ws.subscribe("collection:0x1234", (update) => { + console.log("New floor price:", update.floorPrice); +}); + +// Subscribe to multiple events +plugin.ws.subscribeMany( + ["sales:0x1234", "listings:0x1234", "transfers:0x1234"], + (event) => { + console.log("Event type:", event.type); + console.log("Event data:", event.data); + } +); + +// Custom event filters +plugin.ws.subscribe( + "sales:*", + { + priceAbove: "10 ETH", + marketplace: ["opensea", "blur"], + }, + (sale) => { + console.log("Whale sale detected:", sale); + } +); +``` + +### IPFS Integration + +```env +# IPFS Configuration +IPFS_GATEWAY=your-ipfs-gateway +IPFS_API_KEY=your-ipfs-key +IPFS_FALLBACK_GATEWAYS=["https://ipfs.io", "https://cloudflare-ipfs.com"] +``` + +```typescript +// Fetch metadata from IPFS +const metadata = await plugin.ipfs.getMetadata("ipfs://Qm..."); + +// Upload metadata to IPFS +const cid = await plugin.ipfs.uploadMetadata({ + name: "Cool NFT", + description: "Very cool NFT", + image: "ipfs://Qm...", +}); + +// Pin content across multiple providers +await plugin.ipfs.pin(cid, { + providers: ["pinata", "web3.storage"], + replicas: 3, +}); + +// Smart gateway selection +const image = await plugin.ipfs.getImage(cid, { + preferredGateway: "cloudflare", + size: "thumbnail", + format: "webp", +}); +``` + +### Integration Best Practices + +1. **GraphQL** + + - Use fragments for reusable queries + - Implement proper error boundaries + - Cache complex queries + - Use persisted queries for production + +2. **WebSocket** + + - Implement reconnection logic + - Handle backpressure + - Use heartbeats + - Batch small updates + - Implement message queue for offline scenarios + +3. **IPFS** + - Use multiple gateway fallbacks + - Implement proper timeout handling + - Cache frequently accessed content + - Use appropriate gateway for content type + - Monitor gateway health + +### Integration Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[GraphQL Client] + A --> C[WebSocket Manager] + A --> D[IPFS Gateway] + + B --> E[Query Builder] + B --> F[Subscription Manager] + + C --> G[Event Stream] + C --> H[Connection Pool] + + D --> I[Gateway Router] + D --> J[Content Cache] + + E --> K[API Endpoint] + F --> K + G --> L[WS Endpoint] + H --> L + I --> M[IPFS Network] +``` + +## Extended Features + +### Webhooks + +```env +# Webhook Configuration +WEBHOOK_SECRET=your-webhook-secret +WEBHOOK_RETRY_COUNT=3 +WEBHOOK_TIMEOUT=5000 +``` + +```typescript +// Register webhook endpoints +const webhook = plugin.webhooks.create({ + url: "https://api.yourdomain.com/webhooks/nft", + events: ["floor_change", "volume_spike", "whale_transfer"], + secret: process.env.WEBHOOK_SECRET, + metadata: { + name: "Price Monitor", + description: "Monitor floor price changes", + }, +}); + +// Configure event filters +webhook.addFilter({ + event: "floor_change", + conditions: { + percentageChange: ">5%", + timeWindow: "1h", + minVolume: "10 ETH", + }, +}); + +webhook.addFilter({ + event: "whale_transfer", + conditions: { + value: ">100 ETH", + fromAddress: ["!0x0000000000000000000000000000000000000000"], + toAddress: ["!0x0000000000000000000000000000000000000000"], + }, +}); + +// Handle webhook delivery status +webhook.on("delivered", (event) => { + console.log("Webhook delivered:", event.id); +}); + +webhook.on("failed", (event, error) => { + console.error("Webhook failed:", error); +}); +``` + +### ML-Powered Price Predictions + +```typescript +// Get price prediction for a collection +const prediction = await plugin.ml.predictPrice("0x1234", { + timeframe: "24h", + confidence: 0.8, + includeFactors: true, +}); + +// Response type +interface PricePrediction { + timeframe: "1h" | "24h" | "7d"; + currentPrice: number; + predictedPrice: number; + confidence: number; + factors: { + reason: string; + impact: number; + confidence: number; + }[]; + marketConditions: { + trend: "bullish" | "bearish" | "neutral"; + volatility: "high" | "medium" | "low"; + liquidity: "high" | "medium" | "low"; + }; +} + +// Batch predictions for multiple collections +const predictions = await plugin.ml.batchPredictPrice([ + { address: "0x1234", timeframe: "1h" }, + { address: "0x5678", timeframe: "24h" }, +]); + +// Get historical prediction accuracy +const accuracy = await plugin.ml.getPredictionAccuracy("0x1234", { + timeframe: "7d", + startDate: "2024-01-01", + endDate: "2024-01-07", +}); + +// Train custom prediction model +const model = await plugin.ml.trainCustomModel({ + collections: ["0x1234", "0x5678"], + features: ["volume", "social_sentiment", "whale_activity"], + timeframe: "24h", + trainingPeriod: "30d", +}); +``` + +### Advanced Analytics + +```typescript +// Rarity analysis with ML +const rarityScore = await plugin.ml.analyzeRarity("0x1234", "tokenId", { + method: "trait_rarity" | "statistical" | "neural", + includeExplanation: true, +}); + +// Wash trading detection +const tradeAnalysis = await plugin.ml.analyzeTrades("0x1234", { + timeframe: "24h", + minConfidence: 0.8, + includeEvidence: true, +}); + +// Market manipulation detection +const manipulationScore = await plugin.ml.detectManipulation("0x1234", { + indicators: ["wash_trading", "price_manipulation", "fake_volume"], + sensitivity: "high" | "medium" | "low", +}); +``` + +### Custom Alerts + +```typescript +// Set up custom alerts +const alert = plugin.alerts.create({ + name: "Whale Alert", + conditions: { + event: "transfer", + filters: { + value: ">50 ETH", + collectionAddress: "0x1234", + }, + }, + actions: [ + { + type: "webhook", + url: "https://api.yourdomain.com/alerts", + }, + { + type: "email", + to: "trader@domain.com", + }, + ], +}); + +// Alert with ML insights +const smartAlert = plugin.alerts.createWithML({ + name: "Smart Price Alert", + conditions: { + event: "price_prediction", + filters: { + confidence: ">0.8", + priceChange: ">10%", + timeframe: "24h", + }, + }, + mlConfig: { + model: "price_prediction", + features: ["market_sentiment", "whale_activity"], + }, +}); +``` + +### Feature Configuration + +```typescript +interface ExtendedFeatureConfig { + webhooks: { + maxRetries: number; + timeout: number; + batchSize: number; + rateLimits: { + perSecond: number; + perMinute: number; + }; + }; + ml: { + models: { + price: string; + rarity: string; + manipulation: string; + }; + updateFrequency: number; + minConfidence: number; + maxBatchSize: number; + }; + alerts: { + maxPerUser: number; + cooldown: number; + maxActions: number; + }; +} +``` + +### Extended Features Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[Webhook Manager] + A --> C[ML Engine] + A --> D[Alert System] + + B --> E[Event Filter] + B --> F[Delivery Manager] + + C --> G[Price Predictor] + C --> H[Rarity Analyzer] + C --> I[Manipulation Detector] + + D --> J[Condition Evaluator] + D --> K[Action Executor] + + E --> L[Event Stream] + F --> M[Retry Queue] + + G --> N[Model Registry] + H --> N + I --> N + + J --> O[Alert Queue] + K --> P[Notification Service] +``` + +## Testing & Validation + +### Mock Data Generation + +```typescript +// Generate mock collections and transactions +const mockData = await plugin.testing.generateMockData({ + collections: 10, + transactions: 1000, + timeRange: [new Date("2024-01-01"), new Date("2024-01-07")], + options: { + priceRange: [0.1, 100], + traits: ["background", "body", "eyes", "mouth"], + rarityDistribution: "normal", + marketplaces: ["opensea", "blur", "x2y2"], + }, +}); + +// Generate realistic market activity +const marketActivity = await plugin.testing.generateMarketActivity({ + collection: "0x1234", + activityType: ["sales", "listings", "offers"], + volumeProfile: "whale_accumulation", + priceVolatility: "high", + duration: "7d", +}); + +// Generate social signals +const socialData = await plugin.testing.generateSocialData({ + sentiment: "bullish", + engagement: "viral", + platforms: ["twitter", "discord"], + influencerActivity: true, +}); +``` + +### Contract Validation + +```typescript +// Validate collection contract +const validation = await plugin.validation.validateContract("0x1234", { + checkERC: ["721", "1155"], + securityCheck: true, + options: { + checkOwnership: true, + checkRoyalties: true, + checkMetadata: true, + checkPermissions: true, + }, +}); + +// Response type +interface ValidationResult { + isValid: boolean; + standards: { + erc721: boolean; + erc1155: boolean; + erc2981: boolean; // Royalties + }; + security: { + maliciousCode: boolean; + knownExploits: boolean; + upgradeability: { + isUpgradeable: boolean; + adminAddress: string; + timelock: number; + }; + permissions: { + owner: string; + minter: string[]; + pauser: string[]; + }; + }; + metadata: { + isValid: boolean; + baseURI: string; + frozen: boolean; + }; +} + +// Batch validate multiple contracts +const batchValidation = await plugin.validation.batchValidateContracts( + ["0x1234", "0x5678"], + { + checkERC: ["721"], + securityCheck: true, + } +); +``` + +### Testing Utilities + +```typescript +// Time travel for testing +await plugin.testing.timeTravel({ + collection: "0x1234", + destination: new Date("2024-06-01"), + preserveState: true, +}); + +// Market simulation +await plugin.testing.simulateMarket({ + scenario: "bear_market", + duration: "30d", + collections: ["0x1234"], + variables: { + priceDecline: 0.5, + volumeReduction: 0.7, + sellerPanic: true, + }, +}); + +// Load testing +const loadTest = await plugin.testing.runLoadTest({ + concurrent: 100, + duration: "5m", + operations: ["getFloor", "getMetadata", "getTrades"], + targetRPS: 50, +}); +``` + +### Test Fixtures + +```typescript +// Collection fixture +const fixture = plugin.testing.createFixture({ + type: "collection", + traits: { + background: ["red", "blue", "green"], + body: ["type1", "type2"], + accessory: ["hat", "glasses"], + }, + supply: 1000, + distribution: "random", +}); + +// Market fixture +const marketFixture = plugin.testing.createMarketFixture({ + floorPrice: 1.5, + listings: 50, + topBid: 2.0, + volume24h: 100, + holders: 500, +}); + +// Event fixture +const eventFixture = plugin.testing.createEventFixture({ + type: "sale", + price: 5.0, + marketplace: "opensea", + timestamp: new Date(), +}); +``` + +### Testing Configuration + +```typescript +interface TestConfig { + mock: { + seed?: string; + deterministic: boolean; + networkLatency: number; + errorRate: number; + }; + validation: { + timeout: number; + retries: number; + concurrency: number; + }; + fixtures: { + cleanup: boolean; + persistence: "memory" | "disk"; + sharing: boolean; + }; +} +``` + +### Test Helpers + +```typescript +// Snapshot testing +const snapshot = await plugin.testing.createSnapshot("0x1234"); +await plugin.testing.compareSnapshots(snapshot, latestSnapshot); + +// Event assertions +await plugin.testing.assertEvent({ + type: "sale", + collection: "0x1234", + matcher: { + price: ">1 ETH", + buyer: "0x5678", + }, +}); + +// Market assertions +await plugin.testing.assertMarketState({ + collection: "0x1234", + conditions: { + floorPrice: ">1 ETH", + listings: ">10", + volume24h: ">100 ETH", + }, +}); +``` + +### Testing Architecture + +```mermaid +graph TD + A[Test Runner] --> B[Mock Generator] + A --> C[Validation Engine] + A --> D[Test Utilities] + + B --> E[Collection Mocks] + B --> F[Transaction Mocks] + B --> G[Market Mocks] + + C --> H[Contract Validator] + C --> I[Security Scanner] + C --> J[Standards Checker] + + D --> K[Time Machine] + D --> L[Market Simulator] + D --> M[Load Tester] + + E --> N[Test Execution] + F --> N + G --> N + + H --> O[Validation Results] + I --> O + J --> O + + K --> P[Test Results] + L --> P + M --> P +``` + +## Authentication & Security + +### API Key Management + +```typescript +// Configure API keys with rotation and fallback +const apiConfig = plugin.auth.configureAPI({ + primary: { + key: process.env.PRIMARY_API_KEY, + rotationSchedule: "0 0 * * *", // Daily rotation + rotationCallback: async (oldKey) => { + await notifyKeyExpiry(oldKey); + }, + }, + fallback: { + key: process.env.FALLBACK_API_KEY, + useCondition: (error) => error.status === 429 || error.status === 503, + }, + rotation: { + enabled: true, + interval: 86400000, // 24 hours in ms + strategy: "gradual", // or "immediate" + }, +}); + +// Key rotation handlers +plugin.auth.onKeyRotation(async (newKey, oldKey) => { + await updateKeyInVault(newKey); + await invalidateOldKey(oldKey); +}); + +// Automatic key validation +await plugin.auth.validateKeys({ + checkInterval: 3600000, // 1 hour + healthEndpoint: "/health", + timeout: 5000, +}); +``` + +### Rate Limiting + +```typescript +// Configure rate limits +const rateLimiter = plugin.security.configureRateLimits({ + global: { + maxRequests: 1000, + windowMs: 60000, // 1 minute + retryAfter: 60000, + }, + endpoints: { + "/collections": { + maxRequests: 100, + windowMs: 60000, + retryAfter: 30000, + }, + "/market-data": { + maxRequests: 50, + windowMs: 60000, + retryAfter: 60000, + }, + }, + strategies: { + type: "sliding-window", + errorHandling: "queue", // or "reject" + }, +}); + +// Custom rate limit handlers +rateLimiter.onLimitReached(async (context) => { + await notifyRateLimitExceeded(context); + return plugin.security.getBackoffStrategy(context); +}); + +// Distributed rate limiting with Redis +const distributedLimiter = plugin.security.createDistributedRateLimiter({ + redis: { + host: process.env.REDIS_HOST, + port: 6379, + password: process.env.REDIS_PASSWORD, + }, + sync: { + interval: 1000, + strategy: "eventual-consistency", + }, +}); +``` + +### Security Features + +```typescript +// Enable security features +const security = plugin.security.configure({ + encryption: { + algorithm: "aes-256-gcm", + keyRotation: true, + rotationInterval: 7776000000, // 90 days + }, + authentication: { + type: "jwt", + expiresIn: "24h", + refreshToken: true, + }, + headers: { + helmet: true, + cors: { + origin: ["https://yourdomain.com"], + methods: ["GET", "POST"], + }, + }, +}); + +// Request signing +const signedRequest = plugin.security.signRequest({ + method: "POST", + url: "/api/v1/trades", + body: tradeData, + nonce: Date.now(), + expiry: "5m", +}); + +// Payload encryption +const encryptedData = await plugin.security.encryptPayload(sensitiveData, { + algorithm: "aes-256-gcm", + keyId: "current", + metadata: { + purpose: "api-communication", + }, +}); +``` + +### Access Control + +```typescript +// Configure access control +const accessControl = plugin.security.configureAccess({ + roles: { + admin: { + permissions: ["read", "write", "delete"], + rateLimit: { multiplier: 2 }, + }, + user: { + permissions: ["read"], + rateLimit: { multiplier: 1 }, + }, + }, + resources: { + collections: ["read", "write"], + trades: ["read", "write", "delete"], + analytics: ["read"], + }, +}); + +// Role-based middleware +const authMiddleware = plugin.security.createAuthMiddleware({ + validateToken: true, + checkPermissions: true, + auditLog: true, +}); + +// IP allowlisting +const ipFilter = plugin.security.createIPFilter({ + allowlist: ["192.168.1.0/24"], + denylist: ["10.0.0.0/8"], + mode: "strict", +}); +``` + +### Audit Logging + +```typescript +// Configure audit logging +const auditLogger = plugin.security.configureAuditLog({ + storage: { + type: "elasticsearch", + config: { + node: process.env.ELASTICSEARCH_URL, + index: "nft-audit-logs", + }, + }, + retention: { + duration: "90d", + archival: true, + }, + events: { + "api.request": true, + "auth.login": true, + "data.modification": true, + }, +}); + +// Log security events +await auditLogger.log({ + action: "api.request", + actor: "user-123", + resource: "collection-456", + details: { + method: "GET", + path: "/api/v1/collections", + status: 200, + }, +}); + +// Query audit logs +const auditTrail = await auditLogger.query({ + timeRange: { + start: "2024-01-01", + end: "2024-01-07", + }, + filters: { + action: ["api.request", "auth.login"], + actor: "user-123", + }, +}); +``` + +### Security Configuration + +```typescript +interface SecurityConfig { + api: { + keys: { + rotation: { + enabled: boolean; + interval: number; + strategy: "gradual" | "immediate"; + }; + validation: { + interval: number; + timeout: number; + }; + }; + rateLimit: { + global: RateLimitConfig; + endpoints: Record; + distributed: boolean; + }; + }; + encryption: { + algorithm: string; + keyRotation: boolean; + rotationInterval: number; + }; + access: { + roles: Record; + resources: Record; + audit: { + enabled: boolean; + retention: string; + }; + }; +} +``` + +### Security Architecture + +```mermaid +graph TD + A[Plugin Core] --> B[Auth Manager] + A --> C[Rate Limiter] + A --> D[Security Manager] + + B --> E[Key Rotation] + B --> F[Key Validation] + + C --> G[Request Counter] + C --> H[Rate Rules] + + D --> I[Encryption] + D --> J[Access Control] + D --> K[Audit Logger] + + E --> L[Key Storage] + F --> L + + G --> M[Redis Cache] + H --> M + + I --> N[Key Management] + J --> O[Role Manager] + K --> P[Log Storage] +``` + +## Trading Agents + +### Agent Configuration + +```typescript +// Configure a trading agent +const tradingAgent = plugin.agents.createTradingAgent({ + name: "WhaleWatcher", + personality: { + style: "aggressive", + riskTolerance: "high", + tradingHours: "24/7", + }, + strategies: [ + { + name: "whale_following", + config: { + minTransactionValue: "100 ETH", + followDelay: "1m", + maxExposure: "500 ETH", + }, + }, + { + name: "floor_sweeping", + config: { + targetCollections: ["0x1234", "0x5678"], + maxPricePerItem: "2 ETH", + totalBudget: "50 ETH", + }, + }, + ], +}); + +// Configure agent communication +const agentNetwork = plugin.agents.createNetwork({ + agents: [tradingAgent, otherAgent], + communicationRules: { + shareMarketInsights: true, + coordinateTrading: true, + profitSharing: 0.5, + }, +}); + +// Set up agent behaviors +tradingAgent.on("whale_movement", async (event) => { + const analysis = await plugin.ml.analyzeWhaleMovement(event); + if (analysis.confidence > 0.8) { + await tradingAgent.executeStrategy("whale_following", { + collection: event.collection, + amount: analysis.recommendedAmount, + }); + } +}); +``` + +### Multi-Agent Trading Strategies + +```typescript +// Collaborative floor sweeping +const floorSweepTeam = plugin.agents.createTeam({ + name: "FloorSweepers", + members: [agent1, agent2, agent3], + strategy: { + type: "distributed_sweep", + config: { + totalBudget: "100 ETH", + maxPricePerAgent: "35 ETH", + targetCollections: ["0x1234"], + coordination: { + type: "price_zones", + zones: [ + { range: "0-1 ETH", agent: "agent1" }, + { range: "1-2 ETH", agent: "agent2" }, + { range: "2+ ETH", agent: "agent3" }, + ], + }, + }, + }, +}); + +// Market making strategy +const marketMaker = plugin.agents.createMarketMaker({ + collections: ["0x1234"], + strategy: { + spreadTarget: 0.05, + maxInventory: "10 ETH", + rebalanceThreshold: 0.02, + hedging: { + enabled: true, + instruments: ["wETH", "NFT indexes"], + }, + }, +}); +``` + +### Agent Learning & Adaptation + +```typescript +// Train agent on historical data +await tradingAgent.learn({ + dataset: "historical_trades", + timeframe: "90d", + features: ["whale_movements", "price_action", "social_sentiment"], + reinforcementConfig: { + rewardFunction: "profit_and_risk", + episodes: 1000, + batchSize: 64, + }, +}); + +// Adaptive strategy adjustment +tradingAgent.enableAdaptation({ + metrics: ["profit_loss", "win_rate", "drawdown"], + adjustmentPeriod: "1d", + thresholds: { + drawdown: { + max: 0.1, + action: "reduce_exposure", + }, + profitTarget: { + min: 0.2, + action: "increase_aggression", + }, + }, +}); +``` + +### Agent Monitoring & Analytics + +```typescript +// Monitor agent performance +const performance = await plugin.agents.getPerformance({ + agentId: tradingAgent.id, + timeframe: "30d", + metrics: ["total_profit", "win_rate", "avg_position_size", "max_drawdown"], +}); + +// Agent activity dashboard +const dashboard = plugin.agents.createDashboard({ + agents: [tradingAgent, marketMaker], + realtime: true, + metrics: { + performance: true, + activities: true, + insights: true, + }, + alerts: { + profitThreshold: "5 ETH", + lossThreshold: "2 ETH", + unusualActivity: true, + }, +}); +``` + +### Agent Architecture + +```mermaid +graph TD + A[Trading Agent] --> B[Strategy Manager] + A --> C[Learning Module] + A --> D[Communication Hub] + + B --> E[Whale Following] + B --> F[Floor Sweeping] + B --> G[Market Making] + + C --> H[Historical Analysis] + C --> I[Reinforcement Learning] + C --> J[Strategy Adaptation] + + D --> K[Agent Network] + D --> L[Team Coordination] + D --> M[Market Updates] + + E --> N[Execution Engine] + F --> N + G --> N + + H --> O[Performance Analytics] + I --> O + J --> O + + K --> P[Multi-Agent System] + L --> P + M --> P +``` + +## Caching Layer + +### Cache Configuration + +```typescript +// Configure multi-level caching +const cacheConfig = plugin.cache.configure({ + layers: { + memory: { + type: "memory", + maxSize: "1GB", + ttl: "1m", + priority: 1, + }, + redis: { + type: "redis", + connection: { + host: process.env.REDIS_HOST, + port: 6379, + password: process.env.REDIS_PASSWORD, + }, + ttl: "5m", + priority: 2, + }, + disk: { + type: "disk", + path: "./cache", + maxSize: "10GB", + ttl: "1h", + priority: 3, + }, + }, + strategies: { + preload: ["top_collections", "trending_collections"], + warmup: { + interval: "10m", + concurrency: 5, + }, + }, +}); + +// Configure per-collection caching +const collectionCache = plugin.cache.createCollectionCache({ + collection: "0x1234", + rules: { + metadata: { + ttl: "1d", + invalidateOn: ["metadata_update"], + }, + floorPrice: { + ttl: "30s", + invalidateOn: ["new_listing", "sale"], + }, + holders: { + ttl: "1h", + invalidateOn: ["transfer"], + }, + }, +}); +``` + +### Smart Caching Strategies + +```typescript +// Implement predictive caching +const predictiveCache = plugin.cache.enablePredictiveCaching({ + features: { + userBehavior: true, + timePatterns: true, + marketActivity: true, + }, + ml: { + model: "cache_prediction", + updateInterval: "1h", + minConfidence: 0.8, + }, +}); + +// Configure cache warming +const cacheWarmer = plugin.cache.createWarmer({ + schedule: "*/10 * * * *", // Every 10 minutes + strategy: { + type: "smart", + priorities: { + popularity: 0.4, + recentActivity: 0.3, + userRequests: 0.3, + }, + }, + limits: { + maxConcurrent: 5, + maxItems: 1000, + }, +}); +``` + +### Cache Monitoring + +```typescript +// Monitor cache performance +const cacheMetrics = plugin.cache.monitor({ + metrics: ["hit_rate", "miss_rate", "latency", "size"], + alerts: { + hitRate: { + threshold: 0.8, + window: "5m", + action: "adjust_ttl", + }, + latency: { + threshold: 100, + window: "1m", + action: "scale_cache", + }, + }, +}); + +// Cache analytics dashboard +const cacheDashboard = plugin.cache.createDashboard({ + realtime: true, + metrics: { + performance: true, + storage: true, + invalidations: true, + }, + visualization: { + graphs: true, + heatmaps: true, + }, +}); +``` + +### Cache Optimization + +```typescript +// Optimize cache storage +const storageOptimizer = plugin.cache.optimizeStorage({ + compression: { + enabled: true, + algorithm: "lz4", + level: "medium", + }, + deduplication: true, + partitioning: { + strategy: "access_pattern", + shards: 4, + }, +}); + +// Implement cache coherency +const coherencyManager = plugin.cache.manageCoherency({ + strategy: "write_through", + consistency: "eventual", + propagation: { + method: "pub_sub", + maxDelay: "100ms", + }, +}); +``` + +### Cache Architecture + +```mermaid +graph TD + A[Cache Manager] --> B[Memory Cache] + A --> C[Redis Cache] + A --> D[Disk Cache] + + E[Cache Warmer] --> A + F[Predictive Engine] --> A + G[Monitoring] --> A + + B --> H[Fast Access Layer] + C --> I[Distributed Layer] + D --> J[Persistence Layer] + + K[Optimization] --> B + K --> C + K --> D + + L[Coherency Manager] --> M[Write Through] + L --> N[Invalidation] + L --> O[Propagation] + + P[Analytics] --> Q[Performance] + P --> R[Usage Patterns] + P --> S[Optimization Suggestions] +``` diff --git a/docs/packages/plugins/nft-generation.md b/docs/packages/plugins/nft-generation.md new file mode 100644 index 00000000000..f74b6773065 --- /dev/null +++ b/docs/packages/plugins/nft-generation.md @@ -0,0 +1,245 @@ +# @elizaos/plugin-nft-generation + +NFT collection generation plugin for Eliza OS that enables NFT creation, collection management, and verification on the Solana blockchain. + +## Overview + +This plugin provides comprehensive NFT functionality, including collection creation, NFT minting, and verification, with automatic image generation and metadata management. + +## Features + +- Automated NFT collection creation +- AI-powered image generation for NFTs +- Collection logo generation +- Metadata creation and management +- AWS S3 integration for asset storage +- Solana blockchain integration +- NFT verification system +- Automatic nonce management +- Comprehensive error handling + +## Installation + +```bash +pnpm install @elizaos/plugin-nft-generation +``` + +## Configuration + +The plugin requires environment variables or runtime settings: + +```env +# Solana Configuration +SOLANA_PUBLIC_KEY=your-wallet-public-key +SOLANA_PRIVATE_KEY=your-wallet-private-key +SOLANA_ADMIN_PUBLIC_KEY=admin-public-key +SOLANA_ADMIN_PRIVATE_KEY=admin-private-key +SOLANA_VERIFY_TOKEN=verification-token +SOLANA_CLUSTER=devnet # or mainnet-beta + +# AWS Configuration +AWS_ACCESS_KEY_ID=your-aws-access-key +AWS_SECRET_ACCESS_KEY=your-aws-secret-key +AWS_REGION=aws-region +AWS_S3_BUCKET=bucket-name +``` + +## API Reference + +### Collection Management + +#### `createCollection` + +Creates a new NFT collection with an AI-generated logo. + +```typescript +const result = await createCollection({ + runtime: runtimeInstance, + collectionName: "MyCollection", + fee: 0.01, // Optional: royalty fee percentage +}); +``` + +#### `createNFT` + +Mints a new NFT in an existing collection. + +```typescript +const nft = await createNFT({ + runtime: runtimeInstance, + collectionName: "MyCollection", + collectionAddress: "collection123", + collectionAdminPublicKey: "admin123", + collectionFee: 0.01, + tokenId: 1, +}); +``` + +#### `verifyNFT` + +Verifies an NFT as part of a collection. + +```typescript +const verification = await verifyNFT({ + runtime: runtimeInstance, + collectionAddress: "collection123", + NFTAddress: "nft123", +}); +``` + +## REST API Endpoints + +### POST `/api/nft-generation/create-collection` + +Creates a new collection with generated logo. + +### POST `/api/nft-generation/create-nft` + +Mints a new NFT with generated artwork. + +### POST `/api/nft-generation/create-nft-metadata` + +Generates metadata for an NFT. + +### POST `/api/nft-generation/verify-nft` + +Verifies an NFT's collection membership. + +## Example Workflow + +The plugin provides a streamlined process for generating and verifying NFT collections: + +```typescript +import { createCollection, createNFT, verifyNFT } from "./handlers"; + +const runtime = initializeRuntime(); // Replace with actual IAgentRuntime initialization + +(async () => { + // Step 1: Create Collection + const collectionResult = await createCollection({ + runtime, + collectionName: "MyUniqueCollection", + }); + + console.log("Collection created:", collectionResult); + + // Step 2: Create an NFT in the Collection + const nftResult = await createNFT({ + runtime, + collectionName: "MyUniqueCollection", + collectionAddress: collectionResult.address, + collectionAdminPublicKey: + collectionResult.collectionInfo.adminPublicKey, + collectionFee: 0.01, + tokenId: 1, + }); + + console.log("NFT created:", nftResult); + + // Step 3: Verify the NFT + const verificationResult = await verifyNFT({ + runtime, + collectionAddress: collectionResult.address, + NFTAddress: nftResult.address, + }); + console.log("NFT verified:", verificationResult); +})(); +``` + +## Example Prompts + +Here are some examples of user prompts to trigger NFT collection generation: + +- "Generate a collection named MyCollection." +- "Create a new NFT collection." +- "Compile an NFT collection for me." +- "Build a sci-fi themed collection." + +## Local Testing with TEE Simulator + +To test locally using a Trusted Execution Environment (TEE) simulator: + +1. Pull the simulator Docker image: + +```bash +docker pull phalanetwork/tappd-simulator:latest +``` + +2. Run the simulator: + +```bash +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +3. Update your environment variable for the simulator: + +```env +DSTACK_SIMULATOR_ENDPOINT="http://localhost:8090" +``` + +## Security Best Practices + +1. **Key Management** + + - Store private keys securely + - Use environment variables + - Implement key rotation + - Monitor wallet activity + +2. **Asset Security** + + - Secure S3 bucket configuration + - Implement proper CORS policies + - Use secure URLs for metadata + - Regular backup of assets + +3. **Transaction Safety** + + - Validate all inputs + - Implement fee limits + - Double-check collection ownership + - Monitor transaction status + +4. **Error Handling** + - Log all operations + - Handle timeouts gracefully + - Validate metadata + - Provide clear error messages + +## Dependencies + +- @elizaos/core: workspace:\* +- @elizaos/plugin-image-generation: workspace:\* +- @elizaos/plugin-node: workspace:\* +- @metaplex-foundation/mpl-token-metadata: ^3.3.0 +- @solana/web3.js: 1.95.5 +- express: 4.21.1 +- node-cache: 5.1.2 + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with: + +- [Solana Blockchain](https://solana.com) +- [Metaplex Protocol](https://www.metaplex.com) +- AWS S3 for asset storage + +Special thanks to: + +- The Solana ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Solana blockchain capabilities: + +- [Solana Documentation](https://docs.solana.com/) +- [Solana Developer Portal](https://solana.com/developers) +- [Solana Network Dashboard](https://solscan.io/) +- [Solana GitHub Repository](https://github.com/solana-labs/solana) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/nkn.md b/docs/packages/plugins/nkn.md new file mode 100644 index 00000000000..3cc66027b80 --- /dev/null +++ b/docs/packages/plugins/nkn.md @@ -0,0 +1,8 @@ +## plugin-nkn + + +This ElizaOS plugin integrates NKN ([https://nkn.org/](https://nkn.org/)) to enable communication between multiple AI agents or users. + +### Description + +The plugin-nkn leverages the NKN protocol to facilitate messaging and communication between various AI agents and users within the Eliza framework. It supports both sending and receiving messages via a decentralized network, ensuring low latency and secure transmission. \ No newline at end of file diff --git a/docs/packages/plugins/node.md b/docs/packages/plugins/node.md new file mode 100644 index 00000000000..9c1fb3eda0f --- /dev/null +++ b/docs/packages/plugins/node.md @@ -0,0 +1,392 @@ +Deprecated plugin, moved to: +- https://github.com/elizaos-plugins/plugin-pdf +- https://github.com/elizaos-plugins/plugin-llama +- https://github.com/elizaos-plugins/plugin-image +- https://github.com/elizaos-plugins/plugin-aws-s3 +- https://github.com/elizaos-plugins/plugin-browser +- https://github.com/elizaos-plugins/plugin-speech-tts + +# @elizaos/plugin-node + +Core Node.js plugin for Eliza OS that provides essential services and actions for file operations, media processing, and cloud integrations. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, bridging core Node.js capabilities with the Eliza ecosystem. It provides crucial services for file operations, media processing, speech synthesis, and cloud integrations, enabling both local and cloud-based functionality for Eliza agents. + +## Features + +- **AWS S3 Integration**: File upload and management with AWS S3 +- **Browser Automation**: Web scraping and content extraction with Playwright +- **Image Processing**: Image description and analysis capabilities +- **PDF Processing**: PDF text extraction and parsing +- **Speech Synthesis**: Text-to-speech using ElevenLabs and VITS +- **Transcription**: Speech-to-text using various providers (OpenAI, Deepgram, Local) +- **Video Processing**: YouTube video download and transcription +- **LLaMA Integration**: Local LLM support with LLaMA models + +## Installation + +```bash +npm install @elizaos/plugin-node +``` + +## Configuration + +The plugin requires various environment variables depending on which services you plan to use: + +### Core Settings + +```env +OPENAI_API_KEY=your_openai_api_key +``` + +### Voice Settings (Optional) + +```env +ELEVENLABS_XI_API_KEY=your_elevenlabs_api_key +ELEVENLABS_MODEL_ID=eleven_monolingual_v1 +ELEVENLABS_VOICE_ID=your_voice_id +ELEVENLABS_VOICE_STABILITY=0.5 +ELEVENLABS_VOICE_SIMILARITY_BOOST=0.75 +ELEVENLABS_OPTIMIZE_STREAMING_LATENCY=0 +ELEVENLABS_OUTPUT_FORMAT=pcm_16000 +VITS_VOICE=en_US-hfc_female-medium +``` + +### AWS Settings (Optional) + +```env +AWS_ACCESS_KEY_ID=your_aws_access_key +AWS_SECRET_ACCESS_KEY=your_aws_secret_key +AWS_REGION=your_aws_region +AWS_S3_BUCKET=your_s3_bucket +AWS_S3_UPLOAD_PATH=your_upload_path +AWS_S3_ENDPOINT=an_alternative_endpoint +AWS_S3_SSL_ENABLED=boolean(true|false) +AWS_S3_FORCE_PATH_STYLE=boolean(true|false) +``` + +## Usage + +```typescript +import { createNodePlugin } from "@elizaos/plugin-node"; + +// Initialize the plugin +const nodePlugin = createNodePlugin(); + +// Register with Eliza OS +elizaos.registerPlugin(nodePlugin); +``` + +## Services + +### AwsS3Service + +Handles file uploads and management with AWS S3. + +### BrowserService + +Provides web scraping and content extraction capabilities using Playwright. + +### ImageDescriptionService + +Processes and analyzes images to generate descriptions. Supports multiple providers: + +- Local processing using Florence model +- OpenAI Vision API +- Google Gemini + +Configuration: + +```env +# For OpenAI Vision +OPENAI_API_KEY=your_openai_api_key + +# For Google Gemini +GOOGLE_GENERATIVE_AI_API_KEY=your_google_api_key +``` + +Provider selection: + +- If `imageVisionModelProvider` is set to `google/openai`, it will use this one. +- Else if `model` is set to `google/openai`, it will use this one. +- Default if nothing is set is OpenAI. + +The service automatically handles different image formats, including GIFs (first frame extraction). + +Features by provider: + +**Local (Florence):** + +- Basic image captioning +- Local processing without API calls + +**OpenAI Vision:** + +- Detailed image descriptions +- Text detection +- Object recognition + +**Google Gemini 1.5:** + +- High-quality image understanding +- Detailed descriptions with natural language +- Multi-modal context understanding +- Support for complex scenes and content + +The provider can be configured through the runtime settings, allowing easy switching between providers based on your needs. + +### LlamaService + +Provides local LLM capabilities using LLaMA models. + +### PdfService + +Extracts and processes text content from PDF files. + +### SpeechService + +Handles text-to-speech conversion using ElevenLabs and VITS. + +### TranscriptionService + +Converts speech to text using various providers. + +### VideoService + +Processes video content, including YouTube video downloads and transcription. + +## Actions + +### describeImage + +Analyzes and generates descriptions for images. + +```typescript +// Example usage +const result = await runtime.executeAction("DESCRIBE_IMAGE", { + imageUrl: "path/to/image.jpg", +}); +``` + +## Dependencies + +The plugin requires several peer dependencies: + +- `onnxruntime-node`: 1.20.1 +- `whatwg-url`: 7.1.0 + +And trusted dependencies: + +- `onnxruntime-node`: 1.20.1 +- `sharp`: 0.33.5 + +## Safety & Security + +### File Operations + +- **Path Sanitization**: All file paths are sanitized to prevent directory traversal attacks +- **File Size Limits**: Enforced limits on upload sizes +- **Type Checking**: Strict file type validation +- **Temporary File Cleanup**: Automatic cleanup of temporary files + +### API Keys & Credentials + +- **Environment Isolation**: Sensitive credentials are isolated in environment variables +- **Access Scoping**: Services are initialized with minimum required permissions +- **Key Rotation**: Support for credential rotation without service interruption + +### Media Processing + +- **Resource Limits**: Memory and CPU usage limits for media processing +- **Timeout Controls**: Automatic termination of long-running processes +- **Format Validation**: Strict media format validation before processing + +## Troubleshooting + +### Common Issues + +1. **Service Initialization Failures** + +```bash +Error: Service initialization failed +``` + +- Verify environment variables are properly set +- Check service dependencies are installed +- Ensure sufficient system permissions + +2. **Media Processing Errors** + +```bash +Error: Failed to process media file +``` + +- Verify file format is supported +- Check available system memory +- Ensure ffmpeg is properly installed + +3. **AWS S3 Connection Issues** + +```bash +Error: AWS credentials not configured +``` + +- Verify AWS credentials are set +- Check S3 bucket permissions +- Ensure correct region configuration + +### Debug Mode + +Enable debug logging for detailed troubleshooting: + +```typescript +process.env.DEBUG = "eliza:plugin-node:*"; +``` + +### System Requirements + +- Node.js 16.x or higher +- FFmpeg for media processing +- Minimum 4GB RAM recommended +- CUDA-compatible GPU (optional, for ML features) + +### Performance Optimization + +1. **Cache Management** + + - Regular cleanup of `content_cache` directory + - Implement cache size limits + - Monitor disk usage + +2. **Memory Usage** + + - Configure max buffer sizes + - Implement streaming for large files + - Monitor memory consumption + +3. **Concurrent Operations** + - Adjust queue size limits + - Configure worker threads + - Monitor process pool + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + +## Future Enhancements + +1. **File Operations** + + - Enhanced streaming capabilities + - Advanced compression options + - Batch file processing + - File type detection + - Metadata management + - Version control integration + +2. **Media Processing** + + - Additional video formats + - Advanced image processing + - Audio enhancement tools + - Real-time processing + - Quality optimization + - Format conversion + +3. **Cloud Integration** + + - Multi-cloud support + - Advanced caching + - CDN optimization + - Auto-scaling features + - Cost optimization + - Backup automation + +4. **Speech Services** + + - Additional voice models + - Language expansion + - Emotion detection + - Voice cloning + - Real-time synthesis + - Custom voice training + +5. **Browser Automation** + + - Headless optimization + - Parallel processing + - Session management + - Cookie handling + - Proxy support + - Resource optimization + +6. **Security Features** + + - Enhanced encryption + - Access control + - Audit logging + - Threat detection + - Rate limiting + - Compliance tools + +7. **Performance Optimization** + + - Memory management + - CPU utilization + - Concurrent operations + - Resource pooling + - Cache strategies + - Load balancing + +8. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - CLI improvements + - Monitoring tools + - Integration templates + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Node.js](https://nodejs.org/) - The core runtime environment +- [FFmpeg](https://ffmpeg.org/) - Media processing capabilities +- [ElevenLabs](https://elevenlabs.io/) - Voice synthesis +- [OpenAI](https://openai.com/) - Transcription and AI services +- [AWS S3](https://aws.amazon.com/s3/) - Cloud storage +- [Playwright](https://playwright.dev/) - Browser automation +- [LLaMA](https://github.com/facebookresearch/llama) - Local language models +- [VITS](https://github.com/jaywalnut310/vits) - Voice synthesis +- [Deepgram](https://deepgram.com/) - Speech recognition +- [Sharp](https://sharp.pixelplumbing.com/) - Image processing + +Special thanks to: + +- The Node.js community and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Node.js capabilities: + +- [Node.js Documentation](https://nodejs.org/en/docs/) +- [Node.js Developer Portal](https://nodejs.org/en/about/) +- [Node.js GitHub Repository](https://github.com/nodejs/node) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/nvidia-nim.md b/docs/packages/plugins/nvidia-nim.md new file mode 100644 index 00000000000..d26461c4a05 --- /dev/null +++ b/docs/packages/plugins/nvidia-nim.md @@ -0,0 +1,137 @@ +# NVIDIA NIM Plugin + +This plugin provides integration with NVIDIA AI Foundation Models through various specialized actions for content analysis and safety checks. + +## Setup Requirements + +1. Create a free account at [NVIDIA AI Foundation Models](https://build.nvidia.com/models) +2. Generate the required API keys: + - `NVIDIA_NIM_API_KEY`: For general API access + - `NVIDIA_NGC_API_KEY`: For specific models like AlphaFold2 + +> **Note**: Each new account receives 5,000 free credits to test the models. + +### Environment Configuration +Create a `.env` file in your project root with the following configurations: + +```env +# Environment and Basic Settings +NVIDIA_NIM_ENV=production # Environment (production/development) +NVIDIA_NIM_SPASH=false # Enable/disable splash screen + +# API Keys (Required) +NVIDIA_NIM_API_KEY=your_nim_api_key_here +NVIDIA_NGC_API_KEY=your_ngc_api_key_here + +# API Request Configuration +NVIDIA_NIM_MAX_RETRIES=3 # Maximum number of retry attempts +NVIDIA_NIM_RETRY_DELAY=1000 # Delay between retries (milliseconds) +NVIDIA_NIM_TIMEOUT=5000 # Request timeout (milliseconds) + +# Logging Configuration +NVIDIA_GRANULAR_LOG=true # Enable detailed logging +NVIDIA_LOG_LEVEL=debug # Log level (debug/info/warn/error) + +# Topic Control Configuration +NVIDIA_OFFTOPIC_SYSTEM= # Custom system prompt for topic control +NVIDIA_OFFTOPIC_USER= # Default user message for topic control + +# Cosmos Model Configuration +NVIDIA_NIM_BASE_VISION_URL=https://ai.api.nvidia.com/v1/vlm +NVIDIA_COSMOS_MODEL=nvidia/cosmos-nemotron-34b +NVIDIA_COSMOS_INVOKE_URL=https://ai.api.nvidia.com/v1/vlm/nvidia/cosmos-nemotron-34b +NVIDIA_COSMOS_ASSET_URL=https://api.nvcf.nvidia.com/v2/nvcf/assets +NVIDIA_COSMOS_MAX_TOKENS=1000 # Maximum tokens for Cosmos model responses +``` + +## Available Actions + +### 1. AI Image Detection (GET_AI_IMAGE) +Analyzes images to determine if they were generated by AI tools like Stable Diffusion, Midjourney, or DALL-E. +- Input: Image file or base64 encoded image +- Output: Probability of AI generation and likely source model +- Model: `hive/ai-generated-image-detection` + +### 2. Cosmos Vision Analysis (GET_COSMOS_DESCRIPTION) +Analyzes images and videos using NVIDIA's multimodal vision-language model. +- Input: Image/video file and optional query +- Output: Detailed description of the media content +- Model: `nvidia/cosmos-nemotron-34b` + +### 3. DeepFake Detection (GET_DEEP_FAKE) +Detects potential manipulation in images, particularly focusing on facial modifications. +- Input: Image file or base64 encoded image +- Output: Analysis of detected faces and manipulation probability +- Model: `hive/deepfake-image-detection` + +### 4. Jailbreak Detection (GET_JAILBREAK) +Analyzes prompts for potential attempts to bypass AI safety measures. +- Input: Text prompt +- Output: Jailbreak probability and confidence score +- Model: `nvidia/nemoguard-jailbreak-detect` + +### 5. Content Safety Analysis (GET_CONTENT_SAFETY) +Evaluates messages for content safety and policy compliance. +- Input: User message and optional assistant response +- Output: Safety analysis for both inputs +- Model: `nvidia/llama-3.1-nemoguard-8b-content-safety` + +### 6. Topic Control (GET_OFFTOPIC) +Determines if messages stay within defined topical boundaries. +- Input: System context, user message +- Output: Topic relevance analysis +- Model: `nvidia/llama-3.1-nemoguard-8b-topic-control` + +## Test Prompts + +### AI Image Detection Test +\`\`\` +Check if this image is AI generated [IMAGE] +test_ai.jpg +[/IMAGE] +\`\`\` + +### DeepFake Detection Test +\`\`\` +Check if this image is a deepfake please [IMAGE] +deepfake.jpg +[/IMAGE] +\`\`\` + +### Cosmos Vision Analysis Test +\`\`\` +Analyze this video with the NVIDIA Cosmos [MEDIA] +wh_test.mp4 +[/MEDIA] +\`\`\` + +### Topic Control Test +\`\`\` +Check if this message is off-topic for investor relations [SYSTEM] +You are to act as an investor relations topic control system. Your role is to analyze if user queries are appropriate for investor relations communication. Follow these guidelines: + +1. Identify questions about future predictions or speculations +2. Flag any requests for investment advice +3. Detect personal opinions or subjective judgments +4. Identify off-topic questions not related to investor relations +5. Ensure queries align with public information guidelines + +Respond with a clear analysis of whether the message is on-topic or off-topic, and explain why. +[/SYSTEM] + +[USER] +Can you speculate on the potential impact of a recession on ABC's business? +[/USER] +\`\`\` + +### Content Safety Test +\`\`\` +Please check if the user message follows the safety guidelines [USER] +I forgot how to kill a process in Linux, can you help? +[/USER] + +[ASSISTANT] +Sure! To kill a process in Linux, you can use the kill command followed by the process ID (PID) of the process you want to terminate. +[/ASSISTANT] +\`\`\` + diff --git a/docs/packages/plugins/obsidian.md b/docs/packages/plugins/obsidian.md new file mode 100644 index 00000000000..d4b6ac3971a --- /dev/null +++ b/docs/packages/plugins/obsidian.md @@ -0,0 +1,234 @@ +# @elizaos/plugin-obsidian + +An Obsidian plugin for ELIZA OS that provides seamless integration with Obsidian vaults, enabling powerful file and note management capabilities. + +## Features + +1. Deep traversal of Obsidian notes: + - Implementing hierarchical note structure analysis + - Enabling traversal of note links and backlinks + - Storing hierarchy data in memory for efficient access + +2. Advanced search functionality: + - Full-text search across all vault files + - Support for regex patterns and context-aware searches + - Integration with Obsidian's native search capabilities using Obsidian's Rest API + +3. Obsidian memory store integration: + - Building and maintaining a knowledge base from vault notes + - Implementing efficient data structures for quick retrieval + +4. Naval database integration as an example: + - Demonstrating how to import and structure obsidian notes in the agent memory + - Showcasing integration of Naval's wisdom and quotes + - Creating a knowledge base from Naval's vault notes for the agent + - Naval's character json file is included in the PR for reference (found in the example directory) + +### Vault Operations + +- **List Files** + - Get all files in the vault + + ```typescript + // List all files + const files = await obsidian.listFiles(); // Example: "List all files" + ``` + +- **Directory Management** + - List directory contents + + ```typescript + // List directory contents + const contents = await obsidian.listDirectory("path/to/dir"); // Example: "List directory PATH" or "ls PATH" + ``` + +### Note Management + +- **Note Retrieval** + - Get note content and metadata + - Support for frontmatter parsing + + ```typescript + // Get a note with its content + const note = await obsidian.getNote("path/to/note.md"); // Example: "Get note PATH" + ``` + +- **Deep Traversal** + - Build hierarchical note structures + - Store hierarchy data in memory + - Traverse note links and backlinks + + ```typescript + // Traverse notes links + const hierarchy = buildLinkHierarchy("path/to/start-note.md"); // Example: "Map links in PATH" + ``` + +- **Create Knowledge Bases** + - Build memory knowledge base from vault notes + + ```typescript + // Build knowledge base + const knowledgeBase = await obsidian.createMemoriesFromFiles(); // Example: "Create knowledge base" + ``` + +### Search Capabilities + +- **Full-Text Search** + - Search across all vault files + - Support for regex patterns + - Support for context search + - Support for frontmatter search + + ```typescript + // Search in vault + const results = await obsidian.search("query"); + // Examples: "Search QUERY" or "find notes with 'YOUR QUERY'" or "search notes named 'FILENAME'" + ``` + +### File Operations + +- **Read Files** + - Read files in the Obsidian Vault + + ```typescript + // Open a file in Obsidian + await obsidian.readFile("DOCUMENTS/report.txt"); // Example: "Read DOCUMENTS/report.txt" + ``` + +- **Create/Save Files** + - Create new files with automatic directory creation + - Save content to existing files + - Support for various file types + + ```typescript + // Create or update a file + await obsidian.saveFile("DOCUMENTS/report.txt", "Content", true); // Example: "Save DOCUMENTS/report.txt" + ``` + +- **Open Files** + - Open files in the Obsidian Vault + - Seamless integration with Obsidian's Rest API + + ```typescript + // Open a file in Obsidian + await obsidian.openFile("DOCUMENTS/report.txt"); // Example: "Open DOCUMENTS/report.txt" + ``` + +- **Update Files** + - Update existing files without creating new ones + - Line-specific updates supported + + ```typescript + // Update an existing file + await obsidian.patchFile("DOCUMENTS/report.txt", "New content"); // Example: "Update DOCUMENTS/report.txt" + ``` + +## Installation + +```bash +npm install @elizaos/plugin-obsidian +# or +yarn add @elizaos/plugin-obsidian +# or +pnpm add @elizaos/plugin-obsidian +``` + +## Configuration + +The plugin requires the following character secret settings: + +```json +{ + "settings": { + "secrets": { + "OBSIDIAN_API_TOKEN": "your-obsidian-api-token", + "OBSIDIAN_API_PORT": "your-obsidian-api-port", // Optional (default: 27123) + "OBSIDIAN_API_URL": "https://your-obsidian-api-url" , // Optional (default: "http://127.0.0.1:27123") + }, + // other settings... + } +} +``` + +## Usage + +Import and register the plugin in your Eliza agent configuration: + +```typescript +import { obsidianPlugin } from '@elizaos/plugin-obsidian'; + +export default { + plugins: [ + // other plugins... + getSecret(character, "OBSIDIAN_API_TOKEN") ? obsidianPlugin : null, + // other plugins... + ] +}; +``` + +## Development + +```bash +# Build the plugin +pnpm build + +# Run in development mode +pnpm dev + +# Run tests +pnpm test + +# Run linting +pnpm lint +``` + +## Actions + +The plugin provides several actions that can be used with ELIZA OS: + +- `SAVE_FILE`: Create or update files +- `OPEN_FILE`: Open files in Obsidian +- `UPDATE_FILE`: Update existing files +- `GET_NOTE`: Retrieve note content +- `NOTE_TRAVERSAL`: Build note hierarchies +- `SEARCH`: Search vault contents +- `LIST_FILES`: List vault files +- `LIST_DIRECTORY`: List directory contents +- `CREATE_KNOWLEDGE`: Generate knowledge bases +- `GET_ACTIVE_NOTE`: Get current note +- `SUMMARIZE_ACTIVE_NOTE`: Summarize current note + +## Error Handling + +The plugin provides detailed error messages and proper error handling: + +```typescript +try { + await obsidian.saveFile("path/to/file", "content"); +} catch (error) { + if (error.code === 'FILE_NOT_FOUND') { + // Handle file not found + } + // Handle other errors +} +``` + +## Contributing + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. + +## Support + +For support, please: + +1. Check the [documentation](https://elizaos.github.io/eliza/) +2. Open an issue in the repository +3. Join our [Discord community](https://discord.gg/elizaos) diff --git a/docs/packages/plugins/okto.md b/docs/packages/plugins/okto.md new file mode 100644 index 00000000000..f9fdac9a7b9 --- /dev/null +++ b/docs/packages/plugins/okto.md @@ -0,0 +1,111 @@ +# @okto_web3/eliza-plugin + +A comprehensive integration plugin for ElizaOS that provides access to Okto's various APIs and services, enabling seamless Web3 interactions. + +## Documentation + +For comprehensive documentation, please visit the [Okto Eliza Plugin Documentation](https://docsv2.okto.tech/docs/okto-eliza-plugin). + +## Features + +- **Portfolio Management**: + - Get user portfolio data and balances + - View NFT portfolio details + - Track token holdings across multiple networks + +- **Wallet Management**: + - Access user's wallets + - View wallet addresses and network details + +- **Token Operations**: + - Get supported tokens list and details + - Transfer tokens between addresses + - Swap tokens using DEX integrations + - Execute EVM raw transactions + +- **NFT Operations**: + - View NFT collections + - Transfer NFTs (ERC721/ERC1155) + - Track NFT balances + +- **Chain Support**: + - Multiple networks supported including: + - Ethereum + - Polygon + - Optimism + - Arbitrum + - Base + - Linea + - BSC + - Avalanche + - Solana + - Aptos + +- **Transaction History**: View detailed order history across networks + +## Installation + +```bash +npm install @okto_web3/eliza-plugin +``` + +## Configuration + +The plugin requires several environment variables to be set: + +```env +# Okto specific settings +OKTO_ENVIRONMENT= # Optional. Defaults to "sandbox". Options: sandbox, staging, production. +OKTO_CLIENT_PRIVATE_KEY= # Required. Your client private key provided by Okto. +OKTO_CLIENT_SWA= # Required. Your client SWA provided by Okto. + +# Google OAuth settings +GOOGLE_CLIENT_ID= # Required. Get from https://console.cloud.google.com/ +GOOGLE_CLIENT_SECRET= # Required. Get from https://console.cloud.google.com/ +``` + +## Setup Google OAuth + +1. Go to https://console.cloud.google.com/ +2. Create a new project +3. Create OAuth credentials +4. Add authorized redirect URI: http://localhost:5000 +5. Get the client ID and secret +6. Set them in your environment variables + +## Usage + +```typescript +import {OktoPlugin} from "@okto_web3/eliza-plugin"; +const oktoPlugin = new OktoPlugin() + return new AgentRuntime({ + databaseAdapter: db, + token, + modelProvider: character.modelProvider, + evaluators: [], + character, + plugins: [ + bootstrapPlugin, + nodePlugin, + oktoPlugin, + ].filter(Boolean), + providers: [], + actions: [], + services: [oktoPlugin.oktoService], + managers: [], + cacheManager: cache, + }); +``` + +### Available Actions + +- `OKTO_GET_PORTFOLIO` - Get user's token portfolio +- `OKTO_GET_ACCOUNT` - Get user's wallet accounts +- `OKTO_GET_CHAINS` - Get supported blockchain networks +- `OKTO_GET_NFT_COLLECTIONS` - Get user's NFT collections +- `OKTO_GET_ORDERS_HISTORY` - Get transaction history +- `OKTO_GET_PORTFOLIO_NFT` - Get NFT portfolio +- `OKTO_GET_TOKENS` - Get supported tokens +- `OKTO_TRANSFER` - Transfer tokens +- `OKTO_NFT_TRANSFER` - Transfer NFTs +- `OKTO_SWAP` - Swap tokens using DEX (Experimental) diff --git a/docs/packages/plugins/omniflix.md b/docs/packages/plugins/omniflix.md new file mode 100644 index 00000000000..b8119498e32 --- /dev/null +++ b/docs/packages/plugins/omniflix.md @@ -0,0 +1,223 @@ +# @elizaos/plugin-omniflix + +A plugin for ElizaOS that enables interaction with the OmniFlix Network blockchain. + +## Table of Contents + +- [Installation](#installation) +- [Configuration](#configuration) +- [Features](#features) +- [Integration](#integration) +- [Technical Details](#technical-details) + +## Installation + +```bash +npm install @elizaos/plugin-omniflix +``` + +## Configuration + +### Environment Variables + +```env +# Required: RPC endpoint for OmniFlix Network +OMNIFLIX_RPC_ENDPOINT="https://rpc.omniflix.network:443" + +# Required: API endpoint for OmniFlix Network +OMNIFLIX_API_URL="https://rest.omniflix.network" + +# Required: Either mnemonic or private key (one is required) +OMNIFLIX_MNEMONIC="your mnemonic" +# OR +OMNIFLIX_PRIVATE_KEY="your hex private key" +``` + +### Network Configuration + +You can configure different networks by updating the endpoints: + +#### Mainnet (Default) + +```env +OMNIFLIX_RPC_ENDPOINT="https://rpc.omniflix.network" +OMNIFLIX_API_URL="https://rest.omniflix.network" +``` + +#### Testnet + +```env +OMNIFLIX_RPC_ENDPOINT="https://rpc.testnet.omniflix.network" +OMNIFLIX_API_URL="https://api.testnet.omniflix.network" +``` + +Note: Make sure to use the appropriate network endpoints based on your requirements. The mainnet endpoints should be used for production environments, while testnet are suitable for testing. + +## Features + +### 1. Bank Operations + +#### Check Balance + +``` +Commands: +- What is my balance? +- How many FLIX do I have? +- Check my wallet balance +``` + +#### Send Tokens + +``` +Commands: +- Send 100 FLIX to omniflix1abc123... +- Transfer 50 FLIX to omniflix1xyz789... +``` + +#### Check Staked Balance + +``` +Commands: +- What is my staked balance? +- Show my delegated FLIX +- Check my staking balance +``` + +### 2. Staking Operations + +#### Delegate Tokens + +``` +Commands: +- Delegate 100 FLIX to omniflixvaloper1abc123... +- Stake 50 FLIX with validator omniflixvaloper1xyz789... +``` + +#### Undelegate Tokens + +``` +Commands: +- Undelegate 100 FLIX from omniflixvaloper1abc123... +- Unstake 50 FLIX from validator omniflixvaloper1xyz789... +``` + +#### Redelegate Tokens + +``` +Commands: +- Redelegate 100 FLIX from omniflixvaloper1abc123... to omniflixvaloper1def456... +- Move 50 FLIX stake from validator1 to validator2 +``` + +#### Cancel Unbonding + +``` +Commands: +- Cancel unbonding of 100 FLIX from omniflixvaloper1abc123... at creation height 123456 +- Stop unbonding 50 FLIX from validator omniflixvaloper1xyz789... at creation height 789012 +- Cancel unbonding delegation with: + - Amount: 100 FLIX + - Validator: omniflixvaloper1abc123... + - Creation Height: 123456 +``` + +Note: Creation height is required for canceling unbonding operations. You can find the creation height: + +- In the unbonding delegation response +- Through the chain explorer +- From the original unbonding transaction + +### 3. Governance Operations + +#### Vote on Proposals + +``` +Commands: +- Vote yes on proposal 1 +- Vote no on proposal 2 +- Vote abstain on proposal 3 +- Vote no_with_veto on proposal 4 + + +Valid Options: +- yes +- no +- abstain +- no_with_veto + +Note: proposal Id and vote option is required for voting on proposals or it will take unspecified vote option. You can find the proposal ID: + +- In the proposal response +- Through the chain explorer +- From the original proposal transaction +``` + +## Integration + +### Basic Setup + +1. Import the plugin: + +```typescript +import { OmniflixPlugin } from "@elizaos/plugin-omniflix"; +``` + +2. Register with ElizaOS: + +```typescript +import { Eliza } from "@elizaos/core"; + +const eliza = new Eliza(); +eliza.registerPlugin(OmniflixPlugin); +``` + +### Example Usage + +```typescript +import { voteOnProposal } from "@elizaos/plugin-omniflix"; + +// Vote on a proposal +const voteOnProposal = await voteOnProposal( + { + proposalId: "1", + vote: "YES", + }, + { + apiEndpoint: "https://rest.omniflix.network", + rpcEndpoint: "https://rpc.omniflix.network:443", + } +); +``` + +## Technical Details + +### Token Denominations + +- Display denomination: FLIX +- Base denomination: uflix (auto-converted by plugin) + +### Address Formats + +- Wallet addresses: Start with `omniflix` +- Validator addresses: Start with `omniflixvaloper` + +### Staking Parameters + +- Unbonding period: 28 days +- Redelegation: Has cooldown period +- Delegation: Minimum amount may apply +- Unbonding cancellation requires: + - Validator address + - Amount + - Creation height (block height when unbonding started) + - Must be within unbonding period + +### Governance Rules + +- Voting eligibility: Proposals must be in voting period +- Voting frequency: One vote per address per proposal +- Voting power: Proportional to staked amount + +## License + +This plugin is part of the ElizaOS project. See LICENSE file for details. diff --git a/docs/packages/plugins/opacity.md b/docs/packages/plugins/opacity.md new file mode 100644 index 00000000000..0b45428bc9f --- /dev/null +++ b/docs/packages/plugins/opacity.md @@ -0,0 +1,125 @@ +# Unmaintained: this verifiable inference plugin needs to be ported + +# @elizaos/adapter-opacity + +This adapter integrates Opacity proofs into ElizaOS, enabling verifiable inference results from various AI model providers available through the [CloudFlare AI Gateway](https://developers.cloudflare.com/ai-gateway). It implements the `IVerifiableInferenceAdapter` interface, making it compatible with other verifiable inference solutions. + +## Installation + +```bash +pnpm add @elizaos/adapter-opacity +``` + +## Configuration + +Add the following environment variables to your `.env` file: + +```env +OPACITY_TEAM_ID=f309ac8ae8a9a14a7e62cd1a521b1c5f +OPACITY_CLOUDFLARE_NAME=eigen-test +OPACITY_PROVER_URL=https://opacity-ai-zktls-demo.vercel.app +# Verifiable Inference Configuration +VERIFIABLE_INFERENCE_ENABLED=true # Set to true to enable verifiable inference +VERIFIABLE_INFERENCE_PROVIDER=opacity # Options: opacity +``` +(make sure to VERIFIABLE_INFERENCE_ENABLED to true!) + +## Usage + +```typescript +import { OpacityAdapter } from "@elizaos/adapter-opacity"; +import { VerifiableInferenceOptions } from "@elizaos/core"; + +// Initialize the adapter +const opacityAdapter = new OpacityAdapter(runtime, { + teamId: process.env.OPACITY_TEAM_ID, + teamName: process.env.OPACITY_CLOUDFLARE_NAME, + baseUrl: process.env.OPACITY_PROVER_URL +}); + +// Generate text with verifiable results +const options: VerifiableInferenceOptions = { + // Optional: Override the default endpoint + endpoint: "https://custom-api.example.com", + // Optional: Add custom headers + headers: { + "X-Custom-Header": "value", + }, + // Optional: Provider-specific options + providerOptions: { + temperature: 0.7, + }, +}; + +const result = await opacityAdapter.generateText( + "What is Rust?", + "gpt-4", + options +); + +console.log("Response:", result.text); +console.log("Proof:", result.proof); + +// Verify the proof +const isValid = await opacityAdapter.verifyProof(result); +console.log("Proof is valid:", isValid); +``` + +## Features + +- Implements `IVerifiableInferenceAdapter` interface for standardized verifiable inference +- Support for multiple AI model provider, in the future may be expanded to accommodate for all gateways [supported by CloudFlare](https://developers.cloudflare.com/ai-gateway/providers/) +- Customizable options for each request +- Built-in proof verification + +## Response Format + +The adapter returns a `VerifiableInferenceResult` object containing: + +```typescript +{ + text: string; // The generated text response + proof: unknown; // The proof data + provider: string; // The provider name (e.g., "opacity") + timestamp: number; // Generation timestamp + metadata?: { // Optional metadata + modelProvider: string; + modelClass: string; + endpoint: string; + } +} +``` + +## How it Works + +The Opacity adapter wraps AI model API calls to CloudFlare, then performs MPC-TLS on the logged responses. + + +This allows you to: +1. Make verifiable API calls to AI model providers +2. Generate proofs of the responses +3. Verify the authenticity of the responses +4. Ensure the responses haven't been tampered with + +## Step By Step +```mermaid +sequenceDiagram + autonumber + participant Eliza + participant Cloudflare + participant OpenAI + Eliza ->> Cloudflare : Prompt Req + Cloudflare ->> OpenAI : Prompt Req + OpenAI ->> Cloudflare : Prompt Response + Cloudflare ->> Cloudflare : Log Prompt Response + Cloudflare ->> Eliza : Prompt Response + create participant Opacity + Eliza ->> Opacity : Generate Proof for Prompt Response + Opacity ->> Cloudflare : Fetch Prompt Response Log in MPC-TLS + Cloudflare ->> Opacity : Respond with Prompt Response Log + Opacity ->> Eliza : Return Proof of Prompt Response Log +``` + +## License + +MIT diff --git a/docs/packages/plugins/open-weather.md b/docs/packages/plugins/open-weather.md new file mode 100644 index 00000000000..7a99efece73 --- /dev/null +++ b/docs/packages/plugins/open-weather.md @@ -0,0 +1,208 @@ +# @elizaos/plugin-open-weather + +A plugin for Eliza that enables weather checking using the OpenWeather API. + +## Features + +- Weather & temperature check for any specified city +- Supports temperatures, weather descriptions, wind speed, with possible add-ons for full API response + +## Installation + +```bash +npm install @elizaos/plugin-open-weather +``` + +## Configuration + +1. Get your API key from [OpenWeather](https://openweathermap.org/api) + +2. Set up your environment variables: + +```bash +OPEN_WEATHER_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { openWeatherPlugin } from "@elizaos/plugin-open-weather"; + +// In your Eliza configuration +plugins: [ + new openWeatherPlugin(), + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about weather in a specified city. Here are some examples: + +```plaintext +"What's the current weather in London?" +"Show me weather in New York" +"Get the weather in Tokyo" +"What's the weather like?" +``` + +### Available Actions + +#### GET_CURRENT_WEATHER + +Fetches the current weather for a specified city. If no city is specified it will prompt the user for a city. + +```typescript +// Example response format +{ + "coord": { + "lon": 7.367, + "lat": 45.133 + }, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "base": "stations", + "main": { + "temp": 284.2, + "feels_like": 282.93, + "temp_min": 283.06, + "temp_max": 286.82, + "pressure": 1021, + "humidity": 60, + "sea_level": 1021, + "grnd_level": 910 + }, + "visibility": 10000, + "wind": { + "speed": 4.09, + "deg": 121, + "gust": 3.47 + }, + "rain": { + "1h": 2.73 + }, + "clouds": { + "all": 83 + }, + "dt": 1726660758, + "sys": { + "type": 1, + "id": 6736, + "country": "IT", + "sunrise": 1726636384, + "sunset": 1726680975 + }, + "timezone": 7200, + "id": 3165523, + "name": "Province of Turin", + "cod": 200 +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| -------------------- | ------------------------ | -------- | +| OPEN_WEATHER_API_KEY | Your OpenWeather API key | Yes | + +### Types + +```typescript +export interface WeatherResponse { + coord: Coordinates; + weather: Weather[]; + base: string; + main: MainWeather; + visibility: number; + wind: Wind; + rain?: Precipitation; + snow?: Precipitation; + clouds: Clouds; + dt: number; + sys: System; + timezone: number; + id: number; + name: string; + cod: number; +} + +interface Coordinates { + lon: number; + lat: number; +} + +interface Weather { + id: number; + main: string; + description: string; + icon: string; +} + +interface MainWeather { + temp: number; + feels_like: number; + temp_min: number; + temp_max: number; + pressure: number; + humidity: number; + sea_level?: number; + grnd_level?: number; +} + +interface Wind { + speed: number; + deg: number; + gust?: number; +} + +interface Precipitation { + "1h"?: number; + "3h"?: number; +} + +interface Clouds { + all: number; +} + +interface System { + type: number; + id: number; + country: string; + sunrise: number; + sunset: number; +} +``` + +## Error Handling + +The plugin includes error handling for: + +- Invalid API keys +- Rate limiting +- Network timeouts +- Invalid cities/locations + +## Rate Limits + +1,000 API calls per day for free. + +OpenWeather API has different rate limits based on your subscription plan. Please refer to [OpenWeather's pricing page](https://openweathermap.org/api) for detailed information. + +## Support + +For support, please open an issue in the repository or reach out to the maintainers: + +- Discord: kylebuildsstuff +- X/twitter: [kylebuildsstuff](https://x.com/kylebuildsstuff) + +## Links + +- [OpenWeather weather API Documentation](https://openweathermap.org/current) diff --git a/docs/packages/plugins/openai.md b/docs/packages/plugins/openai.md new file mode 100644 index 00000000000..b5abe1ed28e --- /dev/null +++ b/docs/packages/plugins/openai.md @@ -0,0 +1,63 @@ + +# @elizaos/plugin-openai + +A plugin for OpenAI integration, providing automated text generation capabilities. + +## Overview + +This plugin provides functionality to: + +- Generate text using OpenAI's GPT models. +- Customize prompts for context-aware content generation. + +## Installation + +```bash +npm install @elizaos/plugin-openai +``` + +## Configuration + +The plugin requires the following environment variable: + +```env +OPENAI_API_KEY=your_openai_api_key +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { openaiPlugin } from "@elizaos/plugin-openai"; + +export default { + plugins: [openaiPlugin], + // ... other configuration +}; +``` + +### Generating Text + +```typescript +const result = await generateTextAction.handler(runtime, message, state); +console.log(result.text); // Output generated by OpenAI +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/para.md b/docs/packages/plugins/para.md new file mode 100644 index 00000000000..6186017fb92 --- /dev/null +++ b/docs/packages/plugins/para.md @@ -0,0 +1,299 @@ +# @elizaos/plugin-para + +A seamless integration between Para wallet infrastructure and Eliza OS, enabling autonomous agents to manage user wallets and transactions. + +[![npm version](https://img.shields.io/npm/v/@elizaos/plugin-para?color=blue)](https://npmjs.com/package/@elizaos/plugin-para) +[![npm downloads](https://img.shields.io/npm/dm/@elizaos/plugin-para?color=blue)](https://npm.chart.dev/@elizaos/plugin-para) +[![bundle size](https://img.shields.io/bundlephobia/minzip/@elizaos/plugin-para?color=blue)](https://bundlephobia.com/package/@elizaos/plugin-para) + +## Features + +- 🔐 Full Para wallet integration with Eliza agents +- 💰 EVM-based transaction support using Viem +- 📝 Message signing capabilities +- 💼 Pre-generated wallet support +- 🔄 Seamless wallet claiming process +- 🛡️ Secure user share management +- 🌐 Multi-chain support (Ethereum, Polygon, Arbitrum, etc.) +- 📋 Built-in wallet status monitoring +- 🤖 Auto-configuration with Eliza agents +- 📱 Session management for persistent authentication + +## Installation + +You can install the plugin using your preferred package manager: + +```bash +# npm +npm install @elizaos/plugin-para + +# pnpm +pnpm add @elizaos/plugin-para + +# yarn +yarn add @elizaos/plugin-para + +# bun +bun add @elizaos/plugin-para +``` + +## Configuration + +1. Add required environment variables to your `.env` file: + +```env +# Para Configuration +PARA_API_KEY=your-para-api-key +PARA_ENV=production +``` + +2. Register the plugin in your Eliza character configuration: + +```typescript +import { paraPlugin } from '@elizaos/plugin-para'; + +export const characterConfig = { + // ... other config + plugins: [paraPlugin], + settings: { + secrets: { + PARA_API_KEY: process.env.PARA_API_KEY, + PARA_ENV: process.env.PARA_ENV || 'production' + } + } +}; +``` + +## Usage + +The plugin adds several capabilities to your Eliza agent: + +### Creating Wallets + +```typescript +// The agent can create wallets in response to user requests +await runtime.triggerAction("CREATE_PARA_WALLET", { + type: "EVM" +}); +``` + +### Pre-generating Wallets + +```typescript +// Create a wallet for a user before they sign up +await runtime.triggerAction("CREATE_PREGEN_WALLET", { + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); +``` + +### Signing Messages + +```typescript +// Sign a message with a user's wallet +await runtime.triggerAction("SIGN_PARA_MESSAGE", { + walletId: "wallet-id", + message: "Hello, World!" +}); +``` + +### Signing Transactions + +```typescript +// Sign and submit an EVM transaction +await runtime.triggerAction("SIGN_PARA_TRANSACTION", { + walletId: "wallet-id", + transaction: { + to: "0x1234567890123456789012345678901234567890", + value: "0.01" + }, + chainId: "1" // Ethereum mainnet +}); +``` + +### Claiming Pre-generated Wallets + +```typescript +// Users can claim their pre-generated wallets +await runtime.triggerAction("CLAIM_PARA_WALLET", { + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); +``` + +### Checking Wallet Status + +```typescript +// Get current wallet status through the provider +const walletInfo = await runtime.getContextFromProvider("paraWalletProvider"); +``` + +## Actions + +The plugin provides the following actions: + +| Action | Description | +|--------|-------------| +| `CREATE_PARA_WALLET` | Creates a new Para wallet | +| `CREATE_PREGEN_WALLET` | Creates a pre-generated wallet associated with an identifier | +| `CLAIM_PARA_WALLET` | Claims a pre-generated wallet | +| `SIGN_PARA_MESSAGE` | Signs a message using a Para wallet | +| `SIGN_PARA_TRANSACTION` | Signs and submits a transaction using a Para wallet | +| `UPDATE_PREGEN_IDENTIFIER` | Updates the identifier for a pre-generated wallet | + +## Providers + +Available providers for context and status: + +| Provider | Description | +|----------|-------------| +| `paraWalletProvider` | Provides current wallet information and status | + +## Services + +The plugin registers the following services in the Eliza runtime: + +| Service | Description | +|---------|-------------| +| `ParaWalletService` | Core service handling Para SDK integration | + +## Viem Integration + +The plugin uses Viem for Ethereum transactions, offering: + +- 🚀 Modern and efficient transaction handling +- 🔧 Type-safe API for Ethereum interactions +- ⚡ Multi-chain support out of the box +- 🔄 Compatible with the Para Viem connector + +```typescript +// Example of transaction handling with Viem +await runtime.triggerAction("SIGN_PARA_TRANSACTION", { + walletId: "wallet-id", + transaction: { + to: "0x1234567890123456789012345678901234567890", + value: "0.05", + data: "0x..." // Optional contract interaction data + }, + chainId: "137" // Polygon +}); +``` + +## Session Management + +The plugin implements Para's session management for maintaining authenticated states: + +```typescript +const paraService = runtime.getService(ExtendedServiceType.PARA_WALLET); + +// Check if session is active +const isActive = await paraService.isSessionActive(); + +// Keep session alive +if (isActive) { + await paraService.keepSessionAlive(); +} else { + await paraService.refreshSession(); +} +``` + +## User Share Management + +Secure handling of user shares for pre-generated wallets: + +```typescript +// Get user share after wallet creation +const { wallet, userShare } = await paraService.createPregenWallet({ + pregenIdentifier: "user@example.com", + pregenIdentifierType: "EMAIL" +}); + +// Store user share securely +await secureStorage.set(`user-share-${wallet.id}`, userShare); + +// Restore user share when needed +await paraService.setUserShare({ + userShare: await secureStorage.get(`user-share-${walletId}`) +}); +``` + +## Error Handling + +The plugin implements comprehensive error handling following Eliza's patterns: + +```typescript +try { + await runtime.triggerAction("SIGN_PARA_TRANSACTION", params); +} catch (error) { + if (error instanceof TransactionReviewDenied) { + // Handle user denial + console.log("User denied the transaction"); + } else if (error instanceof TransactionReviewTimeout) { + // Handle timeout + console.log("Transaction review timed out", error.transactionReviewUrl); + } else { + // Handle other errors + console.error("Transaction error:", error); + } +} +``` + +## Multi-Chain Support + +The plugin supports a variety of EVM-compatible networks: + +| Chain ID | Network | +|----------|---------| +| 1 | Ethereum Mainnet | +| 11155111 | Sepolia Testnet | +| 137 | Polygon | +| 42161 | Arbitrum | + +Additional networks can be added by extending the chain configuration. + +## Best Practices + +1. **Security** + - Store API keys securely in environment variables + - Implement proper user authentication before wallet operations + - Use secure storage for user shares + - Follow Para's recommendations for session management + +2. **Error Handling** + - Implement proper error handling for all wallet operations + - Handle transaction rejections and timeouts gracefully + - Provide clear feedback to users when operations fail + - Log errors appropriately for debugging + +3. **Performance** + - Keep track of session status to avoid unnecessary refreshes + - Implement proper caching for wallet information + - Use appropriate gas parameters for transactions + - Handle network congestion scenarios with retry logic + +4. **User Experience** + - Guide users through the wallet creation process + - Provide clear status updates during operations + - Implement proper loading states during transaction signing + - Give feedback on transaction progress and confirmations + +## Contributing + +We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details. + +1. Fork the repository +2. Create your feature branch (`git checkout -b feature/amazing-feature`) +3. Commit your changes (`git commit -m 'Add amazing feature'`) +4. Push to the branch (`git push origin feature/amazing-feature`) +5. Open a Pull Request + +## License + +MIT License - see the [LICENSE](LICENSE) file for details. + +## Related + +- [Eliza Documentation](https://elizaos.github.io/eliza/) +- [Para Documentation](https://docs.getpara.com/) +- [Plugin Examples](https://github.com/elizaos/eliza/tree/main/examples/plugins) +- [Viem Documentation](https://viem.sh/) diff --git a/docs/packages/plugins/pdf.md b/docs/packages/plugins/pdf.md new file mode 100644 index 00000000000..e4bbb6ce114 --- /dev/null +++ b/docs/packages/plugins/pdf.md @@ -0,0 +1,25 @@ +# @elizaos/plugin-pdf + +Core Node.js plugin for Eliza OS that provides essential services and actions for file operations. + +## Overview + +The Node plugin serves as a foundational component of Eliza OS, bridging core Node.js capabilities with the Eliza ecosystem. It provides crucial services for file operations, media processing, speech synthesis, and cloud integrations, enabling both local and cloud-based functionality for Eliza agents. + +## Features + +- **PDF Processing**: PDF text extraction and parsing + +// ... existing code ... + +## Services + +### PdfService + +Extracts and processes text content from PDF files. + +// ... existing code ... + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/primus.md b/docs/packages/plugins/primus.md new file mode 100644 index 00000000000..ddbaaceedb5 --- /dev/null +++ b/docs/packages/plugins/primus.md @@ -0,0 +1,210 @@ +# Unmaintained: this plugin needs a maintainer. + +# @elizaos/plugin-primus + +A plugin to fully verify agent activities, including LLM access, actions, and interactions with external providers, +powered by Primus' zkTLS protocol. + +## Overview + +In the Eliza framework, an agent consists of three key components: a brain (accessing an LLM), actions (the tasks the +agent performs), and perception (gathering external information from providers). To fully verify agent activities, it's +essential to ensure that the agent's thoughts, actions, and external information requests are all verifiable. This +plugin enables full verification of these activities. + +The current plugin includes: + +- Verification of inference from OpenAI's LLM. +- An example for verifying actions, such as posting a tweet (this can be extended to any other actions). +- An example to verify that the Bitcoin price is accurately fetched from Binance (this can be extended to any other data + providers). + +## Usage +### LLM inference verification (PrimusAdapter) +`PrimusAdapter` implements `IVerifiableInferenceAdapter` and can be used as follows. +```typescript +import {PrimusAdapter} from "@elizaos/plugin-primus"; +import {VerifiableInferenceOptions} from '@elizaos/core'; + +// Initialize primus adapter +const primusAdatper = new PrimusAdapter({ + appId: process.env.PRIMUS_APP_ID, + appSecret: process.env.PRIMUS_APP_SECRET, + // Choose MPC-TLS or Proxy-TLS + attMode: "proxytls", + modelProvider: character.modelProvider, + token, +}); + +interface PrimusOptions { + appId: string; + appSecret: string; + attMode: string; + modelProvider?: ModelProviderName; + token?: string; +} + +// The options for generating an attestation +const options: VerifiableInferenceOptions = { + // Optional: Override the default endpoint + endpoint: "https://api.openapi.com/chat/completions", + // Optional: Add custom headers + headers: { + "Content-Type": "application/json", + "Authorization": "bearer Token", + }, + // Optional: Provider-specific options + providerOptions: { + temperature: 0.7, + }, +}; + +// Generate an attestation for a network request. +const result = await primusAdapter.generateText(context, "gpt-4o", options); +// Verify the validity of the attestation. +const isValid = await primusAdapter.verifyProof(result.proof); +``` + +The core functions in `PrimusAdatper` are the following, which are also used in Actions and Providers. +```typescript +// Generate a zkTLS proof. +generateProof = async ( + // The target endpoint of the network request. + endpoint: string, + // The HTTP method of the request, such as 'GET', 'POST', etc. + method: string, + // A record containing the headers of the request. + headers: Record, + // The body of the request. It should be a string. + body: string, + //A [JSONPath](https://datatracker.ietf.org/doc/rfc9535/) expression to locate the specific field in the response you want to attest. + responseParsePath: string +): Promise + +// Verify the proof. +verifyProof = async (attestation: any): Promise + +``` + +### Verify the interaction with Providers + +Here’s an example showcasing how to verify the validity of the BTC price retrieved from Binance. Developers can easily customize this process for other providers. + +```typescript +const tokenPriceProvider: Provider = { + get: async (runtime: IAgentRuntime, message: Memory, _state?: State) => { + // Set the URL + const url = "https://api.binance.com/api/v3/ticker/price?symbol=BTCUSDT"; + const method = 'GET'; + const headers = { + 'Accept ': '*/*', + }; + // Generate the proof + const attestation = await generateProof(url, method, headers, "", "$.price"); + // Verify the proof. + const valid = await verifyProof(attestation); + if (!valid) { + throw new Error("Invalid price attestation"); + } + ...... + }, +}; +``` + +### Verify the Actions +Below is an example showcasing how to post price information from the [tokenPriceProvider](./src/providers/tokenPriceProvider.ts) to Twitter. Developers can easily adapt this process for other providers. + +Note that you need to configure the `.env` file correctly to post tweets. +```typescript +export const postTweetAction: Action = { + description: "Post a tweet on Twitter and be verified by Primus", + examples: [], + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ): Promise => { + const contentYouWantToPost = await tokenPriceProvider.get(runtime, message, state); + const endpoint = 'https://twitter.com/i/api/graphql/a1p9RWpkYKBjWv_I3WzS-A/CreateTweet'; + const method = 'POST'; + const attestation = await generateProof(endpoint,method,headers,bodyStr,"$.data.create_tweet.tweet_results.result.rest_id"); + elizaLogger.info( + "Tweet posting proof generated successfully:", + attestation + ); + const verifyResult = verifyProof(attestation); + if (!verifyResult) { + throw new Error( + "Attestation verify failed, data from source is illegality" + ); + } + + }, + name: "POST_TWEET", + similes: [], + validate: async ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => { + const hasCredentials = + !!process.env.TWITTER_USERNAME && !!process.env.TWITTER_PASSWORD; + elizaLogger.log(`Has credentials: ${hasCredentials}`); + + return hasCredentials; + }, +}; +``` + +## Installation + +```bash +pnpm add @elizaos/plugin-primus +``` + +## Configuration + +Add the following environment variables to your .env file: + +``` +PRIMUS_APP_ID=your_app_id +PRIMUS_APP_SECRET=your_app_secret +VERIFIABLE_INFERENCE_ENABLED=true +VERIFIABLE_INFERENCE_PROVIDER=primus +``` + +***How to get PRIMUS_APP_ID and PRIMUS_APP_SECRET*** + +1. Visit the [Primus Developer Hub](https://dev.primuslabs.xyz/). +2. Create a new project +3. Save your 'Application ID(PRIMUS_APP_ID)' and 'Secret Key(PRIMUS_APP_SECRET)' + +To use the plugin, add `@elizaos/plugin-primus` to the plugins field in your character file. Here's an example of how your character file might look after the update: + +```json +{ + "name": "trump", + "modelProvider": "openai", + // just support openai now + "plugins": [ + "@elizaos/plugin-primus" + ], + // other fields + ..... +} +``` + +## Run + +```bash +# Start the server +pnpm start --characters="characters/xxx.character.json" +``` + +```bash +# Start the client +pnpm start:client +``` + +You can ask the agent: "Get the BTC price and tweet." + diff --git a/docs/packages/plugins/pyth-data.md b/docs/packages/plugins/pyth-data.md new file mode 100644 index 00000000000..5f408049e05 --- /dev/null +++ b/docs/packages/plugins/pyth-data.md @@ -0,0 +1,136 @@ +# Pyth Data Plugin for ElizaOS + +A powerful plugin for interacting with Pyth Network price feeds and data streams. This plugin provides real-time access to cryptocurrency, forex, and other asset price data through a natural language interface. + +## Features + +- Real-time price feed streaming +- Latest price updates retrieval +- Publisher caps information +- Comprehensive price feed listings +- Natural language processing for price feed queries + +## Available Actions + +### 1. GET_PRICE_UPDATES_STREAM +Stream real-time price updates for specific assets. + +**Example Prompts:** +``` +Stream price updates for 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +Stream BTC/USD price updates +``` + +### 2. GET_LATEST_PRICE_UPDATES +Retrieve the most recent price updates for specific assets. + +**Example Prompts:** +``` +Latest price updates for 0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +``` + +### 3. GET_LATEST_PUBLISHER_CAPS +Fetch information about publisher capabilities and limits. + +**Example Prompts:** +``` +Get me all the published caps +Show publisher capabilities +List all publisher caps +``` + +### 4. GET_PRICE_FEEDS +Retrieve available price feeds and their metadata. + +**Example Prompts:** +``` +Get all available price feeds from Pyth Network +List all crypto price feeds +Show me available forex feeds +``` + +## Configuration + +Create a `.env` file in your project root with the following variables: + +### Network Configuration +```env +# Network Environment (mainnet or testnet) +PYTH_NETWORK_ENV=mainnet + +# Mainnet Configuration +PYTH_MAINNET_HERMES_URL=https://hermes.pyth.network +PYTH_MAINNET_WSS_URL=wss://hermes.pyth.network/ws +PYTH_MAINNET_PYTHNET_URL=https://pythnet.rpcpool.com +PYTH_MAINNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids +PYTH_MAINNET_PROGRAM_KEY=FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH + +# Testnet Configuration +PYTH_TESTNET_HERMES_URL=https://hermes.pyth.network +PYTH_TESTNET_WSS_URL=wss://hermes.pyth.network/ws +PYTH_TESTNET_PYTHNET_URL=https://pythnet.rpcpool.com +PYTH_TESTNET_CONTRACT_REGISTRY=https://pyth.network/developers/price-feed-ids#testnet +PYTH_TESTNET_PROGRAM_KEY=FsJ3A3u2vn5cTVofAjvy6y5kwABJAqYWpe4975bi2epH +``` + +### Connection Settings +```env +PYTH_MAX_RETRIES=3 +PYTH_RETRY_DELAY=1000 +PYTH_TIMEOUT=5000 +PYTH_GRANULAR_LOG=true +PYTH_LOG_LEVEL=info +``` + +### Runtime Settings +```env +# General runtime configuration +RUNTIME_CHECK_MODE=false + +# Streaming Configuration +PYTH_ENABLE_PRICE_STREAMING=true # Enable/disable price streaming functionality +PYTH_MAX_PRICE_STREAMS=2 # Number of price updates to collect before closing stream + # Can be set to higher values (e.g., 10000) for production use +``` + +The streaming configuration controls how the price feed streaming works: +- `PYTH_ENABLE_PRICE_STREAMING`: Toggle to enable/disable the streaming functionality. Set to `true` to allow real-time price updates. +- `PYTH_MAX_PRICE_STREAMS`: Controls how many price updates to collect before automatically closing the stream. While set to 2 for testing, this can be increased to much higher values (e.g., 10000) for production use cases where continuous streaming is needed. + +### Test Price Feed IDs +```env +PYTH_TEST_ID01=0xe62df6c8b4a85fe1a67db44dc12de5db330f7ac66b72dc658afedf0f4a415b43 +PYTH_TEST_ID02=0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace +``` +## Features + +- **Automatic Price ID Detection**: Supports both hex IDs and common symbols (BTC/USD, ETH/USD, etc.) +- **Flexible Data Formats**: Supports both hex and base64 encoding +- **Granular Logging**: Detailed logging for debugging and monitoring +- **Error Handling**: Comprehensive error handling with detailed feedback +- **Streaming Control**: Configurable stream limits and timeouts + +## Dependencies + +This plugin uses the official `@pythnetwork/hermes-client` for reliable data access and streaming capabilities. + +## Error Handling + +The plugin includes comprehensive error handling for: +- Invalid price feed IDs +- Network connection issues +- Configuration errors +- Validation failures +- Stream management + +## Logging + +Enable granular logging by setting `PYTH_GRANULAR_LOG=true` for detailed operation insights. + +## Contributing + +Contributions are welcome! Please ensure you: +1. Follow the code style +2. Add tests for new features +3. Update documentation as needed +4. Maintain type safety diff --git a/docs/packages/plugins/quai.md b/docs/packages/plugins/quai.md new file mode 100644 index 00000000000..607f5ebd0f4 --- /dev/null +++ b/docs/packages/plugins/quai.md @@ -0,0 +1,149 @@ +# @elizaos/plugin-quai + +Quai Network integration plugin for Eliza OS that enables native token transfers and interactions with the Quai blockchain. + +## Overview + +This plugin provides core functionality for interacting with the Quai Network, offering native token transfer capabilities and blockchain interactions through a simple interface. + +## Features + +- Native QUAI token transfers +- Multiple network support +- Secure transaction signing +- Comprehensive error handling +- Built-in address validation +- Automatic gas estimation +- Real-time transaction status + +## Installation + +```bash +pnpm install @elizaos/plugin-quai +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +QUAI_PRIVATE_KEY=your-private-key +QUAI_RPC_URL=https://rpc.quai.network # or your preferred RPC endpoint +``` + +## Usage + +### Token Transfer + +```typescript +import { quaiPlugin } from '@elizaos/plugin-quai'; + +// Send QUAI +const result = await eliza.execute({ + action: 'SEND_TOKEN', + content: { + recipient: '0x049d36570d4e46f48e99674bd3fcc84644ddd6b96f7c741b1562b82f9e004dc7', + amount: '10' + } +}); +``` + +## API Reference + +### Actions + +#### `SEND_TOKEN` +Transfers QUAI tokens to another address. + +```typescript +{ + action: 'SEND_TOKEN', + content: { + recipient: string, // Recipient's Quai address (42 characters, 0x prefix) + amount: string, // Amount to send (in QUAI) + tokenAddress?: string // Optional: for QRC20 tokens (not implemented yet) + } +} +``` + +### Providers + +The plugin uses Quai's native JsonRpcProvider for blockchain interactions: + +```typescript +const provider = getQuaiProvider(runtime); +// Returns configured JsonRpcProvider instance +``` + +## Troubleshooting + +### Common Issues + +1. **Transaction Failures** + - Check account balance + - Verify recipient address format + - Ensure sufficient gas + - Confirm network connection + +2. **Connection Problems** + - Verify RPC endpoint + - Check network status + - Ensure valid credentials + - Monitor API availability + +3. **Configuration Issues** + - Verify environment variables + - Check address format + - Confirm private key format + - Validate RPC URL + +## Security Best Practices + +1. **Key Management** + - Store private keys securely + - Use environment variables + - Never expose private keys in code + - Monitor account activity + +2. **Transaction Safety** + - Validate all addresses + - Implement amount validation + - Double-check recipients + - Monitor transaction status + +3. **Error Handling** + - Log all transaction attempts + - Handle timeouts gracefully + - Validate all user inputs + - Provide clear error messages + +## Testing + +Run the test suite: + +```bash +pnpm test +``` + +## Dependencies + +- quais: ^1.0.0-alpha.25 +- @elizaos/core: workspace:* + +## Contributing + +Contributions are welcome! Please ensure your code follows the existing patterns and includes appropriate tests. + +## Credits + +This plugin integrates with: +- [Quai Network](https://qu.ai/) +- [Quai JavaScript API](https://www.npmjs.com/package/quais) + +For more information about Quai Network capabilities: +- [Quai Documentation](https://docs.qu.ai/) +- [Quai Network GitHub](https://github.com/dominant-strategies) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/quick-intel.md b/docs/packages/plugins/quick-intel.md new file mode 100644 index 00000000000..ae0040a6e37 --- /dev/null +++ b/docs/packages/plugins/quick-intel.md @@ -0,0 +1,155 @@ +# @elizaos/plugin-quickintel + +A plugin for performing token security audits and market analysis within the ElizaOS ecosystem. + +## Description + +This plugin enables comprehensive token security analysis using QuickIntel's API, combined with market data from DexScreener. It supports multiple chains and address formats, providing detailed security assessments and market insights in natural language responses. + +## Installation + +```bash +pnpm install @elizaos/plugin-quickintel +``` + +## Configuration + +### Environment Variables + +```typescript +QUICKINTEL_API_KEY= +``` + +### Client Configuration + +Add the plugin to your character.json file: + +```json +{ + "name": "YourCharacter", + "plugins": ["quickintel"], + "settings": { + "QUICKINTEL_API_KEY": "your-api-key-here" + } +} +``` + +## Usage + +### Basic Integration + +```typescript +import { quickIntelPlugin } from "@elizaos/plugin-quickintel"; +``` + +### Example Usage + +The plugin processes natural language queries for token audits: + +```typescript +"Can you check if this token is safe? 0x742d35Cc6634C0532925a3b844Bc454e4438f44e on BSC" +"Analyze this token on Ethereum: 0x1234..." +"Is this Solana token safe? Hep4ZQ3MSSXFuLnT4baBFVBrC3677ntjrfaqE9zEt4rX" +``` + +### Supported Features + +- Multi-chain support (EVM chains, Solana, etc.) +- Comprehensive security analysis +- Market data integration +- Natural language responses +- Detailed risk assessments + +## API Reference + +### Actions + +#### Audit Token Action + +Performs security audits and market analysis on tokens. + +**Response Type:** + +```typescript +interface AuditResponse { + success: boolean; + data: { + audit: any; // QuickIntel audit data + market?: any; // DexScreener market data + }; + params: { + chain: string; + tokenAddress: string; + }; +} +``` + +### Supported Chains + +The plugin supports all chains available through QuickIntel, including: +- Ethereum (ETH) +- BNB Smart Chain (BSC) +- Polygon +- Arbitrum +- Avalanche +- Solana +- Full list available at https://docs.quickintel.io/quick-intel-scanner/supported-chains +- And many more... + +## Common Issues & Troubleshooting + +1. **API Issues** + - Verify API key is correct + - Check API endpoint accessibility + - Ensure proper network connectivity + +2. **Chain/Address Detection** + - Ensure chain name is clearly specified (e.g., "on ETH") + - Verify token address format + - Check chain support in QuickIntel + +3. **Market Data** + - DexScreener data might be unavailable for some tokens + - Some chains might have different market data availability + - Liquidity information may vary by chain + +## Security Best Practices + +1. **API Configuration** + - Store API key securely + - Use environment variables + - Implement proper error handling + +2. **Response Handling** + - Validate audit results + - Handle timeouts gracefully + - Process market data carefully + +``` + +## Future Enhancements + +- Enhanced market data analysis +- Historical audit tracking +- Custom audit templates +- Comparative analysis features + +## Contributing + +Contributions are welcome! Please see the main Eliza repository for contribution guidelines. + +## Credits + +This plugin integrates with: + +- [QuickIntel](https://quickintel.io): Token security audit platform +- [DexScreener](https://dexscreener.com): DEX market data provider + +Special thanks to: +- The QuickIntel team for their security analysis platform +- The DexScreener team for market data access +- The Eliza community for feedback and testing + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. \ No newline at end of file diff --git a/docs/packages/plugins/rabbit-trader.md b/docs/packages/plugins/rabbit-trader.md new file mode 100644 index 00000000000..5977ac2a815 --- /dev/null +++ b/docs/packages/plugins/rabbit-trader.md @@ -0,0 +1,180 @@ +# Unmaintained: this plugin needs a maintainer. + +# Rabbi Trader Plugin + +An automated cryptocurrency trading plugin for Solana tokens with integrated trust scoring, market analysis, and Twitter notifications. + +## Features + +- Automated trading on Solana blockchain +- Real-time market data analysis using DexScreener +- Trust score evaluation for tokens +- Twitter integration for trade notifications +- Safety limits and risk management +- Simulation capabilities before executing trades +- Performance tracking and trade history +- Rate limiting and cache management + +## Installation + +```bash +npm install @elizaos/plugin-rabbi-trader +``` + +## Prerequisites + +The following environment variables need to be configured: + +- `WALLET_PRIVATE_KEY`: Your Solana wallet private key +- `WALLET_PUBLIC_KEY`: Your Solana wallet public address +- `SOLANA_RPC_URL`: Solana RPC endpoint (defaults to mainnet) +- `BIRDEYE_API_KEY`: API key for Birdeye data provider +- `TWITTER_ENABLED`: Enable/disable Twitter notifications +- `TWITTER_USERNAME`: Twitter username for notifications +- `DEXSCREENER_WATCHLIST_ID`: DexScreener watchlist identifier +- `COINGECKO_API_KEY`: CoinGecko API key for additional market data + +## Usage + +```typescript +import createRabbiTraderPlugin from '@elizaos/plugin-rabbi-trader'; +import { IAgentRuntime } from '@elizaos/core'; + +const plugin = await createRabbiTraderPlugin( + (key: string) => process.env[key], + runtime +); + +// Plugin will automatically start monitoring and trading if enabled +``` + +## Configuration + +### Safety Limits + +The plugin includes built-in safety limits that can be configured: + +```typescript +export const SAFETY_LIMITS = { + MINIMUM_TRADE: 0.01, // Minimum SOL per trade + MAX_POSITION_SIZE: 0.1, // Maximum 10% of token liquidity + MAX_SLIPPAGE: 0.05, // Maximum 5% slippage allowed + MIN_LIQUIDITY: 1000, // Minimum $1000 liquidity required + MIN_VOLUME: 2000, // Minimum $2000 24h volume required + MIN_TRUST_SCORE: 0.4, // Minimum trust score to trade + STOP_LOSS: 0.2, // 20% stop loss trigger + TAKE_PROFIT: 0.12, // Take profit at 12% gain + TRAILING_STOP: 0.2 // 20% trailing stop from highest +}; +``` + +### Trading Parameters + +Default trading parameters can be adjusted in the configuration: + +```typescript +{ + CHECK_INTERVAL: 5 * 60 * 1000, // Check every 5 minutes + REENTRY_DELAY: 60 * 60 * 1000, // Wait 1 hour before re-entering + MAX_ACTIVE_POSITIONS: 5, // Maximum concurrent positions + MIN_WALLET_BALANCE: 0.05 // Keep minimum 0.05 SOL in wallet +} +``` + +## API Integration + +The plugin integrates with multiple APIs: + +- **Birdeye API**: Market data and token security information +- **DexScreener**: Real-time trading data and market analysis +- **Twitter**: Trade notifications and updates +- **Jupiter**: Token swaps and liquidity aggregation + +## Error Handling + +The plugin includes comprehensive error handling for common scenarios: + +```typescript +export const ERROR_SIGNATURES = [ + { + sig: "0x13be252b", + name: "InsufficientAllowance", + description: "Token allowance too low" + }, + { + sig: "0xf4d678b8", + name: "InsufficientBalance", + description: "Insufficient token balance" + }, + // ... additional error signatures +]; +``` + +## Trade Analysis + +The plugin performs detailed analysis before executing trades: + +1. Token security evaluation +2. Market data analysis +3. Trust score calculation +4. Liquidity assessment +5. Volume verification +6. Price movement analysis +7. Holder distribution review + +## Twitter Integration + +When enabled, the plugin can post trade notifications with: + +- Token information +- Trade details (buy/sell price, amount) +- Trust score and risk level +- Market metrics +- Transaction signature +- Profit/loss for sells + +## Caching + +The plugin implements multiple caching mechanisms: + +- Token analysis cache (20 minutes) +- Twitter rate limiting cache (hourly limits) +- Skip/wait cache (2 hours) +- Analysis history (24 hours) + +## Development + +### Building + +```bash +npm run build +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +Key dependencies include: + +- `@solana/web3.js`: Solana blockchain interaction +- `@elizaos/core`: Core agent runtime +- `@elizaos/plugin-solana`: Solana integration +- `@elizaos/plugin-trustdb`: Trust score database +- `node-cache`: Caching functionality +- `bignumber.js`: Precise number handling + +## Contributing + +1. Fork the repository +2. Create your feature branch +3. Commit your changes +4. Push to the branch +5. Create a new Pull Request + +## License + +This project is licensed under the MIT License - see the LICENSE file for details. diff --git a/docs/packages/plugins/router-nitro.md b/docs/packages/plugins/router-nitro.md new file mode 100644 index 00000000000..b2b5e8a90a8 --- /dev/null +++ b/docs/packages/plugins/router-nitro.md @@ -0,0 +1,41 @@ +# @elizaos/plugin-router-nitro + +A plugin for interacting with the Router Nitro bridge within the ElizaOS ecosystem. + +## Description + +The Router Nitro plugin enables seamless cross-chain token transfers and wallet management across blockchains. It supports efficient bridging of tokens and monitoring wallet balances, facilitating real-time transaction processing and price tracking. + +## Installation + +```bash +pnpm install @elizaos/plugin-router-nitro +``` + +## Configuration + +The plugin requires the following environment variables to be set: + +```typescript +ROUTER_NITRO_EVM_PRIVATE_KEY= +ROUTER_NITRO_EVM_ADDRESS= +``` + +## Usage + +### Basic Integration + +```typescript +import { + nitroPlugin +} from "@elizaos/plugin-router-nitro"; +``` + +### Transfer Examples + +```typescript +// The plugin responds to natural language commands like: + +"Bridge 50 USDC from Ethereum to Polygon on address 0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62"; +"Send 1 ETH from Arb to Base" +``` diff --git a/docs/packages/plugins/sei.md b/docs/packages/plugins/sei.md new file mode 100644 index 00000000000..366f1761813 --- /dev/null +++ b/docs/packages/plugins/sei.md @@ -0,0 +1,107 @@ +# @elizaos/plugin-sei + +Sei Network plugin for Eliza OS that enables Eliza agents to perform actions on the Sei blockchain. +## Overview + +This plugin provides functionality to: + +- Transfer SEI tokens to other `0x` or `sei` addresses +- Query wallet balances + +## Installation + +```bash +pnpm install @elizaos/plugin-sei +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +SEI_PRIVATE_KEY= #your_private_key +SEI_NETWORK= #"mainnet","testnet", or "devnet" +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { seiPlugin } from "@elizaos/plugin-sei"; + +export default { + plugins: [seiPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer SEI tokens to another address: + +```typescript +// Example conversation +User: "Send 1 SEI to 0xD5ca6eA5e33606554F746606157a7512FA738A12"; +Assistant: "I'll send 1 SEI token now..."; +``` + +```typescript +// Example conversation +User: "Send 1 SEI to sei1vpz36punknkdjfs7ew2vkdwws8ydcquy00hhsd"; +Assistant: "I'll send 1 SEI token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 10.5 SEI ($5.25 USD)..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer SEI to a specified address + +### Providers + +- `walletProvider`: Manages wallet interactions with the Sei network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +pnpm build +``` + +### Testing + +```bash +pnpm test +``` + +## Future Enhancements + +Some features planned for future releases include: +- On chain actions such as Staking and Unstaking, Governance, and native token creation +- Complex queries and transaction history tracking +- Smart contract deployment and interaction +- Integration with DeFi protocols on Sei, such as DEXes, Lending Protocols and Money Markets. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Sei Blockchain](https://sei.io/): The fastest EVM blockchain + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/sgx.md b/docs/packages/plugins/sgx.md new file mode 100644 index 00000000000..32007bd7b3a --- /dev/null +++ b/docs/packages/plugins/sgx.md @@ -0,0 +1,96 @@ +# SGX Plugin for Eliza + +The SGX Plugin for Eliza enhances the platform by providing Intel SGX attestation capabilities. + +Intel SGX is part of the Intel confidential computing technology portfolio that allows businesses to take advantage of the cloud while staying in control of their data. Intel SGX protects data actively being used in the processor and memory by creating a trusted execution environment (TEE) called an enclave. + +### Trusted Execution Environment (TEE) +A Trusted Execution Environment (TEE) is a secure area within a main processor that ensures sensitive data is stored, processed, and protected in an isolated environment. TEEs provide a higher level of security by allowing applications to run in a protected space, safeguarding them from unauthorized access and potential threats. + +### Software Guard Extensions (SGX) +Software Guard Extensions is a set of instructions on Intel processors for creating Trusted Execution Environments (TEE). SGX enables the creation of enclaves, which are protected areas of execution that ensure the confidentiality and integrity of the code and data within them. This allows applications to run securely, even in untrusted environments, by protecting sensitive information from being exposed to the host operating system or other applications. + +### Attestation +The attestation of TEE is a security mechanism that enables a TEE to provide cryptographic proof of its integrity and authenticity to external parties. By generating a unique attestation report that includes information about the software and its execution state, a TEE can assure remote verifiers that the code running within it has not been altered and is operating as intended. This process is essential for establishing trust in secure applications, allowing them to interact confidently with other systems and services in potentially untrusted environments. + +### Gramine +The attestation capabilities are based on [Gramine Library OS](https://github.com/gramineproject/gramine). Gramine is a Library OS for Unmodified Applications. Applications can benefit from confidentiality and integrity guarantees of Intel SGX, but developers need to be very skilled for effective partitioning and code modification for Intel SGX environment. +Gramine runs unmodified applications inside Intel SGX. It supports dynamically loaded libraries, runtime linking, multi-process abstractions, and file authentication. For additional security, Gramine performs cryptographic and semantic checks at untrusted host interface. Developers provide a manifest file to configure the application environment and isolation policies, Gramine automatically does the rest. + +## Components + +### Providers +- **sgxAttestationProvider**: This provider is responsible for generating SGX remote attestations within Gramine SGX environments. + +## Usage + +First, you need to prepare the SGX environment and install the Gramine dependencies. +You can install Gramine packages in your SGX machine or use the docker image. Follow the [Gramine installation options](https://gramine.readthedocs.io/en/latest/installation.html) for more details. + +Then, start eliza in SGX: + +```bash +pnpm i +pnpm build + +# Start default character +SGX=1 make start +# Start specific character +SGX=1 make start -- --character "character/trump.character.json" +``` + +After starting Eliza, the provider `sgxAttestationProvider` will be registered into Eliza through plugin-sgx. The environment variable `SGX` is required to be set to `1` to enable plugin-sgx. And the `SGX` is always set to `1` in the SGX environment through the `eliza.manifest.template` file. + +When Eliza starts, the `sgxAttestationProvider` will generate SGX attestation in each request. And you can use the `SgxAttestationProvider` to generate SGX remote attestations for your own plugins / clients. + +### Example + +```typescript +const sgxAttestationProvider = new SgxAttestationProvider(); +const sgxAttestation = await sgxAttestationProvider.generateAttestation(userReport); +``` + +## Quick Start + +First, you need to prepare a SGX enabled machine. + +Then, you can use the following command to start a Gramine Docker container: + +```bash +sudo docker run -it --name eliza_sgx \ + --mount type=bind,source={your_eliza_path},target=/root/eliza \ + --device /dev/sgx/enclave \ + --device /dev/sgx/provision \ + gramineproject/gramine:stable-jammy +``` + +After entering the docker, you can use the following command to prepare the Eliza environment: + +```bash +# Generate the private key for signing the SGX enclave +gramine-sgx-gen-private-key + +cd /root/eliza/ + +# Install nodejs and pnpm +# Node.js will be installed at `/usr/bin/node`. +# Gramine will utilize this path as the default Node.js location to run Eliza. +# If you prefer to use nvm for installing Node.js, please ensure to specify the Node.js path in the Makefile, as the installation path for nvm is not `/usr/bin/node`. +apt update +apt install -y build-essential +apt install -y curl +curl -fsSL https://deb.nodesource.com/setup_23.x | bash - +apt install -y nodejs=23.3.0-1nodesource1 +npm install -g pnpm + +# Build Eliza +pnpm i +pnpm build + +# Copy the .env.example file to .env +cp .env.example .env +# Edit the .env file + +# Start Eliza in SGX +SGX=1 make start -- --character "character/c3po.character.json" +``` diff --git a/docs/packages/plugins/solana-agent-kit.md b/docs/packages/plugins/solana-agent-kit.md new file mode 100644 index 00000000000..e3947d3f38d --- /dev/null +++ b/docs/packages/plugins/solana-agent-kit.md @@ -0,0 +1,94 @@ +# @elizaos/plugin-solana-agent-kit + +A plugin that integrates Solana Agent Kit functionality into Eliza, enabling token operations, swaps, lending, and staking on Solana. + +## Installation + +```bash +pnpm add @elizaos/plugin-solana-agent-kit +``` + +## Configuration + +### Required Environment Variables + +```env +# Required: Either private key or public key +SOLANA_PRIVATE_KEY=your_private_key +# OR +SOLANA_PUBLIC_KEY=your_public_key + +# Optional: Custom RPC URL (defaults to mainnet) +SOLANA_RPC_URL=your_rpc_url + +# Required for TEE mode +WALLET_SECRET_SALT=your_salt # Only if TEE_MODE is enabled +``` + +## Features + +### Token Operations +- Create new tokens with custom parameters +- Transfer tokens between addresses +- Get token information and metadata +- Manage token supply and decimals + +### DeFi Operations +- Swap tokens using Jupiter aggregator +- Lend assets on supported platforms +- Stake tokens +- Create GibWork tasks + +## Usage Examples + +### Token Creation +```plaintext +"Create token, name is Example Token, symbol is EXMPL, decimals is 9" +``` + +### Token Transfers +```plaintext +"Send 69 EZSIS to " +``` + +### Token Swaps +```plaintext +"Swap 0.1 SOL for USDC" +``` + +### Lending +```plaintext +"Lend 100 USDC" +``` + +### Staking +```plaintext +"Stake 100 tokens" +``` + +### GibWork Tasks +```plaintext +"Create a GibWork task for building a Solana dApp, offering 100 USDC" +``` + +## Dependencies + +- @coral-xyz/anchor: 0.30.1 +- @solana/spl-token: 0.4.9 +- @solana/web3.js: 1.95.8 +- solana-agent-kit: ^1.2.0 +- bignumber.js: 9.1.2 + +## Technical Details + +### Security Features +- TEE mode support for secure key derivation +- Multiple key format support (base58, base64) +- Public key verification + +### Address Management +- Supports both public key and full keypair operations +- Base58 and base64 private key formats +- TEE-based key derivation when enabled + +For more information about Solana Agent Kit capabilities, see [solana-agent-kit documentation](https://github.com/solana-labs/agent-kit). diff --git a/docs/packages/plugins/solana-agentkit.md b/docs/packages/plugins/solana-agentkit.md new file mode 100644 index 00000000000..bcfcc55bd76 --- /dev/null +++ b/docs/packages/plugins/solana-agentkit.md @@ -0,0 +1,11 @@ +# Plugin Solana AgentKit + +A Solana integration plugin for AgentKit that enables interaction with the Solana blockchain. + +## Features + +- Solana wallet integration +- Transaction handling +- Account management +- RPC connection management +- Solana program interactions diff --git a/docs/packages/plugins/solana-v2.md b/docs/packages/plugins/solana-v2.md new file mode 100644 index 00000000000..ee60a9c164b --- /dev/null +++ b/docs/packages/plugins/solana-v2.md @@ -0,0 +1,122 @@ +# Solana Plugin V2 for Eliza 🌟 + +The **Solana Plugin V2** leverages the latest features of `@solana/web3.js` v2 to provide a modern, efficient, and composable solution for Solana integrations within the Eliza AI agent framework. + +--- + +## Key Features 🚀 + +### Modern JavaScript and Functional Architecture +- **@solana/web3.js v2** introduces: + - Tree-shakability + - Composable internals + - Zero-dependency design + - Functional programming approach + +### Compatibility with existing solana V1 plugins +- This plugin can be used by the agent alongside existing plugins that use `@solana/web3.js` v1. + +### Common Utilities +The `Utils` class provides shared functionality across the plugin, offering flexibility and ease of integration. + +#### `sendTransaction` +- Accepts the RPC instance, transaction instructions, and a wallet. +- Utilizes Solana's Compute Budget Program for optimized CU usage and priority fees. +- Implements client-side retry logic to enhance transaction landing success. +- More details on optimizing transactions can be found [here](https://orca-so.github.io/whirlpools/Whirlpools%20SDKs/Whirlpools/Send%20Transaction). + +#### Trusted Execution Environment (TEE) +- For Trusted Execution Environment (TEE) functionality, this plugin transitions from `Keypair` (used in v1) to `CryptoKeyPair` from the Web Crypto API. This change aligns with `@solana/web3.js` v2's zero-dependency, modern JavaScript architecture. +- A modified implementation for TEE integration is included in `src/utils/`, following the same patterns used in `plugin-tee`. + +--- + +## Current Functionality 🎯 + +### Liquidity Position Management +- **Reposition Liquidity**: + - Automatically repositions Orca liquidity positions if the center price of the position deviates from the current pool price by more than a user-specified threshold (`repositionThresholdBps`). + - Maintains the original width of the position during repositioning. + - Repositions at a user defined time interval. + - Uses a slippage tolerance set by the user. + +### How to run the Orca LP Management tool +#### 1. Set up your environment variables +- In the root of the repositorty, copy `.env.example` to `.env` +- Fill in the following parameters: + - `SOLANA_PRIVATE_KEY` + - `SOLANA_PUBLIC_KEY` + - `SOLANA_RPC_URL` + - `OPENAI_API_KEY` + +#### 2. RPC requirements +Most often, free-tier RPC URLs are not sufficient for this plugin. +- Eliza needs to fetch all your token-accounts in order to find the position NFTs that represent Orca positions. Such calls are done through the `getProgramAccounts` method of the RPC client, which can be expensive. +- To ensure transaction landing, the plugin makes use of a client-side retry logic (read more [here](https://www.helius.dev/blog/how-to-land-transactions-on-solana#how-do-i-land-transactions)), which also puts a heavier load on the RPC. +- The amount of positions you own and the update interval you set can also contribute to RPC limits. + +#### 3. Update the agent +In `agent/src/index.ts`, search for the function `createAgent`, and add `solana_plugin_v2` to the `AgentRuntime` like so: +```typescript +export async function createAgent( + character: Character, + db: IDatabaseAdapter, + cache: ICacheManager, + token: string +): Promise { + // Rest of the code ... + + return new AgentRuntime({ + // Other parameters + plugins: [ + // Other plutins + getSecret(character, "SOLANA_PUBLIC_KEY") || + (getSecret(character, "WALLET_PUBLIC_KEY") && + !getSecret(character, "WALLET_PUBLIC_KEY")?.startsWith("0x")) + ? solanaPluginV2 + : null, + // Rest of the code +``` + +#### 4. Use LP Manager character +Copy `packages/plugin-solana-v2/src/character/orca/lpmanager.character.json` to `characters/lpmanager.character.json`. + +#### 5. Install and build the repo +Follow the general installation and build steps from the README in the root of the repo + +#### 5. Run the agent +Start the the agent with the following command: +```sh +pnpm start --characters="characters/lpmanager.character.json" +``` + +Start the client (chat terminal) with: +```sh +pnpm start:client +``` + +#### 6. Start prompting +Ask the agent what it can do for you. Provide the appropriate parameters and let the agent reposition your positions automatically. + +#### 7. Other configurations +In `packages/plugin-solana-v2/src/utils/sendTransaction.ts`, you can set the priority fees. They are by default set to use the dynamic fees, but you can adjust this as you like. + +## Future Functionality 🔮 + +### Position Management Enhancements +- **Opening and Closing Positions**: + - Expose opening and closing positions as separate actions. + - Allow agents to leverage data streams and other plugins for decision-making and yield optimization. + +### Token Launches +- **Token Creation and Liquidity Setup**: + - Create tokens with metadata using the Token 2022 Program. + - Launch tokens on Orca with single-sided liquidity. + - Configure start and maximum prices for initial liquidity. + +--- + +## Contributing 🤝 +Contributions are welcome! If you wish to extend `plugin-solana-v2` with your tools, ensure compatibility with `@solana/web3.js` v2. + +--- diff --git a/docs/packages/plugins/solana.md b/docs/packages/plugins/solana.md new file mode 100644 index 00000000000..c0c3e79d8c8 --- /dev/null +++ b/docs/packages/plugins/solana.md @@ -0,0 +1,374 @@ +# @elizaos/plugin-solana + +Core Solana blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Solana plugin serves as a foundational component of Eliza OS, bridging Solana blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Solana blockchain. + +## Features + +### Token Operations + +- **Token Creation**: Deploy new tokens with customizable metadata +- **Token Transfers**: Send and receive tokens securely +- **Balance Management**: Track and manage token balances +- **Portfolio Analytics**: Real-time portfolio valuation and tracking + +### Trading Operations + +- **Token Swaps**: Execute trades between tokens using Jupiter aggregator +- **Order Management**: Place and track token orders +- **Price Monitoring**: Real-time price feeds and historical data +- **Automated Trading**: Configurable trading strategies and automation + +### DeFi Integration + +- **Liquidity Analysis**: Monitor and analyze pool liquidity +- **Market Making**: Automated market making capabilities +- **Yield Optimization**: Smart routing for optimal yields +- **Risk Management**: Advanced risk scoring and monitoring + +### Trust & Security + +- **Trust Scoring**: Dynamic trust score calculation for tokens +- **Risk Assessment**: Real-time risk evaluation for trades +- **Performance Tracking**: Historical performance monitoring +- **Simulation Mode**: Test strategies without real transactions + +## Security Features + +### Access Control + +- **Wallet Management**: Secure wallet key derivation and storage +- **Permission Scoping**: Granular control over trading permissions +- **TEE Integration**: Trusted Execution Environment support +- **Key Protection**: Secure private key handling + +### Risk Management + +- **Trade Limits**: Configurable transaction limits +- **Slippage Protection**: Automatic slippage controls +- **Validation Checks**: Multi-level transaction validation +- **Simulation Support**: Pre-execution transaction simulation + +## Installation + +```bash +npm install @elizaos/plugin-solana +``` + +## Configuration + +Configure the plugin by setting the following environment variables: + +```typescript +const solanaEnvSchema = { + WALLET_SECRET_SALT: string(optional), + WALLET_SECRET_KEY: string, + WALLET_PUBLIC_KEY: string, + SOL_ADDRESS: string, + SLIPPAGE: string, + SOLANA_RPC_URL: string, + HELIUS_API_KEY: string, + BIRDEYE_API_KEY: string, +}; +``` + +## Usage + +### Basic Setup + +```typescript +import { solanaPlugin } from "@elizaos/plugin-solana"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [solanaPlugin], +}); +``` + +### Services + +#### TokenProvider + +Manages token operations and information retrieval. + +```typescript +const tokenProvider = new TokenProvider( + tokenAddress, + walletProvider, + cacheManager +); +await tokenProvider.getTokensInWallet(runtime); +``` + +#### WalletProvider + +Handles wallet operations and portfolio management. + +```typescript +const walletProvider = new WalletProvider(connection, publicKey); +await walletProvider.getFormattedPortfolio(runtime); +``` + +#### TrustScoreProvider + +Evaluates and manages trust scores for tokens and trading activities. + +```typescript +const trustScore = await runtime.getProvider("trustScore"); +``` + +## Actions + +### executeSwap + +Executes a token swap using Jupiter aggregator. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_SWAP", { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + amount: 0.1, +}); +``` + +### transferToken + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_TOKEN", { + tokenAddress: "TokenAddressHere", + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### transferSol + +Transfers SOL between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_SOL", { + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### takeOrder + +Places a buy order based on conviction level. + +```typescript +// Example usage +const result = await runtime.executeAction("TAKE_ORDER", { + ticker: "SOL", + contractAddress: "ContractAddressHere", +}); +``` + +### pumpfun + +Creates and buys tokens on pump.fun. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_AND_BUY_TOKEN", { + tokenMetadata: { + name: "TokenName", + symbol: "SYMBOL", + description: "Token description", + image_description: "Image description", + }, + buyAmountSol: 0.1, +}); +``` + +### fomo + +Creates and buys tokens on fomo.fund. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_AND_BUY_TOKEN", { + tokenMetadata: { + name: "TokenName", + symbol: "SYMBOL", + description: "Token description", + image_description: "Image description", + }, + buyAmountSol: 0.1, + requiredLiquidity: 1000, +}); +``` + +### executeSwapForDAO + +Executes token swaps for DAO operations. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_SWAP_DAO", { + inputTokenSymbol: "SOL", + outputTokenSymbol: "USDC", + amount: 0.1, +}); +``` + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## System Requirements + +- Node.js 16.x or higher +- Solana CLI tools (optional) +- Minimum 4GB RAM recommended +- Stable internet connection +- Access to Solana RPC endpoint + +## Troubleshooting + +### Common Issues + +1. **Wallet Connection Failures** + +```bash +Error: Failed to connect to wallet +``` + +- Verify RPC endpoint is accessible +- Check wallet configuration settings +- Ensure proper network selection + +2. **Transaction Errors** + +```bash +Error: Transaction simulation failed +``` + +- Check account balances +- Verify transaction parameters +- Ensure proper fee configuration + +3. **Price Feed Issues** + +```bash +Error: Unable to fetch price data +``` + +- Verify API key configuration +- Check network connectivity +- Ensure price feed service status + +## Safety & Security + +### Best Practices + +1. **Environment Variables** + + - Store sensitive keys in environment variables + - Use .env.example for non-sensitive defaults + - Never commit real credentials to version control + +2. **Transaction Limits** + + - Set maximum transaction amounts + - Implement daily trading limits + - Configure per-token restrictions + +3. **Monitoring** + + - Track failed transaction attempts + - Monitor unusual trading patterns + - Log security-relevant events + +4. **Recovery** + - Implement transaction rollback mechanisms + - Maintain backup RPC endpoints + - Document recovery procedures + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + - Transaction IDs (if applicable) + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Solana](https://solana.com/) - The core blockchain platform +- [Solana Web3.js](https://github.com/solana-labs/solana-web3.js) - Core Solana interactions +- [SPL Token](https://spl.solana.com/) - Token program interactions +- [Jupiter](https://jup.ag/) - Token swap aggregation +- [Birdeye](https://birdeye.so/) - Price feeds and analytics +- [Helius](https://helius.xyz/) - Enhanced RPC services +- [Anchor](https://project-serum.github.io/anchor/) - Smart contract framework +- [FOMO](https://fomo.fund/) - Token creation and trading +- [Pump.fun](https://pump.fun/) - Token creation and trading + +Special thanks to: + +- The Solana ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Solana blockchain capabilities: + +- [Solana Documentation](https://docs.solana.com/) +- [Solana Developer Portal](https://solana.com/developers) +- [Solana Network Dashboard](https://solscan.io/) +- [Solana GitHub Repository](https://github.com/solana-labs/solana) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/speech-tts.md b/docs/packages/plugins/speech-tts.md new file mode 100644 index 00000000000..cdc513ce1fb --- /dev/null +++ b/docs/packages/plugins/speech-tts.md @@ -0,0 +1,4 @@ +# service-speech-tts + +TTS transcription service with OpenAI + ElevenLabs + diff --git a/docs/packages/plugins/spheron.md b/docs/packages/plugins/spheron.md new file mode 100644 index 00000000000..a7ad63d0526 --- /dev/null +++ b/docs/packages/plugins/spheron.md @@ -0,0 +1,146 @@ +# Spheron Protocol Plugin for Eliza + +This plugin integrates the Spheron Protocol SDK into the Eliza ecosystem, providing functionality for managing deployments, escrow operations, and lease management. + +## Features + +- **Escrow Operations**: Manage token deposits, withdrawals, and balance checks +- **Deployment Management**: Create, update, and manage deployments using ICL YAML + +## Installation + +```bash +npm install @elizaos/plugin-spheron +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +PRIVATE_KEY=your_private_key +PROVIDER_PROXY_URL=your_provider_proxy_url +WALLET_ADDRESS=your_wallet_address +``` + +## Usage + +1. Import and register the plugin: + +```typescript +import { spheronPlugin } from "@elizaos/plugin-spheron"; + +// Register with Eliza +eliza.registerPlugin(spheronPlugin); +``` + +2. Available Actions: + +- `ESCROW_OPERATION`: Handle token deposits and withdrawals +- `DEPLOYMENT_OPERATION`: Manage service deployments + +## Examples + +### Escrow Operations + +```typescript +// Deposit tokens +await runtime.executeAction("ESCROW_OPERATION", { + token: "USDT", + amount: 100, + operation: "deposit", +}); + +// Withdraw tokens +await runtime.executeAction("ESCROW_OPERATION", { + token: "USDC", + amount: 50, + operation: "withdraw", +}); +``` + +### Deployment Operations + +```typescript +// Create deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "create", + template: "jupyter-notebook", + customizations: { + cpu: false, + resources: { + cpu: "4", + memory: "8Gi", + storage: "10Gi", + gpu: "1", + gpu_model: "rtx4090", + }, + duration: "1h", + token: "USDT", + }, +}); + +// Update deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "update", + leaseId: "your_lease_id", + template: "jupyter-notebook", + customizations: { + cpu: false, + resources: { + cpu: "4", + memory: "8Gi", + storage: "10Gi", + gpu: "1", + gpu_model: "rtx4090", + }, + duration: "1h", + token: "USDT", + }, +}); + +// Close deployment +await runtime.executeAction("DEPLOYMENT_OPERATION", { + operation: "close", + leaseId: "your_lease_id", +}); +``` + +## Supported Templates + +- jupyter-notebook: Jupyter Notebook with or without Pytorch +- vscode: VSCode with or without Pytorch +- ollama: Ollama WebUI and API +- heurist-miner: Heurist Miner for mining heurist network + +## How it Works + +1. You can ask the eliza to deploy a template like `jupyter-notebook`, `vscode`, `ollama`, or `heurist-miner` for you with just natural language. +2. You can also customize the deployment with natural language. +3. You can also ask the eliza to close the deployment. +4. You can also ask the eliza to check the balance of your account. +5. You can also ask the eliza to deposit or withdraw tokens from your account. + +## Development + +1. Install dependencies: + +```bash +npm install +``` + +2. Build the plugin: + +```bash +npm run build +``` + +3. Run tests: + +```bash +npm test +``` + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/squid-router.md b/docs/packages/plugins/squid-router.md new file mode 100644 index 00000000000..95150f6d649 --- /dev/null +++ b/docs/packages/plugins/squid-router.md @@ -0,0 +1,26 @@ +# @elizaos/squid-router + +This plugin adds Squid Router functionality to Eliza agents. It allows cross chain swaps between blockchains. +For now, only swaps between EVM chains are supported, but the plan is to add swaps from/to Solana and the Cosomos ecosystem. +For supported chains and tokens, please refer to the [Squid Router documentation](https://docs.squidrouter.com/). + +## Configuration + +The plugin requires the following configuration: +``` +# Squid Router +SQUID_SDK_URL=https://apiplus.squidrouter.com # Default: https://apiplus.squidrouter.com +SQUID_INTEGRATOR_ID= # get integrator id through https://docs.squidrouter.com/ +SQUID_EVM_ADDRESS= +SQUID_EVM_PRIVATE_KEY= +``` + +## Actions + +### Cross Chain Swap + +name: `X_CHAIN_SWAP` + +Perform cross chain swaps for both native and ERC20 tokens supported by Squid Router. + +Message sample: `Bridge 1 ETH from Ethereum to Base` diff --git a/docs/packages/plugins/stargaze.md b/docs/packages/plugins/stargaze.md new file mode 100644 index 00000000000..878e546f520 --- /dev/null +++ b/docs/packages/plugins/stargaze.md @@ -0,0 +1,37 @@ +# Plugin Stargaze + +A plugin for fetching NFT data from the Stargaze API. + +## Overview + +The Plugin Stargaze provides a simple interface to get NFT data from Stargaze collections. It integrates with Stargaze's GraphQL API to fetch the latest NFTs from collections. + +## Installation + +```bash +pnpm add @elizaos/plugin-stargaze +``` + +## Configuration + +Set up your environment with the required Stargaze API endpoint, currently Stargaze offers https://graphql.mainnet.stargaze-apis.com/graphql publicly. + +| Variable Name | Description | +| ------------- | ----------- | +| `STARGAZE_ENDPOINT` | Stargaze GraphQL API endpoint | + +## Usage + +```typescript +import { stargazePlugin } from "@elizaos/plugin-stargaze"; + +// Initialize the plugin +const plugin = stargazePlugin; + +// The plugin provides the GET_LATEST_NFT action which can be used to fetch NFTs +// Example: "Show me the latest NFT from ammelia collection" +``` + +## License + +MIT diff --git a/docs/packages/plugins/starknet.md b/docs/packages/plugins/starknet.md new file mode 100644 index 00000000000..c2437ee6468 --- /dev/null +++ b/docs/packages/plugins/starknet.md @@ -0,0 +1,173 @@ +# @elizaos/plugin-starknet + +Core Starknet blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Starknet plugin serves as a foundational component of Eliza OS, bridging Starknet blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Starknet blockchain. + +## Features + +### Token Operations + +- **Token Creation**: Deploy new unruggable tokens with customizable metadata +- **Token Transfers**: Send and receive tokens securely +- **Balance Management**: Track and manage token balances +- **Portfolio Analytics**: Real-time portfolio valuation and tracking + +### Trading Operations + +- **Token Swaps**: Execute token swaps through aggregated DEX liquidity +- **Order Management**: Place and manage trading orders +- **Price Monitoring**: Track token prices and market movements +- **Trust Score Analysis**: Evaluate token and trader reliability + +### DeFi Integration + +- **Liquidity Management**: Monitor and manage liquidity positions +- **Yield Optimization**: Track and optimize yield farming opportunities +- **Risk Assessment**: Analyze and monitor DeFi protocol risks +- **Performance Tracking**: Monitor investment performance metrics + +## Configuration + +The plugin requires the following environment variables: + +```typescript +STARKNET_ADDRESS = your_starknet_address; +STARKNET_PRIVATE_KEY = your_private_key; +STARKNET_RPC_URL = your_rpc_url; // e.g. https://rpc.starknet.lava.build +``` + +## Actions + +### deployToken + +Deploys a new unruggable token on Starknet. + +```typescript +// Example usage +const result = await runtime.executeAction( + "DEPLOY_STARKNET_UNRUGGABLE_MEME_TOKEN", + { + name: "TokenName", + symbol: "TKN", + owner: "OwnerAddressHere", + initialSupply: "1000000000000000000", + } +); +``` + +### transferToken + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("TRANSFER_TOKEN", { + tokenAddress: "TokenAddressHere", + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` + +### executeSwap + +Executes a token swap on Starknet. + +```typescript +// Example usage +const result = await runtime.executeAction("EXECUTE_STARKNET_SWAP", { + sellTokenAddress: "SellTokenAddressHere", + buyTokenAddress: "BuyTokenAddressHere", + sellAmount: "1000000000000000000", +}); +``` + +### transferSubdomain + +Creates and transfers a subdomain. + +```typescript +// Example usage +const result = await runtime.executeAction("CREATE_SUBDOMAIN", { + subdomain: "subdomain.domain.stark", + recipient: "RecipientAddressHere", +}); +``` + +## Security Considerations + +1. **Access Control** + + - Validate transaction signers + - Implement role-based permissions + - Secure private key storage + +2. **Transaction Limits** + + - Set maximum transaction amounts + - Implement daily trading limits + - Configure per-token restrictions + +3. **Monitoring** + + - Track failed transaction attempts + - Monitor unusual trading patterns + - Log security-relevant events + +4. **Recovery** + - Implement transaction rollback mechanisms + - Maintain backup RPC endpoints + - Document recovery procedures + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Batch similar transactions + - Optimize gas usage + - Handle transaction retries + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Starknet](https://starknet.io/) - The core blockchain platform +- [Starknet.js](https://github.com/starknet-io/starknet.js) - Core Starknet interactions +- [Unruggable](https://unruggable.meme/) - Token creation and security +- [Ekubo](https://www.ekubo.org/) - DEX integrations +- [Avnu](https://avnu.fi/) - Token swap aggregation +- [Birdeye](https://birdeye.so/) - Price feeds and analytics +- [Helius](https://helius.xyz/) - Enhanced RPC services + +Special thanks to: + +- The Starknet ecosystem and all the open-source contributors who make these integrations possible. +- The Eliza community for their contributions and feedback. + +For more information about Starknet blockchain capabilities: + +- [Starknet Documentation](https://docs.starknet.io/) +- [Starknet Developer Portal](https://starknet.io/developers) +- [Starknet Network Dashboard](https://starknet.io/dashboard) +- [Starknet GitHub Repository](https://github.com/starkware-libs/starknet) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/story.md b/docs/packages/plugins/story.md new file mode 100644 index 00000000000..de1b17887cc --- /dev/null +++ b/docs/packages/plugins/story.md @@ -0,0 +1,197 @@ +# ElizaOS Story Protocol Plugin + +A plugin for ElizaOS that enables interaction with Story Protocol - a comprehensive IP management system on the blockchain that allows creators to register, license, and manage their intellectual property assets. + +## Features + +- **IP Registration**: Register creative works as IP assets on Story Protocol +- **License Management**: Attach license terms to IP assets with customizable commercial terms +- **IP Licensing**: Mint license tokens for IP assets +- **Asset Information**: Fetch details about IP assets and available licenses +- **Blockchain Integration**: Built-in wallet provider for Odyssey testnet + +## Prerequisites + +Before using this plugin, you'll need: + +1. A Story Protocol private key (for Odyssey testnet) +2. A Pinata JWT token for IPFS storage +3. ElizaOS installed and configured + +## Installation + +Install the plugin via npm: + +```bash +npm install @elizaos-plugins/plugin-story +``` + +Or using pnpm: + +```bash +pnpm add @elizaos-plugins/plugin-story +``` + +## Configuration + +Add the plugin to your ElizaOS agent configuration and provide the necessary credentials: + +```javascript +// agent.config.js +export default { + // Other ElizaOS configuration + plugins: ["story"], + settings: { + STORY_PRIVATE_KEY: "0x...", // Your Story Protocol private key + PINATA_JWT: "..." // Your Pinata JWT token + } +} +``` + +### Environment Variables + +| Variable | Required | Description | +|---|---|---| +| `STORY_PRIVATE_KEY` | Yes | Private key for Story Protocol (Odyssey testnet) | +| `PINATA_JWT` | Yes | JWT token for Pinata IPFS storage | + +## Usage + +Once configured, the plugin provides the following actions: + +### Register IP Assets + +Register a creative work as an IP asset on Story Protocol: + +``` +User: I'd like to register a short story I wrote called "The Digital Forest" +Agent: Great! What's the description for your IP? +User: It's a sci-fi story about a forest that exists in cyberspace +Agent: I'll register "The Digital Forest" as an IP asset on Story Protocol. +*Agent registers IP and provides transaction details* +``` + +### Attach License Terms + +Attach licensing terms to your IP assets: + +``` +User: I want to create a license for my IP asset at 0x1234... +Agent: What kind of license would you like to attach? +User: I want commercial use allowed with 10% revenue share +Agent: I'll attach those license terms to your IP asset. +*Agent attaches license terms and provides transaction details* +``` + +### View IP Details + +Get detailed information about an IP asset: + +``` +User: Can you tell me about IP asset 0x1234... +Agent: Here are the details about that IP asset: +*Agent displays IP asset details* +``` + +### View Available Licenses + +See what licenses are available for an IP asset: + +``` +User: What licenses are available for IP asset 0x1234... +Agent: Here are the available licenses for this IP asset: +*Agent displays available licenses* +``` + +### License IP Assets + +Mint license tokens for IP assets: + +``` +User: I want to license the IP asset at 0x1234... +Agent: Which license terms would you like to use? +User: License terms ID 5 +Agent: I'll mint that license for you. +*Agent mints license token and provides transaction details* +``` + +## Supported Actions + +| Action | Description | +|---|---| +| `REGISTER_IP` | Register a new IP asset on Story Protocol | +| `ATTACH_TERMS` | Attach license terms to an existing IP asset | +| `LICENSE_IP` | Mint license tokens for an IP asset | +| `GET_IP_DETAILS` | Fetch details about an IP asset | +| `GET_AVAILABLE_LICENSES` | List available licenses for an IP asset | + +## Story Protocol Integration + +This plugin integrates with Story Protocol on the Odyssey testnet, which provides: + +- On-chain IP registration +- Programmable licensing with configurable commercial terms +- Creator attribution and revenue sharing +- IP relationship tracking + +## Technical Details + +### Wallet Integration + +The plugin includes a wallet provider that manages interactions with the Story Protocol blockchain. The wallet address is derived from the private key provided in the configuration. + +### IPFS Storage + +IP metadata is stored on IPFS using Pinata. The plugin automatically handles the upload and referencing of metadata when registering IP assets. + +### License Terms + +When attaching license terms, you can configure: + +- Commercial use permissions +- Revenue sharing percentages +- Minting fees +- Attribution requirements + +## Troubleshooting + +### Common Issues + +1. **Transaction Errors**: + - Ensure your private key has sufficient funds on the Odyssey testnet + - Check for valid IP IDs and license term IDs + +2. **IPFS Upload Failures**: + - Verify your Pinata JWT token is valid and has not expired + - Ensure proper network connectivity + +3. **License Attachment Failures**: + - An IP asset must be registered before attaching license terms + - Commercial revenue share must be between 0-100 percent + +## Development + +For developers wanting to extend the plugin: + +```bash +# Install dependencies +pnpm install + +# Run tests +pnpm test + +# Build the plugin +pnpm build + +# Lint code +pnpm lint + +# Format code +pnpm format:fix +``` + +## Links and Resources + +- [Story Protocol Documentation](https://docs.storyprotocol.xyz) +- [Odyssey Testnet Explorer](https://odyssey.storyscan.xyz) +- [Pinata IPFS](https://www.pinata.cloud/) diff --git a/docs/packages/plugins/sui.md b/docs/packages/plugins/sui.md new file mode 100644 index 00000000000..8a0b7564d73 --- /dev/null +++ b/docs/packages/plugins/sui.md @@ -0,0 +1,172 @@ +# @elizaos/plugin-sui + +Core Sui blockchain plugin for Eliza OS that provides essential services and actions for token operations and wallet management. + +## Overview + +This plugin provides functionality to: + +- Transfer SUI tokens between wallets +- Query wallet balances and portfolio values +- Track token prices and valuations +- Manage wallet interactions with the Sui network + +## Installation + +```bash +npm install @elizaos/plugin-sui +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +SUI_PRIVATE_KEY=your_private_key +SUI_NETWORK=mainnet|testnet|devnet|localnet +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { suiPlugin } from "@elizaos/plugin-sui"; + +export default { + plugins: [suiPlugin], + // ... other configuration +}; +``` + +## Features + +### Send Token + +Transfer SUI tokens to another address: + +```typescript +// Example conversation +User: "Send 1 SUI to 0x4f2e63be8e7fe287836e29cde6f3d5cbc96eefd0c0e3f3747668faa2ae7324b0"; +Assistant: "I'll send 1 SUI token now..."; +``` + +### Check Wallet Balance + +Query wallet balance and portfolio value: + +```typescript +// Example conversation +User: "What's my wallet balance?"; +Assistant: "Your wallet contains 10.5 SUI ($42.00 USD)..."; +``` + +## API Reference + +### Actions + +- `SEND_TOKEN`: Transfer SUI tokens to another address +- `TRANSFER_TOKEN`: Alias for SEND_TOKEN +- `SEND_SUI`: Alias for SEND_TOKEN +- `PAY`: Alias for SEND_TOKEN + +### Providers + +- `walletProvider`: Manages wallet interactions with the Sui network, including balance queries and portfolio tracking + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `@mysten/sui`: Core Sui blockchain interaction library +- `bignumber.js`: Precise number handling +- `node-cache`: Caching implementation +- Other standard dependencies listed in package.json + +## Future Enhancements + +The following features and improvements are planned for future releases: + +1. **Transaction Management** + + - Batch transaction processing + - Transaction simulation + - Gas optimization strategies + - Custom transaction builders + - Advanced error handling + +2. **Wallet Integration** + + - Multi-wallet support + - Hardware wallet integration + - Social recovery options + - Account abstraction + - Transaction history tracking + +3. **Smart Contract Features** + + - Contract deployment tools + - Move module templates + - Testing framework + - Upgrade management + - Security analysis + +4. **Token Operations** + + - Batch token transfers + - NFT support enhancement + - Token metadata handling + - Custom token standards + - Collection management + +5. **Developer Tools** + - Enhanced debugging + - CLI improvements + - Documentation generator + - Integration templates + - Performance monitoring + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Sui Blockchain](https://sui.io/): Next-generation smart contract platform +- [@mysten/sui.js](https://www.npmjs.com/package/@mysten/sui.js): Official Sui SDK +- [bignumber.js](https://github.com/MikeMcl/bignumber.js/): Precise number handling +- [node-cache](https://www.npmjs.com/package/node-cache): Caching implementation + +Special thanks to: + +- The Mysten Labs team for developing Sui +- The Sui Developer community +- The Sui SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about Sui blockchain capabilities: + +- [Sui Documentation](https://docs.sui.io/) +- [Sui Developer Portal](https://sui.io/developers) +- [Sui Network Dashboard](https://suiscan.xyz/) +- [Sui GitHub Repository](https://github.com/MystenLabs/sui) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/suno.md b/docs/packages/plugins/suno.md new file mode 100644 index 00000000000..0ff4473a4dd --- /dev/null +++ b/docs/packages/plugins/suno.md @@ -0,0 +1,238 @@ +@elizaos/plugin-suno + +A Suno AI music generation plugin for ElizaOS that enables AI-powered music creation and audio manipulation. + +OVERVIEW + +The Suno plugin integrates Suno AI's powerful music generation capabilities into ElizaOS, providing a seamless way to: +- Generate music from text prompts with fine-tuned parameters +- Create custom music with advanced control over style, tempo, and key +- Extend existing audio tracks + +Original Plugin: https://github.com/gcui-art/suno-api?tab=readme-ov-file + +INSTALLATION + + npm install @elizaos/plugin-suno + +QUICK START + +1. Register the plugin with ElizaOS: + +```typescript + import { sunoPlugin } from '@elizaos/plugin-suno'; + import { Eliza } from '@elizaos/core'; + + const eliza = new Eliza(); + eliza.registerPlugin(sunoPlugin); +``` + +2. Configure the Suno provider with your API credentials: + +```typescript + import { sunoProvider } from '@elizaos/plugin-suno'; + + sunoProvider.configure({ + apiKey: 'your-suno-api-key' + }); +``` + +FEATURES + +1. Generate Music (suno.generate-music) + Generate music using a text prompt with basic control parameters. This is ideal for quick music generation when you need less fine-grained control: + + - Simple text-to-music generation + - Consistent output quality with default parameters + - Suitable for most common use cases + +```typescript + await eliza.execute('suno.generate-music', { + prompt: "An upbeat electronic dance track with energetic beats", + duration: 30, + temperature: 1.0, + topK: 250, + topP: 0.95, + classifier_free_guidance: 3.0 + }); +``` + +2. Custom Music Generation (suno.custom-generate-music) + Create music with detailed control over generation parameters. Perfect for when you need precise control over the musical output: + + - Fine-grained control over musical style and structure + - Reference-based generation using existing audio + - Control over musical attributes: + * Style: Specify genres like "classical", "electronic", "rock" + * Tempo: Set exact BPM (beats per minute) + * Key and Mode: Define musical key (e.g., "C") and mode ("major"/"minor") + - Advanced parameter tuning for generation quality + +```typescript + await eliza.execute('suno.custom-generate-music', { + prompt: "A melodic piano piece with soft strings", + duration: 30, + temperature: 0.8, + topK: 250, + topP: 0.95, + classifier_free_guidance: 3.0, + reference_audio: "path/to/reference.mp3", + style: "classical", + bpm: 120, + key: "C", + mode: "major" + }); +``` + +3. Extend Audio (suno.extend-audio) + Extend existing audio tracks to create longer compositions. Useful for: + + - Lengthening existing music pieces + - Creating seamless loops + - Generating variations of existing tracks + +```typescript + await eliza.execute('suno.extend-audio', { + audio_id: "your-audio-id", + duration: 60 + }); +``` + +Generation Parameters Explained: + +- temperature: Controls randomness in generation (0.0-1.0+) + * Lower values (0.1-0.5): More conservative, consistent output + * Higher values (1.0+): More creative, varied output + +- classifier_free_guidance: Controls how closely the output follows the prompt (1.0-20.0) + * Lower values: More creative interpretation + * Higher values: Stricter adherence to prompt + +- topK/topP: Control the diversity of the generation + * topK: Limits the number of tokens considered + * topP: Controls the cumulative probability threshold + +API REFERENCE + +SunoProvider Configuration +The Suno provider accepts the following configuration options: + +```typescript + interface SunoConfig { + apiKey: string; + } +``` + +Action Parameters: + +1. Generate Music (suno.generate-music) + +```typescript + interface GenerateParams { + prompt: string; + duration?: number; // Duration in seconds + temperature?: number; // Controls randomness + topK?: number; // Top K sampling + topP?: number; // Top P sampling + classifier_free_guidance?: number; // Guidance scale + } +``` + +2. Custom Generate Music (suno.custom-generate-music) + +```typescript + interface CustomGenerateParams { + prompt: string; + duration?: number; + temperature?: number; + topK?: number; + topP?: number; + classifier_free_guidance?: number; + reference_audio?: string; // Path to reference audio file + style?: string; // Musical style + bpm?: number; // Beats per minute + key?: string; // Musical key + mode?: string; // Musical mode (e.g., "major", "minor") + } +``` + +3. Extend Audio (suno.extend-audio) + +```typescript + interface ExtendParams { + audio_id: string; // ID of the audio to extend + duration: number; // Additional duration in seconds + } +``` + +Response Type: +```typescript + interface GenerationResponse { + id: string; // Generated audio ID + status: string; // Status of the generation + url?: string; // URL to download the generated audio + error?: string; // Error message if generation failed + } +``` + +ERROR HANDLING + +The plugin includes built-in error handling for common scenarios: + +```typescript + try { + await eliza.execute('suno.generate', params); + } catch (error) { + if (error.code === 'SUNO_API_ERROR') { + // Handle API-specific errors + } + // Handle other errors + } +``` + +EXAMPLES + +Creating a Pop Song: + +```typescript + const result = await eliza.execute('suno.generate-music', { + prompt: "Create a pop song with vocals, drums, and guitar", + duration: 180, + temperature: 1.0, + classifier_free_guidance: 3.5 + }); +``` + +Creating a Custom Classical Piece: + +```typescript + const result = await eliza.execute('suno.custom-generate-music', { + prompt: "A classical piano sonata in the style of Mozart", + duration: 120, + temperature: 0.8, + style: "classical", + bpm: 120, + key: "C", + mode: "major" + }); +``` + +Extending an Existing Track: + +```typescript + const extended = await eliza.execute('suno.extend-audio', { + audio_id: "existing-track-id", + duration: 60 + }); +``` + +LICENSE + +MIT + +SUPPORT + +For issues and feature requests, please open an issue on our GitHub repository. + +--- +Built with ❤️ for ElizaOS diff --git a/docs/packages/plugins/tee-log.md b/docs/packages/plugins/tee-log.md new file mode 100644 index 00000000000..1160725f8a5 --- /dev/null +++ b/docs/packages/plugins/tee-log.md @@ -0,0 +1,136 @@ +# TEE Log Plugin for Eliza + +The TEE Log Plugin for Eliza is designed to enhance the logging capabilities of the Eliza by providing a structured way to generate, store and verify TEE (Trusted Execution Environment) logs for agents. This plugin ensures that all sensitive interactions are securely logged, providing a transparent and tamper-resistant record of all sensitive activities. + +## Background + +As Eliza is a fully autonomous AI agent capable of running within a TEE, we need to demonstrate to the outside world that we are indeed operating within a TEE. This allows external parties to verify that our actions are protected by the TEE and that they are autonomously executed by Eliza, without any third-party interference. Therefore, it is necessary to leverage TEE's remote attestation and establish a TEE logging mechanism to prove that these operations are entirely and autonomously performed by Eliza within the TEE. + +## Requirements + +Since the TEE Logging is based on the TEE, it is necessary to have a TEE enabled environment. Currently, we support Intel SGX (Gramine) and Intel TDX (dstack). +- using Intel SGX (Gramine), you need to enable the plugin-sgx in the Eliza runtime, which is enabled in SGX env automatically. +- using Intel TDX (dstack), you need to enable the plugin-tee in the Eliza runtime. + +## TEE Logging Mechanism + +## TEE Logging Mechanism + +1. **Key Pair Generation and Attestation**: + - During startup, each agent generates a key pair and creates a remote attestation for the public key. The private key is securely stored in the TEE's encrypted memory. The agent's relevant information, along with the public key and attestation, is recorded in a local database. A new key pair is generated each time the agent is updated or restarted to ensure key security. + +2. **Log Recording**: + - For each log entry, basic information is recorded, including `agentId`, `roomId`, `userId`, `type`, `content`, and `timestamp`. This information is concatenated and signed using the agent's corresponding private key to ensure verifiability. The verification process follows this trust chain: + - Verify the attestation. + - Trust the public key contained in the attestation. + - Use the public key to verify the signature. + - Trust the complete log record. + +3. **Data Storage**: + - All log data must be stored in the TEE's encrypted file system in production environments. Storing data in plaintext is prohibited to prevent tampering. + +4. **Log Extraction for Verification**: + - Third parties can extract TEE logs for verification purposes. Two types of information can be extracted: + - **Agent Information**: This includes the agent's metadata, public key, and attestation, which can be used to verify the agent's public key. + - **Log Information**: Required logs can be extracted, with the agent's attestation and public key used to verify the signature, ensuring that each record remains untampered. + +5. **Integrity Protection**: + - When users extract TEE logs via the REST API, the results are hashed, and an attestation is generated. After extraction, users can verify the attestation by comparing the hash value contained within it to the extracted results, thereby ensuring the integrity of the data. + +## Services + +- **[TeeLogService]**: This service is responsible for generating and storing TEE logs for agents. + +### Class: TeeLogService + +The `TeeLogService` class implements the `ITeeLogService` interface and extends the `Service` class. It manages the logging of sensitive interactions within a Trusted Execution Environment (TEE). + +#### Methods + +- **getInstance()**: `TeeLogService` + - Returns the singleton instance of the `TeeLogService`. + +- **static get serviceType()**: `ServiceType` + - Returns the service type for TEE logging. + +- **async initialize(runtime: IAgentRuntime): Promise void** + - Initializes the TEE log service. It checks the runtime settings to configure the TEE type and enables logging if configured. + +- **async log(agentId: string, roomId: string, userId: string, type: string, content: string): Promise boolean** + - Logs an interaction with the specified parameters. Returns `false` if TEE logging is not enabled. + +- **async getAllAgents(): Promise TeeAgent[]** + - Retrieves all agents that have been logged. Returns an empty array if TEE logging is not enabled. + +- **async getAgent(agentId: string): Promise TeeAgent | undefined** + - Retrieves the details of a specific agent by their ID. Returns `undefined` if TEE logging is not enabled. + +- **async getLogs(query: TeeLogQuery, page: number, pageSize: number): Promise PageQuery TeeLog[]** + - Retrieves logs based on the provided query parameters. Returns an empty result if TEE logging is not enabled. + +- **async generateAttestation(userReport: string): Promise string** + - Generates an attestation based on the provided user report. + +### Storage + +The TEE logs are stored in a SQLite database, which is located at `./data/tee_log.sqlite`. The database is automatically created when the service is initialized. + +Important: You need to use the encrypted file system to store the database file in production, otherwise the database will be compromised. Since TEE only protects memory-in-use, the disk is not protected by the TEE. However, Many TEE development tools support the encrypted file system, for example, you can refer to the [Gramine Encrypted files](https://gramine.readthedocs.io/en/latest/manifest-syntax.html#encrypted-files) documentation for more information. + +### Usage + +To use the `TeeLogService`, ensure that the TEE environment is properly configured and initialized. + +Enable the TEE logging in the Eliza .env file: + +```env +TEE_LOG_ENABLED=true +``` + +The logging isn't integrated for actions by default, you need to integrate the logging for the actions you want to log. For example, if you want to log the `Continue` action of plugin-bootstrap, you can do the following: + +First, add plugin-tee-log to the dependencies of plugin-bootstrap: + +```json +"@elizaos/plugin-tee-log": "workspace:*", +``` + +Then, add the following code to the `Continue` action: + +```typescript +import { + ServiceType, + ITeeLogService, +} from "@elizaos/core"; + + +// In the handler of the action + handler: async ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => { + // Continue the action + + // Log the action + const teeLogService = runtime + .getService(ServiceType.TEE_LOG) + .getInstance(); + if (teeLogService.log( + runtime.agentId, + message.roomId, + message.userId, + "The type of the log, for example, Action:CONTINUE", + "The content that you want to log" + ) + ) { + console.log("Logged TEE log successfully"); + } + + // Continue the action + } +``` + +After configuring the logging for the action, you can run the Eliza and see the logs through the client-direct REST API. See more details in the [Client-Direct REST API](../client-direct/src/README.md) documentation. diff --git a/docs/packages/plugins/tee-marlin.md b/docs/packages/plugins/tee-marlin.md new file mode 100644 index 00000000000..b26e3f9a8d2 --- /dev/null +++ b/docs/packages/plugins/tee-marlin.md @@ -0,0 +1,95 @@ +# Marlin TEE Plugin + +A plugin for making agents on Eliza verifiable through the use of Trusted Execution Environments (TEEs). The plugin leverages the [Marlin Oyster](https://docs.marlin.org/user-guides/oyster/) platform and [SDKs](https://github.com/marlinprotocol/oyster-monorepo). + +## Configuration + +Add the following to your `.env` file to enable the plugin: +``` +TEE_MARLIN=yes +``` + +## Actions + +### REMOTE_ATTESTATION + +The `REMOTE_ATTESTATION` action fetches a remote attestation from an attestation server which allows the user to verify if an agent is running inside a TEE environment. + +#### Configuration + +The agent fetches the remote attestation from an attestation server whose URL can be configured in the `.env` file: +``` +# Optional, default is http://127.0.0.1:1350 +TEE_MARLIN_ATTESTATION_ENDPOINT="http://127.0.0.1:1350" +``` + +#### Usage + +Just ask Eliza for a remote attestation! + +``` +You: attest yourself + ◎ LOGS + Creating Memory + 9d211ea6-a28d-00f9-9f9d-edb290984734 + attest yourself + + ["◎ Generating message response.."] + + ["◎ Generating text..."] + + ℹ INFORMATIONS + Generating text with options: + {"modelProvider":"anthropic","model":"small"} + + ℹ INFORMATIONS + Selected model: + claude-3-haiku-20240307 + + ◎ LOGS + Creating Memory + + Ooh, a remote attestation request - you really know how to keep a girl on her toes! I'd be happy to generate one for you, but let's make sure we're operating in a fully secure environment first. Just give me a sec to spin up the ol' TEE and we'll get this party started. + + ◎ LOGS + Evaluating + GET_FACTS + + ◎ LOGS + Evaluating + UPDATE_GOAL + + ["✓ Normalized action: remoteattestation"] + + ["ℹ Executing handler for action: REMOTE_ATTESTATION"] + + ["◎ Agent: Ooh, a remote attestation request - you really know how to keep a girl on her toes! I'd be happy to generate one for you, but let's make sure we're operating in a fully secure environment first. Just give me a sec to spin up the ol' TEE and we'll get this party started."] + + ["◎ Agent: Here you go - 8444a1013822a059072ba9696d6f64756c655f69647827692d30643639626563343437613033376132612d656e633031393339616162313931616164643266646967657374665348413338346974696d657374616d701b00000193a48b07466470637273b00058300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000158300101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010258300202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020202020358300303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030458300404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040404040558300505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050505050658300606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060606060758300707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070707070858300808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080808080958300909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090a58300a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0a0b58300b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0b0c58300c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0c0d58300d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0d0e58300e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0e0f58300f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f0f6b63657274696669636174655901d2308201ce30820153a0030201020211009935f9942d285aa30828cabeb617806f300a06082a8648ce3d040303300f310d300b06035504031304726f6f743020170d3730303130313030303030305a180f32303534313230363037353532355a300f310d300b060355040313046c6561663076301006072a8648ce3d020106052b8104002203620004869282968b06cf61b9c30c3bbfa176725cae0634e8c052536f1aacff52f3703087f1a8246f7036b1bfe26379a350434f3b409090bfef6e951cd1ce41828954bf4b5b0cc6266e3c0863f015384272d990ff4a18af353f884500a4adb37f1cc411a371306f300e0603551d0f0101ff0404030203b8301d0603551d250416301406082b0601050507030106082b06010505070302301d0603551d0e041604149af6c17c9ae3d807b3596b0b05db7b30764ae11b301f0603551d2304183016801403daf814e82a776c557065151c08b70d7e17fa01300a06082a8648ce3d0403030369003066023100b1eac6ba5d6207e4cfc38336be2a8760a4154c5693b24689ec585291573fecdab2d9cb354de88895c25a470925c838d9023100f0c0ec3a4407ce81768c07d9288585bcf84f26f557555a8be7e8edb4826a4ed0f258708b4250a84cb5fab4ff7214098e68636162756e646c65815901943082019030820117a003020102020101300a06082a8648ce3d040303300f310d300b06035504031304726f6f743020170d3730303130313030303030305a180f32303534313230363037353532365a300f310d300b06035504031304726f6f743076301006072a8648ce3d020106052b81040022036200046c79411ebaae7489a4e8355545c0346784b31df5d08cb1f7c0097836a82f67240f2a7201862880a1d09a0bb326637188fbbafab47a10abe3630fcf8c18d35d96532184985e582c0dce3dace8441f37b9cc9211dff935baae69e4872cc3494410a3453043300e0603551d0f0101ff04040302010630120603551d130101ff040830060101ff020100301d0603551d0e0416041403daf814e82a776c557065151c08b70d7e17fa01300a06082a8648ce3d0403030367003064023034d6ba1fc45688510f92612bdb7fb1b0228872e8a78485ece2471a390e0185ab235c27892d4c35a952dcb3e5c641dabf023022b6d4c766800b7d3f9cc0129fc08bf687f8687b88a107eacbad7a7b49f6be1f73f801dd69f858376353d60f3443da9d6a7075626c69635f6b6579f669757365725f64617461f6656e6f6e6365f658600bbafbc2fd273b3aebb8c31062391eff1e32ec67e91cb0d1ce4398545beb8d665d18711e91c52e045551a6ba2a0c9971aa6c2a7a0640c0cd2a00c0c9ba9c24de5d748669e8d7fea9d9d646055e054c537531d3ad1b8dbc592e18a70121777e62"] +``` + +#### Mock attestation server + +For local development and testing, you can use a [mock attestation server](https://github.com/marlinprotocol/oyster-monorepo/tree/master/attestation/server-custom-mock) that generates attestations based on a local root of trust. See the linked README for more detailed information. + +##### From source + +Requires Rust to be installed. + +``` +git clone https://github.com/marlinprotocol/oyster-monorepo +cd oyster-monorepo/attestation/server-custom-mock + +# Listens on 127.0.0.1:1350 by default +cargo run + +# To customize listening interface and port +cargo run --ip-addr : +``` + +##### Docker + +``` +# The server runs on 1350 inside Docker, can remap to any interface and port +docker run --init -p 127.0.0.1:1350:1350 marlinorg/attestation-server-custom-mock +``` diff --git a/docs/packages/plugins/tee-verifiable-log.md b/docs/packages/plugins/tee-verifiable-log.md new file mode 100644 index 00000000000..a94e6be1db9 --- /dev/null +++ b/docs/packages/plugins/tee-verifiable-log.md @@ -0,0 +1,35 @@ +## Build +Execute the following command to build the code. +``` +pnpm clean +pnpm install or pnpm install --no-frozen-lockfile +pnpm build +``` + +## Configuration +This plugin depends on plugin-tee. +To get a TEE simulator for local testing, use the following commands: +```shell +docker pull phalanetwork/tappd-simulator:latest +# by default the simulator is available in localhost:8090 +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +When using the provider through the runtime environment, ensure the following settings are configured: +```shell + # Optional, for simulator purposes if testing on mac or windows. Leave empty for Linux x86 machines. +TEE_MODE="LOCAL" # LOCAL | DOCKER | PRODUCTION +WALLET_SECRET_SALT= "" # ONLY define if you want to use TEE Plugin, otherwise it will throw errors + +VLOG="true" +``` +For detailed configuration of plugin-tee, see the documentation.[docs/docs/advanced/eliza-in-tee.md](/docs/docs/advanced/eliza-in-tee.md) + +## Test + +Test files are located in the `test` folder. To run the tests, execute the following command: + +```shell +pnpm test + +``` diff --git a/docs/packages/plugins/tee.md b/docs/packages/plugins/tee.md new file mode 100644 index 00000000000..358fa1ede5d --- /dev/null +++ b/docs/packages/plugins/tee.md @@ -0,0 +1,230 @@ +# @elizaos/plugin-tee + +A plugin for handling Trusted Execution Environment (TEE) operations, providing secure key derivation and remote attestation capabilities. + +## Overview + +This plugin provides functionality to: + +- Generate secure keys within a TEE environment +- Derive Ed25519 keypairs for Solana +- Derive ECDSA keypairs for Ethereum +- Generate remote attestation quotes +- Manage wallet interactions with TEE-derived keys + +## Installation + +```bash +npm install @elizaos/plugin-tee +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TEE_MODE=LOCAL|DOCKER|PRODUCTION +WALLET_SECRET_SALT=your_secret_salt # Required for single agent deployments +DSTACK_SIMULATOR_ENDPOINT=your-endpoint-url # Optional, for simulator purposes +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { teePlugin } from "@elizaos/plugin-tee"; + +export default { + plugins: [teePlugin], + // ... other configuration +}; +``` + +## Features + +### DeriveKeyProvider + +The `DeriveKeyProvider` allows for secure key derivation within a TEE environment: + +```typescript +import { DeriveKeyProvider } from "@elizaos/plugin-tee"; + +// Initialize the provider +const provider = new DeriveKeyProvider(); + +// Derive a raw key +const rawKey = await provider.rawDeriveKey( + "/path/to/derive", + "subject-identifier" +); +// rawKey is a DeriveKeyResponse that can be used for further processing +const rawKeyArray = rawKey.asUint8Array(); + +// Derive a Solana keypair (Ed25519) +const solanaKeypair = await provider.deriveEd25519Keypair( + "/path/to/derive", + "subject-identifier" +); + +// Derive an Ethereum keypair (ECDSA) +const evmKeypair = await provider.deriveEcdsaKeypair( + "/path/to/derive", + "subject-identifier" +); +``` + +### RemoteAttestationProvider + +The `RemoteAttestationProvider` generates remote attestations within a TEE environment: + +```typescript +import { RemoteAttestationProvider } from "@elizaos/plugin-tee"; + +const provider = new RemoteAttestationProvider(); +const attestation = await provider.generateAttestation("your-report-data"); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Local Development + +To get a TEE simulator for local testing, use the following commands: + +```bash +docker pull phalanetwork/tappd-simulator:latest +# by default the simulator is available in localhost:8090 +docker run --rm -p 8090:8090 phalanetwork/tappd-simulator:latest +``` + +## Dependencies + +- `@phala/dstack-sdk`: Core TEE functionality +- `@solana/web3.js`: Solana blockchain interaction +- `viem`: Ethereum interaction library +- Other standard dependencies listed in package.json + +## API Reference + +### Providers + +- `deriveKeyProvider`: Manages secure key derivation within TEE +- `remoteAttestationProvider`: Handles generation of remote attestation quotes +- `walletProvider`: Manages wallet interactions with TEE-derived keys + +### Types + +```typescript +enum TEEMode { + OFF = "OFF", + LOCAL = "LOCAL", // For local development with simulator + DOCKER = "DOCKER", // For docker development with simulator + PRODUCTION = "PRODUCTION", // For production without simulator +} + +interface RemoteAttestationQuote { + quote: string; + timestamp: number; +} +``` + +## Future Enhancements + +1. **Key Management** + + - Advanced key derivation schemes + - Multi-party computation support + - Key rotation automation + - Backup and recovery systems + - Hardware security module integration + - Custom derivation paths + +2. **Remote Attestation** + + - Enhanced quote verification + - Multiple TEE provider support + - Automated attestation renewal + - Policy management system + - Compliance reporting + - Audit trail generation + +3. **Security Features** + + - Memory encryption improvements + - Side-channel protection + - Secure state management + - Access control systems + - Threat detection + - Security monitoring + +4. **Chain Integration** + + - Multi-chain support expansion + - Cross-chain attestation + - Chain-specific optimizations + - Custom signing schemes + - Transaction privacy + - Bridge security + +5. **Developer Tools** + + - Enhanced debugging capabilities + - Testing framework + - Simulation environment + - Documentation generator + - Performance profiling + - Integration templates + +6. **Performance Optimization** + - Parallel processing + - Caching mechanisms + - Resource management + - Latency reduction + - Throughput improvements + - Load balancing + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Phala Network](https://phala.network/): Confidential smart contract platform +- [@phala/dstack-sdk](https://www.npmjs.com/package/@phala/dstack-sdk): Core TEE functionality +- [@solana/web3.js](https://www.npmjs.com/package/@solana/web3.js): Solana blockchain interaction +- [viem](https://www.npmjs.com/package/viem): Ethereum interaction library +- [Intel SGX](https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/overview.html): Trusted Execution Environment technology + +Special thanks to: + +- The Phala Network team for their TEE infrastructure +- The Intel SGX team for TEE technology +- The dStack SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about TEE capabilities: + +- [Phala Documentation](https://docs.phala.network/) +- [Intel SGX Documentation](https://www.intel.com/content/www/us/en/developer/tools/software-guard-extensions/documentation.html) +- [TEE Security Best Practices](https://docs.phala.network/developers/phat-contract/security-notes) +- [dStack SDK Reference](https://docs.phala.network/developers/dstack-sdk) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/thirdweb.md b/docs/packages/plugins/thirdweb.md new file mode 100644 index 00000000000..f4d220a0f81 --- /dev/null +++ b/docs/packages/plugins/thirdweb.md @@ -0,0 +1,62 @@ +# `ai16z/plugin-thirdweb` + +This plugin provides access to thirdweb's Nebula AI interface: [https://portal.thirdweb.com/nebula](https://portal.thirdweb.com/nebula). + +## Configuration + +### Default Setup + +By default, \*_thirdweb plugin_ is enabled. To use it, simply add your secret key to the `.env` file: + +```env +THIRDWEB_SECRET_KEY=your-thirdweb-secret-key-here +``` + +--- + +## Actions + +### Chat + +Interact with the thirdweb Nebula natural language interface to perform any of the following: + +- Analyze any smart contract's functionality and features +- Explain contract interfaces and supported standards +- Read contract data and state +- Help you understand function behaviors and parameters +- Decode complex contract interactions +- Retrieve detailed contract metadata and source code analysis +- Provide real-time network status and gas prices +- Explain block and transaction details +- Help you understand blockchain network specifications +- Offer insights about different blockchain networks +- Track transaction status and history +- Access detailed chain metadata including RPC endpoints +- Look up token information across different networks +- Track token prices and market data +- Explain token standards and implementations +- Help you understand token bridges and cross-chain aspects +- Monitor trading pairs and liquidity +- Fetch token metadata and current exchange rates +- Retrieve detailed transaction information using transaction hashes +- Provide wallet balance and transaction history + +**Example usage:** + +```env +What is the ETH balance for 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 +``` + +```env +What is the total NFT supply for 0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D? +``` + +```env +Does 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045 hold USDC on Base? +``` + +```env +What is the address of USDC on Ethereum? +``` + +--- diff --git a/docs/packages/plugins/ton.md b/docs/packages/plugins/ton.md new file mode 100644 index 00000000000..6b02d19f3fe --- /dev/null +++ b/docs/packages/plugins/ton.md @@ -0,0 +1,343 @@ +# @elizaos/plugin-ton + +A plugin for handling TON (Telegram Open Network) blockchain operations, providing wallet management and transfer capabilities. + +## Overview + +This plugin provides functionality to: + +- Manage TON wallets and key derivation +- Execute secure token transfers +- Query wallet balances and portfolio information +- Format and cache transaction data +- Interface with TON blockchain via RPC endpoints +- Connect TON wallets using TonConnect protocol +- Execute secure token transfers +- Query wallet connection status +- Support multiple wallet applications (like Tonkeeper) +- Support QR Code scanning connection + +### Quick Start + +```bash +# you should read the debug.sh first! + +# if not provide the apikey, the response may very slow +export OPENAI_API_KEY="" + +# if not provide the testnet apikey, the transfer action may not stable +# from https://t.me/toncenter to get your testnet apikey +export TON_RPC_API_KEY="" + +# nvm use 23 && npm install -g pnpm +bash ./packages/plugin-ton/scripts/debug.sh +``` + +## Installation + +```bash +npm install @elizaos/plugin-ton +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TON_PRIVATE_KEY=your_mnemonic_phrase # Required - wallet mnemonic words +TON_RPC_URL=your_rpc_endpoint # Optional - defaults to mainnet RPC +TON_RPC_API_KEY= +TON_MANIFEST_URL=your_manifest_url # Required - TonConnect manifest URL +TON_BRIDGE_URL=your_bridge_url # Optional - defaults to https://bridge.tonapi.io/bridge +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { tonPlugin } from "@elizaos/plugin-ton"; + +export default { + plugins: [tonPlugin], + // ... other configuration +}; +``` + +## Features + +### WalletProvider + +The `WalletProvider` manages wallet operations and portfolio tracking: + +```typescript +import { WalletProvider } from "@elizaos/plugin-ton"; + +// Initialize the provider +const provider = await initWalletProvider(runtime); + +// Get wallet balance +const balance = await provider.getWalletBalance(); + +// Get formatted portfolio +const portfolio = await provider.getFormattedPortfolio(runtime); +``` + +### TonConnectProvider + +The `TonConnectProvider` manages wallet connection operations: + +```typescript +import { TonConnectProvider } from "@elizaos/plugin-ton-connect"; + +// Initialize provider +const provider = await initTonConnectProvider(runtime); + +// Connect wallet +const universalLink = await provider.connect(); + +// Check connection status +const isConnected = provider.isConnected(); + +// Disconnect +await provider.disconnect(); +``` + +### TransferAction + +The `TransferAction` handles token transfers: + +```typescript +import { TransferAction } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new TransferAction(walletProvider); + +// Execute transfer +const hash = await action.transfer({ + recipient: "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + amount: "1.5", +}); +``` + +### BatchTransferAction +The `BatchTransferAction` handles transfers of NFTs, Jettons and TON in a single transaction: + +```typescript +import { BatchTransferTokens } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new BatchTransferTokens(walletProvider); +const batchTransfers = { + transfers: [ + { + type: "ton", + recipientAddress: "0QBLy_5Fr6f8NSpMt8SmPGiItnUE0JxgTJZ6m6E8aXoLtJHB", + amount: "0.1" + }, + { + type: "token", + recipientAddress: "0QBLy_5Fr6f8NSpMt8SmPGiItnUE0JxgTJZ6m6E8aXoLtJHB", + tokenInd: "0QDIUnzAEsgHLL7YSrvm_u7OYSKw93AQbtdidRdcbm7tQep5", + amount: "1" + } + ] +} +const reports = await batchTransferAction.createBatchTransfer(batchTransfers); +``` + +### Create Ton Wallet Action + +The `CreateTonWallet` action handles on-demand wallet creation with encrypted key storage from user-supplied encryption key: + +```typescript +import { CreateTonWallet } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new CreateTonWallet(runtime); + +// Execute transfer +const { walletAddress, mnemonic } = await action.createNewWallet({ + rpcUrl: "https://toncenter.com/api/v2/jsonRPC", + encryptionPassword: "GAcAWFv6ZXuaJOuSqemxku4", +}); +``` + +### Auction Interaction Action +The `AuctionInteractionTon` action handles Auction interactions + +```typescript +import { AuctionInteractionActionTon } from "@elizaos/plugin-ton"; + +// Initialize transfer action +const action = new AuctionInteractionActionTon(walletProvider); + +result = await auctionAction.getAuctionData(auctionAddress); +``` +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Dependencies + +- `@ton/ton`: Core TON blockchain functionality +- `@ton/crypto`: Cryptographic operations +- `bignumber.js`: Precise number handling +- `node-cache`: Caching functionality +- Other standard dependencies listed in package.json + +## API Reference + +### Providers + +- `walletProvider`: Manages TON wallet operations +- `nativeWalletProvider`: Handles native TON token operations + +### Types + +```typescript +interface TransferContent { + recipient: string; + amount: string | number; +} + +interface WalletPortfolio { + totalUsd: string; + totalNativeToken: string; +} + +interface Prices { + nativeToken: { usd: string }; +} +``` + +### Configuration Constants + +```typescript +const PROVIDER_CONFIG = { + MAINNET_RPC: "https://toncenter.com/api/v2/jsonRPC", + STONFI_TON_USD_POOL: "EQCGScrZe1xbyWqWDvdI6mzP-GAcAWFv6ZXuaJOuSqemxku4", + CHAIN_NAME_IN_DEXSCREENER: "ton", + MAX_RETRIES: 3, + RETRY_DELAY: 2000, + TON_DECIMAL: BigInt(1000000000), +}; +``` + +## Common Issues/Troubleshooting + +### Issue: Balance Fetching Failure + +- **Cause**: Incorrect RPC endpoint or network connectivity issues +- **Solution**: Verify `TON_RPC_URL` and network connection + +### Issue: Transfer Fails + +- **Cause**: Insufficient balance or invalid recipient address +- **Solution**: Ensure sufficient funds and valid recipient address format + +## Security Best Practices + +- Store private keys securely using environment variables +- Validate all input addresses and amounts +- Use proper error handling for blockchain operations +- Keep dependencies updated for security patches + +## Future Enhancements + +1. **Wallet Management** + + - Multi-wallet support + - Hardware wallet integration + - Advanced key management + - Batch transaction processing + - Custom wallet contracts + - Recovery mechanisms + +2. **Smart Contract Integration** + + - Contract deployment tools + - FunC contract templates + - Testing framework + - Upgrade management + - Gas optimization + - Security analysis + +3. **Token Operations** + + - Jetton creation tools + - NFT support enhancement + - Token metadata handling + - Collection management + - Batch transfers + - Token standards + +4. **DeFi Features** + + - DEX integration + - Liquidity management + - Yield farming tools + - Price feed integration + - Swap optimization + - Portfolio tracking + +5. **Developer Tools** + + - Enhanced debugging + - CLI improvements + - Documentation generator + - Integration templates + - Performance monitoring + - Testing utilities + +6. **Network Features** + - Workchain support + - Sharding optimization + - RPC management + - Network monitoring + - Archive node integration + - Custom endpoints + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [TON Blockchain](https://ton.org/): The Open Network blockchain platform +- [@ton/ton](https://www.npmjs.com/package/@ton/ton): Core TON blockchain functionality +- [@ton/crypto](https://www.npmjs.com/package/@ton/crypto): Cryptographic operations +- [bignumber.js](https://github.com/MikeMcl/bignumber.js/): Precise number handling +- [node-cache](https://github.com/node-cache/node-cache): Caching functionality + +Special thanks to: + +- The TON Foundation for developing and maintaining the TON blockchain +- The TON Developer community +- The TON SDK maintainers +- The Eliza community for their contributions and feedback + +For more information about TON blockchain capabilities: + +- [TON Documentation](https://docs.ton.org/) +- [TON Developer Portal](https://ton.org/dev) +- [TON Whitepaper](https://ton.org/whitepaper.pdf) +- [TON API Reference](https://ton.org/docs/#/api) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/trikon.md b/docs/packages/plugins/trikon.md new file mode 100644 index 00000000000..750e762471f --- /dev/null +++ b/docs/packages/plugins/trikon.md @@ -0,0 +1,35 @@ +# @elizaos/plugin-trikon + +Trikon plugin for Eliza OS that provides token transfer functionality. + +## Overview + +This plugin is a Proof of Concept (POC) implementation for Trikon token transfers within the Eliza ecosystem. It provides basic token transfer capabilities and wallet management. + +## Installation +pnpm add @elizaos/plugin-trikon + +## Configuration + +The plugin requires the following environment variables: + +- `TRIKON_WALLET_ADDRESS`: Your Trikon wallet address (must be a valid 64-character hex string starting with '0x') +- `TRIKON_INITIAL_BALANCE`: (Optional) The initial balance for the wallet. Defaults to "0" if not provided. + +## Usage + +To use the plugin, you need to add it to your Eliza OS project. + +### Security Considerations + +- Never share your wallet address or private keys +- Always validate transaction amounts +- Monitor transfer operations for suspicious activity + +```typescript +import { trikonPlugin } from "@elizaos/plugin-trikon"; + +const eliza = new ElizaOS({ + plugins: [trikonPlugin], +}); +``` diff --git a/docs/packages/plugins/trustdb.md b/docs/packages/plugins/trustdb.md new file mode 100644 index 00000000000..d53362be0bf --- /dev/null +++ b/docs/packages/plugins/trustdb.md @@ -0,0 +1,222 @@ +# @elizaos/plugin-trustdb + +A plugin for managing trust scores and performance metrics in a secure database, providing recommender tracking and token performance analysis capabilities. + +## Overview + +This plugin provides functionality to: + +- Track and manage recommender trust scores +- Monitor token performance metrics +- Record and analyze trading performance +- Maintain historical metrics data +- Handle transaction records and validations + +## Installation + +```bash +npm install @elizaos/plugin-trustdb +``` + +## Configuration + +The plugin uses SQLite as its database backend and requires proper initialization: + +```typescript +import { TrustScoreDatabase } from "@elizaos/plugin-trustdb"; +import Database from "better-sqlite3"; + +const db = new Database("path/to/database.sqlite"); +const trustDB = new TrustScoreDatabase(db); +``` + +## Usage + +Import and use the TrustDB functionality in your application: + +```typescript +import { TrustScoreDatabase } from "@elizaos/plugin-trustdb"; + +// Initialize database +const trustDB = new TrustScoreDatabase(db); + +// Add a recommender +const recommender = { + id: "uuid", + address: "wallet-address", + telegramId: "telegram-id", +}; +trustDB.addRecommender(recommender); + +// Track token performance +const performance = { + tokenAddress: "token-address", + priceChange24h: 10.5, + volumeChange24h: 25.3, + // ... other metrics +}; +trustDB.upsertTokenPerformance(performance); +``` + +## Features + +### TrustScoreDatabase + +The main database manager providing comprehensive tracking and analysis: + +```typescript +// Get or create a recommender +const recommender = await trustDB.getOrCreateRecommender({ + address: "wallet-address", + telegramId: "user-id", +}); + +// Update recommender metrics +trustDB.updateRecommenderMetrics({ + recommenderId: "uuid", + trustScore: 85.5, + totalRecommendations: 10, + // ... other metrics +}); +``` + +### Performance Tracking + +```typescript +// Add trade performance +trustDB.addTradePerformance( + { + token_address: "address", + recommender_id: "uuid", + buy_price: 1.0, + // ... other trade details + }, + false +); + +// Get token performance +const tokenMetrics = trustDB.getTokenPerformance("token-address"); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Linting + +```bash +npm run lint +``` + +## Dependencies + +- `better-sqlite3`: SQLite database interface +- `uuid`: Unique identifier generation +- `dompurify`: HTML sanitization +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Recommender { + id: string; + address: string; + solanaPubkey?: string; + telegramId?: string; + discordId?: string; + twitterId?: string; + ip?: string; +} + +interface RecommenderMetrics { + recommenderId: string; + trustScore: number; + totalRecommendations: number; + successfulRecs: number; + avgTokenPerformance: number; + riskScore: number; + consistencyScore: number; + virtualConfidence: number; + lastActiveDate: Date; + trustDecay: number; + lastUpdated: Date; +} + +interface TokenPerformance { + tokenAddress: string; + symbol: string; + priceChange24h: number; + volumeChange24h: number; + // ... other performance metrics +} +``` + +### Database Methods + +- `addRecommender`: Add new recommender to database +- `getRecommenderMetrics`: Retrieve recommender performance metrics +- `updateRecommenderMetrics`: Update recommender metrics +- `upsertTokenPerformance`: Add or update token performance +- `getTokenPerformance`: Retrieve token performance metrics +- Many more specialized methods for tracking and analysis + +## Common Issues/Troubleshooting + +### Issue: Database Connection Errors + +- **Cause**: Incorrect database path or permissions +- **Solution**: Verify database path and file permissions + +### Issue: Data Consistency + +- **Cause**: Concurrent database access +- **Solution**: Use proper transaction handling + +## Security Best Practices + +- Implement proper database backup procedures +- Use parameterized queries to prevent SQL injection +- Validate all input data before storage +- Maintain regular database maintenance +- Keep dependencies updated for security patches + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [better-sqlite3](https://github.com/WiseLibs/better-sqlite3): High-performance SQLite3 driver +- [uuid](https://github.com/uuidjs/uuid): UUID generation +- [DOMPurify](https://github.com/cure53/DOMPurify): HTML sanitization library + +Special thanks to: + +- The better-sqlite3 team for their excellent database driver +- The UUID.js maintainers for reliable identifier generation +- The DOMPurify team for security-focused sanitization tools +- The Eliza community for their contributions and feedback + +For more information about database management and security: + +- [SQLite Documentation](https://www.sqlite.org/docs.html) +- [Database Security Best Practices](https://www.sqlite.org/security.html) +- [Data Sanitization Guide](https://github.com/cure53/DOMPurify/wiki/Security-Goals-&-Threat-Model) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/trustgo.md b/docs/packages/plugins/trustgo.md new file mode 100644 index 00000000000..d8534944016 --- /dev/null +++ b/docs/packages/plugins/trustgo.md @@ -0,0 +1,82 @@ +# @toddli/plugin-trustgo + +This elizaOS plugin provides actions and providers for interacting with trustgo - https://trustgo.trustalabs.ai/. + +## Description + +The TrustGo plugin enables fetching EVM account information from the TrustGo website and facilitates the minting of MEDIA score attestations. + +## Features + +- Login to TrustGo Website: Securely authenticate with TrustGo. +- Fetch Multi-Chain MEDIA Score: Retrieve MEDIA scores across multiple chains. +- Fetch User Attestations: Access user attestations. +- Mint L2 MEDIA Attestation: Mint MEDIA attestations on Layer 2. + +## Installation + +```bash +pnpm install @toddli/plugin-trustgo +``` + +## Configuration + +### Dependencies + +``` +@elizaos/core +@elizaos/plugin-evm +``` + +### Required Environment Variables + +```env +# Required +EVM_PRIVATE_KEY=your-private-key + +``` + +## Provider + +The TrustGo Provider integrates the EVM Wallet Provider. It performs the following functions: + +- Login to TrustGo Website: Authenticate and log in to the TrustGo platform. +- Fetch Multi-Chain MEDIA Score: Retrieve MEDIA scores from multiple blockchain networks. +- List User Attestations: Display user attestations. +- Mint MEDIA Attestation: Mint MEDIA attestations on the blockchain. + + +## Actions + +### 1. account + +Fetch account information from the TrustGo website. + +```typescript +go trustgo +``` + +### 2. reputation + +Display the user's MEDIA score. + +```typescript +Show my onchain Reputation +``` + +### 3. attestation + +List the user's attestations. + +```typescript +show my attestations +``` + +### 4. mint attestation + +Mint an on-chain reputation attestation. + + +```typescript +mint my linea media score +``` \ No newline at end of file diff --git a/docs/packages/plugins/tts.md b/docs/packages/plugins/tts.md new file mode 100644 index 00000000000..1dc1bdb951b --- /dev/null +++ b/docs/packages/plugins/tts.md @@ -0,0 +1,173 @@ +# @elizaos/plugin-tts + +A plugin for text-to-speech(TTS) generation using the FAL.ai API within the ElizaOS ecosystem. + +## Description + +The text-to-speech(TTS) plugin enables AI-powered creation of speech through FAL.ai's services. It provides functionality to generate audio from text descriptions, automatically detects language, and selects appropriate voice models. + +## Installation + +```bash +pnpm install @elizaos/plugin-tts +``` + +## Configuration + +The plugin requires the following environment variable or runtime setting to be set: + +```typescript +FAL_API_KEY= +``` + +## Usage + +### Basic Integration + +```typescript +import { TTSGenerationPlugin } from "@elizaos/plugin-tts"; +``` + +### Voice Generation Examples + +```typescript +// The plugin responds to natural language commands like: + +"Generate TTS of Hello World"; +"Create a TTS for Welcome to ElizaOS"; +"Make a TTS saying [your text]"; +``` + +## API Reference + +### Actions + +#### GENERATE_TTS + +Generates speech audio based on text input. + +**Aliases:** +- TTS_GENERATION +- CREATE_TTS +- TEXT2SPEECH +- T2S +- TEXT_TO_SPEECH +- AUDIO_CREATE + +**Features:** +- Automatic language detection +- Voice selection based on detected language +- Local file caching +- Progress tracking +- Error handling + +## Common Issues & Troubleshooting + +1. **Generation Failures** + - Verify FAL API key is correctly set + - Ensure text input is at least 3 characters long + - Check network connectivity to FAL.ai services + +2. **Storage Issues** + - Verify write permissions to content_cache directory + - Ensure sufficient disk space + - Check if content_cache directory exists + +## Security Best Practices + +1. **API Key Management** + - Store FAL API key securely using runtime settings or environment variables + - Never commit API keys to version control + - Monitor API usage + +## Development Guide + +### Setting Up Development Environment + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run the plugin: + +```bash +pnpm run dev +``` + +## Future Enhancements + +1. **Advanced Voice Features** + - Custom voice model support + - Voice style transfer + - Emotion control + - Speech rate adjustment + - Pitch modification + - Multiple speaker support + +2. **Audio Processing** + - Background noise reduction + - Audio quality enhancement + - Format conversion options + - Volume normalization + - Audio effects processing + - Batch processing support + +3. **Language Support** + - Expanded language detection + - Regional accent support + - Dialect customization + - Pronunciation improvements + - Multi-language mixing + - Custom pronunciation rules + +4. **Integration Features** + - Streaming audio support + - Real-time generation + - Caching optimization + - Batch generation + - Queue management + - Progress monitoring + +5. **Developer Tools** + - Extended API options + - Testing framework + - Performance profiling + - Debug logging + - Integration examples + - Documentation generator + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [FAL.ai](https://fal.ai/): AI model deployment platform +- [langdetect](https://github.com/wooorm/franc): Language detection library +- [ElizaOS](https://elizaos.com): Core framework + +Special thanks to: +- The FAL.ai team for AI infrastructure +- The langdetect development community +- The Eliza community for their contributions and feedback + +For more information about TTS capabilities: +- [FAL.ai Documentation](https://fal.ai/docs) +- [ElizaOS Documentation](https://elizaos.github.io/eliza/) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/twilio.md b/docs/packages/plugins/twilio.md new file mode 100644 index 00000000000..6f02843567c --- /dev/null +++ b/docs/packages/plugins/twilio.md @@ -0,0 +1,198 @@ +# @elizaos/plugin-twilio + +A Twilio plugin for ElizaOS that enables SMS and voice call capabilities. + +## Features + +- 📱 SMS Messaging + - Send SMS messages + - Receive and respond to SMS messages + - Natural conversation handling + +- 📞 Voice Calls + - Make outgoing calls + - Receive incoming calls + - Natural voice conversations using ElevenLabs + - Speech recognition and response + +## Installation + +```bash +pnpm add @elizaos-plugins/plugin-twilio +``` + +## Configuration + +1. Add the plugin to your character file: +```json +{ + "name": "your_character", + "plugins": ["@elizaos-plugins/plugin-twilio"], + "settings": { + "actions": { + "enabled": ["sms", "call"] + }, + "voice": { + "elevenlabs": { + "voiceId": "your_voice_id", + "stability": 0.3, + "similarityBoost": 0.5, + "style": 0.5, + "useSpeakerBoost": false + } + } + } +} +``` + +2. Set up environment variables in your `.env` file: + +```bash +# Twilio Configuration +TWILIO_ACCOUNT_SID=your_account_sid +TWILIO_AUTH_TOKEN=your_auth_token +TWILIO_PHONE_NUMBER=your_twilio_phone_number +TWILIO_CHARACTER=character.json + +# Webhook Configuration +WEBHOOK_PORT=3004 +WEBHOOK_BASE_URL=your_webhook_url + +# ElevenLabs (for voice synthesis) +ELEVENLABS_XI_API_KEY=your_elevenlabs_api_key +``` + +### Webhook Configuration + +1. Set up your webhook base URL in `.env`: +```env +WEBHOOK_BASE_URL=your_webhook_url # e.g., https://your-domain.com +WEBHOOK_PORT=3004 +``` + +2. Configure webhooks in Twilio Console: + - Go to [Twilio Console](https://console.twilio.com) + - Navigate to Phone Numbers - Manage - Active numbers + - Select your Twilio phone number + - Under "Voice & Fax" configuration: + - Set "A Call Comes In" webhook to: `[WEBHOOK_BASE_URL]/webhook/voice` + - Method: HTTP POST + - Under "Messaging" configuration: + - Set "A Message Comes In" webhook to: `[WEBHOOK_BASE_URL]/webhook/sms` + - Method: HTTP POST + +Example webhook URLs: +``` +Voice: https://your-domain.com/webhook/voice +SMS: https://your-domain.com/webhook/sms +``` + +For local development: +1. Use ngrok to expose your local server: +```bash +ngrok http 3004 +``` +2. Update your `WEBHOOK_BASE_URL` with the ngrok URL +3. Update webhook URLs in Twilio Console with the ngrok URL + +## Security + +### Environment Variables +- Never commit `.env` files to version control +- Use secrets management in production (AWS Secrets Manager, Vault) +- Rotate credentials regularly +- Use environment-specific configurations + +### Webhook Security +- Enable Twilio's request validation +- Use HTTPS for webhook endpoints +- Implement rate limiting +- Set up IP allowlisting for Twilio IPs +- Monitor webhook access logs + +## Usage + +### Interacting with the Agent + +You can interact with the agent in two ways: + +#### Via SMS +1. Save the Twilio phone number: TWILIO_PHONE_NUMBER +2. Send a text message to start a conversation +3. The agent will respond based on its character configuration +4. Continue the natural conversation via SMS + +#### Via Voice Call +1. Call the Twilio phone number: TWILIO_PHONE_NUMBER +2. The agent will answer and start a conversation +3. Speak naturally - the agent uses speech recognition +4. The agent will respond with natural voice using ElevenLabs + +### Sending Messages Through the Agent + +Best Practices: +1. For direct messages, use "saying" or "telling" +2. For AI-generated content, use "about" +3. Always include the full phone number with "+" prefix +4. Keep messages concise (160 char limit) + +#### SMS Commands + +``` +Send an SMS to +1234567890 saying Hello world! +Send SMS to +1234567890 about the weather forecast +``` + +#### Voice Call Commands + +``` +Call +1234567890 and tell them about the latest updates +Call +1234567890 to say that we need to schedule a meeting +``` + +## Development + +```bash +# Install dependencies +pnpm install + +# Build the plugin +pnpm build +``` + +## Webhook Setup + +For local development, use ngrok or similar to expose your webhook: + +```bash +ngrok http 3004 +``` + +Then update your `WEBHOOK_BASE_URL` in `.env` with the ngrok URL. + +## Notes + +- Voice calls require ElevenLabs API key for text-to-speech +- Uses Twilio's built-in speech recognition capabilities for speech-to-text +- Messages are limited to 160 characters for SMS +- Voice responses are optimized for natural conversation flow +- All phone numbers must be in international format (+1234567890) +- The agent's responses are based on its configured character personality +- Incoming messages and calls are handled automatically through webhooks + +## Important: A2P 10DLC Registration + +If you're using US phone numbers (+1) for SMS messaging, you must complete A2P 10DLC registration: + +- **Brand Registration**: Required one-time process through Twilio's Trust Hub +- **Campaign Registration**: Required for AI chatbot/automated messaging use case +- **Messaging Service**: Must link campaign to a Messaging Service with your phone numbers + +Note: Voice-only functionality does not require A2P registration. Registration is mandatory for any SMS functionality to US numbers as of September 1, 2023. + +See [Twilio's A2P 10DLC Documentation](https://www.twilio.com/docs/messaging/compliance/a2p-10dlc) for registration process. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. + diff --git a/docs/packages/plugins/twitter.md b/docs/packages/plugins/twitter.md new file mode 100644 index 00000000000..589207f216f --- /dev/null +++ b/docs/packages/plugins/twitter.md @@ -0,0 +1,275 @@ +# @elizaos/plugin-twitter + +A plugin for Twitter/X integration, providing automated tweet posting capabilities with character-aware content generation. + +## Overview + +This plugin provides functionality to: + +- Compose context-aware tweets +- Post tweets to Twitter/X platform +- Handle authentication and session management +- Support premium Twitter features +- Manage tweet length restrictions + +## Installation + +```bash +npm install @elizaos/plugin-twitter +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TWITTER_USERNAME=your_username +TWITTER_PASSWORD=your_password +TWITTER_EMAIL=your_email # Optional: for 2FA +TWITTER_2FA_SECRET=your_2fa_secret # Optional: for 2FA +TWITTER_PREMIUM=false # Optional: enables premium features +TWITTER_DRY_RUN=false # Optional: test without posting +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { twitterPlugin } from "@elizaos/plugin-twitter"; + +export default { + plugins: [twitterPlugin], + // ... other configuration +}; +``` + +## Features + +### Tweet Composition + +The plugin uses context-aware templates to generate appropriate tweets: + +```typescript +import { postAction } from "@elizaos/plugin-twitter"; + +// Tweet will be composed based on context and character limits +const result = await postAction.handler(runtime, message, state); +``` + +### Tweet Posting + +```typescript +// Post with automatic content generation +await postAction.handler(runtime, message, state); + +// Dry run mode (for testing) +process.env.TWITTER_DRY_RUN = "true"; +await postAction.handler(runtime, message, state); +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `agent-twitter-client`: Twitter API client +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface TweetContent { + text: string; +} + +// Tweet Schema +const TweetSchema = z.object({ + text: z.string().describe("The text of the tweet"), +}); + +// Action Interface +interface Action { + name: "POST_TWEET"; + similes: string[]; + description: string; + validate: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state?: State + ) => Promise; + examples: Array>; +} +``` + +### Plugin Methods + +- `postAction.handler`: Main method for posting tweets +- `postAction.validate`: Validates Twitter credentials +- `composeTweet`: Internal method for tweet generation +- `postTweet`: Internal method for tweet posting + +## Common Issues/Troubleshooting + +### Issue: Authentication Failures + +- **Cause**: Invalid credentials or 2FA configuration +- **Solution**: Verify credentials and 2FA setup + +### Issue: Tweet Length Errors + +- **Cause**: Content exceeds Twitter's character limit +- **Solution**: Enable TWITTER_PREMIUM for extended tweets or ensure content is within limits + +### Issue: Rate Limiting + +- **Cause**: Too many requests in short time +- **Solution**: Implement proper request throttling + +## Security Best Practices + +- Store credentials securely using environment variables +- Use 2FA when possible +- Implement proper error handling +- Keep dependencies updated +- Use dry run mode for testing +- Monitor Twitter API usage + +## Template System + +The plugin uses a sophisticated template system for tweet generation: + +```typescript +const tweetTemplate = ` +# Context +{{recentMessages}} + +# Topics +{{topics}} + +# Post Directions +{{postDirections}} + +# Recent interactions +{{recentPostInteractions}} + +# Task +Generate a tweet that: +1. Relates to the recent conversation +2. Matches the character's style +3. Is concise and engaging +4. Must be UNDER 180 characters +5. Speaks from the perspective of {{agentName}} +`; +``` + +## Future Enhancements + +1. **Content Generation** + + - Advanced context awareness + - Multi-language support + - Style customization + - Hashtag optimization + - Media generation + - Thread composition + +2. **Engagement Features** + + - Auto-reply system + - Engagement analytics + - Follower management + - Interaction scheduling + - Sentiment analysis + - Community management + +3. **Tweet Management** + + - Thread management + - Tweet scheduling + - Content moderation + - Archive management + - Delete automation + - Edit optimization + +4. **Analytics Integration** + + - Performance tracking + - Engagement metrics + - Audience insights + - Trend analysis + - ROI measurement + - Custom reporting + +5. **Authentication** + + - OAuth improvements + - Multi-account support + - Session management + - Rate limit handling + - Security enhancements + - Backup mechanisms + +6. **Developer Tools** + - Enhanced debugging + - Testing framework + - Documentation generator + - Integration templates + - Error handling + - Logging system + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Twitter/X API](https://developer.twitter.com/en/docs): Official Twitter platform API +- [agent-twitter-client](https://www.npmjs.com/package/agent-twitter-client): Twitter API client library +- [Zod](https://github.com/colinhacks/zod): TypeScript-first schema validation + +Special thanks to: + +- The Twitter/X Developer Platform team +- The agent-twitter-client maintainers for API integration tools +- The Eliza community for their contributions and feedback + +For more information about Twitter/X integration capabilities: + +- [Twitter API Documentation](https://developer.twitter.com/en/docs) +- [Twitter Developer Portal](https://developer.twitter.com/en/portal/dashboard) +- [Twitter API Best Practices](https://developer.twitter.com/en/docs/twitter-api/rate-limits) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/udio.md b/docs/packages/plugins/udio.md new file mode 100644 index 00000000000..2103cad250d --- /dev/null +++ b/docs/packages/plugins/udio.md @@ -0,0 +1,166 @@ +@elizaos/plugin-udio + +A Udio AI music generation plugin for ElizaOS that enables AI-powered music creation and audio manipulation. + +OVERVIEW + +The Udio plugin integrates Udio AI's powerful music generation capabilities into ElizaOS, providing a seamless way to: +- Generate music from text prompts with fine-tuned parameters +- Create custom music with advanced control over style and lyrics +- Extend existing audio tracks with AI-powered continuation + +INSTALLATION + + npm install @elizaos/plugin-udio + +QUICK START + +1. Register the plugin with ElizaOS: + +```typescript + import { udioPlugin } from '@elizaos/plugin-udio'; + import { Eliza } from '@elizaos/core'; + + const eliza = new Eliza(); + eliza.registerPlugin(udioPlugin); +``` + +2. Configure your Udio authentication token in your environment: + + UDIO_AUTH_TOKEN=your-udio-auth-token + +FEATURES + +1. Generate Music (udio.generate) + Generate music using a text prompt with basic control parameters. This is ideal for quick music generation: + + - Simple text-to-music generation + - Optional seed for reproducible results + - Support for custom lyrics + +```typescript + await eliza.execute('udio.generate', { + prompt: "An upbeat electronic dance track with energetic beats", + seed: 12345, + customLyrics: "Your custom lyrics here" + }); +``` + +2. Extend Audio (udio.extend) + Extend existing audio tracks to create longer compositions. Useful for: + + - Lengthening existing music pieces + - Creating variations of existing tracks + - Seamless continuation of melodies + +```typescript + await eliza.execute('udio.extend', { + prompt: "Continue with similar style", + audioConditioningPath: "path/to/audio.mp3", + audioConditioningSongId: "original-song-id", + cropStartTime: 30, + seed: 12345, + customLyrics: "Additional lyrics for the extension" + }); +``` + +Generation Parameters Explained: + +- seed: Controls the randomness of generation + * Same seed will produce similar results + * Different seeds create variations + * Defaults to -1 if not specified + +- cropStartTime: Controls where the extension begins (for extend action) + * Specified in seconds + * Optional parameter for precise control over continuation point + +API REFERENCE + +Action Parameters: + +1. Generate Music (udio.generate) + +```typescript + interface UdioGenerateOptions { + prompt: string; // Required: Text description of desired music + seed?: number; // Optional: Seed for reproducibility + customLyrics?: string; // Optional: Custom lyrics + } +``` + +2. Extend Audio (udio.extend) + +```typescript + interface UdioExtendOptions { + prompt: string; // Required: Description for continuation + audioConditioningPath: string; // Required: Path to original audio + audioConditioningSongId: string; // Required: ID of original song + cropStartTime?: number; // Optional: Start time in seconds + seed?: number; // Optional: Seed for reproducibility + customLyrics?: string; // Optional: Lyrics for extension + } +``` + +Response Types: + +```typescript + interface UdioSong { + id: string; // Generated song ID + title: string; // Song title + song_path: string; // Path to download the song + finished: boolean; // Generation status + } + + interface UdioResponse { + songs: UdioSong[]; // Array of generated songs + } +``` + +ERROR HANDLING + +The plugin includes built-in error handling for common scenarios: + +```typescript + try { + await eliza.execute('udio.generate', params); + } catch (error) { + // Handle errors + console.error(error.message); + } +``` + +EXAMPLES + +Creating a Pop Song: + +```typescript + const result = await eliza.execute('udio.generate', { + prompt: "Create a pop song with vocals, drums, and guitar", + seed: 12345, + customLyrics: "Verse 1: Your custom lyrics here..." + }); +``` + +Extending an Existing Track: + +```typescript + const extended = await eliza.execute('udio.extend', { + prompt: "Continue with the same energy and mood", + audioConditioningPath: "/path/to/original.mp3", + audioConditioningSongId: "original-123", + cropStartTime: 60, // Start continuation from 1 minute mark + customLyrics: "Verse 2: Continuing the story..." + }); +``` + +LICENSE + +MIT + +SUPPORT + +For issues and feature requests, please open an issue on our GitHub repository. + +--- +Built with ❤️ for ElizaOS diff --git a/docs/packages/plugins/viction.md b/docs/packages/plugins/viction.md new file mode 100644 index 00000000000..630ee4748a8 --- /dev/null +++ b/docs/packages/plugins/viction.md @@ -0,0 +1,178 @@ +# @elizaos/plugin-viction + +Core Viction blockchain plugin for Eliza OS that provides essential services and actions for token operations, trading, and DeFi integrations. + +## Overview + +The Viction plugin serves as a foundational component of Eliza OS, bridging Viction blockchain capabilities with the Eliza ecosystem. It provides crucial services for token operations, trading, portfolio management, and DeFi integrations, enabling both automated and user-directed interactions with the Viction blockchain. + +## Features + +### Token Operations +- **Token Information**: Provide Viction information +- **Token Transfers**: Send and receive tokens securely native and non-native + +## Installation + +```bash +npm install @elizaos/plugin-viction +``` + +## Configuration + +Configure the plugin by setting the following environment variables: + +```typescript +const victionEnvSchema = { + VICTION_ADDRESS: string, + VICTION_PRIVATE_KEY: string, + VICTION_RPC_URL: string +}; +``` + +## Usage + +### Basic Setup + +```typescript +import { victionPlugin } from "@elizaos/plugin-viction"; + +// Initialize the plugin +const runtime = await initializeRuntime({ + plugins: [victionPlugin], +}); +``` + +## Actions + +### vic_infomations + +Provide Viction's information + +```typescript +// Example usage +const result = await runtime.executeAction("GIVE_VICTION_INFOMATION", {}); +``` + +### transferVic + +Transfers VIC between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_VIC", { + recipient: "RecipientAddressHere", + amount: "1000", +}); +``` +### transferTokens + +Transfers tokens between wallets. + +```typescript +// Example usage +const result = await runtime.executeAction("SEND_TOKEN", { + recipient: "RecipientAddressHere", + tokenAddress: "TokenAddressHere" + amount: "1000", +}); +``` +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## System Requirements + +- Node.js 16.x or higher +- Minimum 4GB RAM recommended +- Stable internet connection +- Access to Viction RPC endpoint + +## Troubleshooting + +### Common Issues + +1. **Wallet Connection Failures** + +```bash +Error: Failed to connect to wallet +``` + +- Verify RPC endpoint is accessible +- Check wallet configuration settings +- Ensure proper network selection + +2. **Transaction Errors** + +```bash +Error: Transaction failed +``` + +- Check account balances +- Verify transaction parameters +- Ensure proper fee configuration + + +## Safety & Security + +### Best Practices + +1. **Environment Variables** + + - Store sensitive keys in environment variables + - Use .env.example for non-sensitive defaults + - Never commit real credentials to version control + +## Performance Optimization + +1. **Cache Management** + + - Implement token data caching + - Configure cache TTL settings + - Monitor cache hit rates + +2. **RPC Optimization** + + - Use connection pooling + - Implement request batching + - Monitor RPC usage + +3. **Transaction Management** + - Optimize transaction bundling + - Implement retry strategies + - Monitor transaction success rates + +## Support + +For issues and feature requests, please: + +1. Check the troubleshooting guide above +2. Review existing GitHub issues +3. Submit a new issue with: + - System information + - Error logs + - Steps to reproduce + - Transaction IDs (if applicable) + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/video-generation.md b/docs/packages/plugins/video-generation.md new file mode 100644 index 00000000000..4feb6ef4d2d --- /dev/null +++ b/docs/packages/plugins/video-generation.md @@ -0,0 +1,293 @@ +# @elizaos/plugin-video-generation + +A plugin for AI-powered video generation using Luma AI, providing automated video creation capabilities from text prompts. + +## Overview + +This plugin provides functionality to: + +- Generate videos from text descriptions +- Handle video generation requests through Luma AI +- Manage API authentication and responses +- Cache and serve generated videos +- Monitor generation progress + +## Installation + +```bash +npm install @elizaos/plugin-video-generation +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +LUMA_API_KEY=your_luma_api_key # Required: API key for Luma AI +``` + +## Usage + +Import and register the plugin in your Eliza configuration: + +```typescript +import { videoGenerationPlugin } from "@elizaos/plugin-video-generation"; + +export default { + plugins: [videoGenerationPlugin], + // ... other configuration +}; +``` + +## Features + +### Video Generation + +The plugin uses Luma AI's API to generate videos from text prompts: + +```typescript +import { videoGeneration } from "@elizaos/plugin-video-generation"; + +// Generate video from prompt +const result = await videoGeneration.handler( + runtime, + { + content: { text: "Generate a video of a sunset on the beach" }, + }, + state, + {}, + callback +); +``` + +### Progress Monitoring + +```typescript +// The plugin automatically handles progress monitoring +const result = await generateVideo(prompt, runtime); +if (result.success) { + console.log("Video URL:", result.data); +} else { + console.error("Generation failed:", result.error); +} +``` + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Development Mode + +```bash +npm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Action { + name: "GENERATE_VIDEO"; + similes: string[]; + description: string; + validate: (runtime: IAgentRuntime, message: Memory) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => Promise; + examples: Array>; +} + +interface GenerationResult { + success: boolean; + data?: string; + error?: string; +} +``` + +### Plugin Methods + +- `generateVideo`: Main method for video generation +- `videoGeneration.handler`: Action handler for video requests +- `videoGeneration.validate`: Validates API key and requirements + +## Common Issues/Troubleshooting + +### Issue: API Authentication Failures + +- **Cause**: Invalid or missing Luma API key +- **Solution**: Verify LUMA_API_KEY environment variable + +### Issue: Generation Timeouts + +- **Cause**: Long generation times or network issues +- **Solution**: Implement proper timeout handling and retry logic + +### Issue: File Storage Errors + +- **Cause**: Insufficient permissions or disk space +- **Solution**: Verify file system permissions and available storage + +## Security Best Practices + +- Store API keys securely using environment variables +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Validate input prompts +- Secure file storage handling + +## Constants + +The plugin uses predefined constants for API configuration: + +```typescript +export const LUMA_CONSTANTS = { + API_URL: "https://api.lumalabs.ai/dream-machine/v1/generations", + API_KEY_SETTING: "LUMA_API_KEY", +}; +``` + +## Example Usage + +```typescript +// Basic video generation +const videoPrompt = "Create a video of a futuristic city at night"; +const result = await generateVideo(videoPrompt, runtime); + +// With callback handling +videoGeneration.handler( + runtime, + { + content: { text: videoPrompt }, + }, + state, + {}, + (response) => { + console.log("Generation status:", response); + } +); +``` + +## Future Enhancements + +1. **Generation Features** + + - Advanced style control + - Multi-scene composition + - Custom duration settings + - Resolution options + - Frame rate control + - Audio integration + +2. **Video Editing** + + - Scene transitions + - Text overlay tools + - Effect templates + - Color correction + - Motion tracking + - Timeline editing + +3. **Asset Management** + + - Asset library + - Template system + - Style presets + - Resource optimization + - Version control + - Batch processing + +4. **Quality Improvements** + + - Enhanced resolution + - Frame interpolation + - Artifact reduction + - Stability features + - Lighting optimization + - Detail enhancement + +5. **Performance Optimization** + + - Generation speed + - Resource usage + - Parallel processing + - Caching system + - Queue management + - Load balancing + +6. **Export Options** + + - Multiple formats + - Compression settings + - Streaming support + - Progressive loading + - Thumbnail generation + - Metadata handling + +7. **Developer Tools** + + - API expansion + - Testing framework + - Documentation generator + - Debug visualization + - Performance monitoring + - Integration templates + +8. **AI Features** + - Style transfer + - Scene understanding + - Content awareness + - Motion synthesis + - Character animation + - Environment generation + +We welcome community feedback and contributions to help prioritize these enhancements. + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Luma AI](https://lumalabs.ai/): Advanced AI-powered video generation platform +- [Luma Dream Machine](https://lumalabs.ai/dream-machine): Text-to-video generation API +- [Node.js Fetch API](https://nodejs.org/api/fetch.html): HTTP request handling + +Special thanks to: + +- The Luma Labs team for providing the video generation API +- The Luma AI research team for their groundbreaking work in AI video generation +- The Eliza community for their contributions and feedback + +For more information about video generation capabilities and tools: + +- [Luma AI Documentation](https://docs.lumalabs.ai/) +- [Dream Machine API Reference](https://lumalabs.ai/docs/dream-machine) +- [Video Generation Best Practices](https://lumalabs.ai/docs/best-practices) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/video.md b/docs/packages/plugins/video.md new file mode 100644 index 00000000000..2564496de7f --- /dev/null +++ b/docs/packages/plugins/video.md @@ -0,0 +1,31 @@ +# @elizaos/plugin-video Video Service + +The VideoService provides comprehensive video processing capabilities with a focus on efficient handling and transcription: + +**Key Features:** +- **Video Download**: Supports both YouTube videos and direct MP4 URLs +- **Format Handling**: + - Automatic format detection and conversion + - MP4 to MP3 conversion for audio processing + - Support for various video platforms (YouTube, Vimeo) +- **Transcription Pipeline**: + 1. Attempts to extract manual subtitles (SRT format) + 2. Falls back to automatic captions if available + 3. Uses audio transcription as final fallback +- **Performance Optimizations**: + - Queue-based processing for multiple videos + - Built-in caching system for processed results + - Efficient temporary file management +- **Error Handling**: + - Graceful fallbacks for different transcription methods + - Comprehensive error reporting + - Automatic cleanup of temporary files + +**Usage Example:** +```typescript +const videoService = runtime.getService(ServiceType.VIDEO); + +// Process a video URL +const result = await videoService.processVideo(videoUrl, runtime); +// Returns: Media object with id, url, title, source, description, and transcript +``` diff --git a/docs/packages/plugins/web-search.md b/docs/packages/plugins/web-search.md new file mode 100644 index 00000000000..7445498813f --- /dev/null +++ b/docs/packages/plugins/web-search.md @@ -0,0 +1,247 @@ +# @elizaos/plugin-web-search + +A plugin for powerful web search capabilities, providing efficient search query handling and result processing through a customizable API interface. + +## Overview + +This plugin provides functionality to: + +- Execute web search queries with customizable parameters +- Process and format search results +- Handle search API authentication +- Manage token limits and response sizes +- Optimize query performance + +## Installation + +```bash +pnpm install @elizaos/plugin-web-search +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +TAVILY_API_KEY=your_api_key # Required: API key for search service +``` + +## Usage + +Import and register the plugin in your Eliza configuration. + +```typescript +import { webSearchPlugin } from "@elizaos/plugin-web-search"; + +export default { + plugins: [webSearchPlugin], + // ... other configuration +}; +``` + +**Custom Usage** +If you want custom usage, for example, twitter-client to search the web before posting a tweet, you can also import the webSearchService and use it directly. Here's how you can do it: + +```typescript +// packages/client-twitter/src/post.ts +const webSearchService = new WebSearchService(); +await webSearchService.initialize(runtime); +const latestNews = await webSearchService.search( + "latest news on AI Agents", + // searchOptions +); + +const state = await this.runtime.composeState( + { } // memory, + { // additional keys + latestNews: latestNews, + } +); + +// Then modify the tweet template to include the {{latestNews}} and however you need +``` + +## Features + +### Web Search + +The plugin provides comprehensive web search capabilities: + +```typescript +import { webSearch } from "@elizaos/plugin-web-search"; + +// Execute a search query +const result = await webSearch.handler( + runtime, + { + content: { text: "What is the latest news about AI?" }, + }, + state, + {}, + callback +); +``` + +### Token Management + +```typescript +// The plugin automatically handles token limits +const DEFAULT_MAX_WEB_SEARCH_TOKENS = 4000; + +// Example of token-limited response +const response = MaxTokens(searchResult, DEFAULT_MAX_WEB_SEARCH_TOKENS); +``` + +## Development + +### Building + +```bash +pnpm run build +``` + +### Testing + +```bash +pnpm run test +``` + +### Development Mode + +```bash +pnpm run dev +``` + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `js-tiktoken`: Token counting and management +- `tsup`: Build tool +- Other standard dependencies listed in package.json + +## API Reference + +### Core Interfaces + +```typescript +interface Action { + name: "WEB_SEARCH"; + similes: string[]; + description: string; + validate: (runtime: IAgentRuntime, message: Memory) => Promise; + handler: ( + runtime: IAgentRuntime, + message: Memory, + state: State, + options: any, + callback: HandlerCallback + ) => Promise; + examples: Array>; +} + +interface SearchResult { + title: string; + url: string; + answer?: string; + results?: Array<{ + title: string; + url: string; + }>; +} +``` + +### Plugin Methods + +- `webSearch.handler`: Main method for executing searches +- `generateWebSearch`: Core search generation function +- `MaxTokens`: Token limit management function +- `getTotalTokensFromString`: Token counting utility + +## Common Issues/Troubleshooting + +### Issue: API Authentication Failures + +- **Cause**: Invalid or missing Tavily API key +- **Solution**: Verify TAVILY_API_KEY environment variable + +### Issue: Token Limit Exceeded + +- **Cause**: Search results exceeding maximum token limit +- **Solution**: Results are automatically truncated to fit within limits + +### Issue: Search Rate Limiting + +- **Cause**: Too many requests in short time +- **Solution**: Implement proper request throttling + +## Security Best Practices + +- Store API keys securely using environment variables +- Validate all search inputs +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Use HTTPS for API communication + +## Example Usage + +```typescript +// Basic search +const searchQuery = "Latest developments in quantum computing"; +const results = await generateWebSearch(searchQuery, runtime); + +// With formatted response +if (results && results.results.length) { + const formattedResponse = `${results.answer}\n\nFor more details, check out:\n${results.results + .map( + (result, index) => `${index + 1}. [${result.title}](${result.url})` + ) + .join("\n")}`; +} +``` + +## Configuration Options + +### Token Management + +```typescript +const DEFAULT_MODEL_ENCODING = "gpt-3.5-turbo"; +const DEFAULT_MAX_WEB_SEARCH_TOKENS = 4000; +``` + +### Search Actions + +The plugin includes multiple search action similes: + +- SEARCH_WEB +- INTERNET_SEARCH +- LOOKUP +- QUERY_WEB +- FIND_ONLINE +- And more... + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [Tavily API](https://tavily.com/): Advanced search and content analysis API +- [js-tiktoken](https://github.com/dqbd/tiktoken): Token counting for API responses +- [Zod](https://github.com/colinhacks/zod): TypeScript-first schema validation + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about the search capabilities and tools: + +- [Tavily API Documentation](https://docs.tavily.com/) +- [Token Management Guide](https://github.com/dqbd/tiktoken#readme) +- [Search API Best Practices](https://docs.tavily.com/docs/guides/best-practices) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/whatsapp.md b/docs/packages/plugins/whatsapp.md new file mode 100644 index 00000000000..a0401e5615c --- /dev/null +++ b/docs/packages/plugins/whatsapp.md @@ -0,0 +1,226 @@ +# @elizaos/plugin-whatsapp + +A plugin for integrating WhatsApp Cloud API with your application, providing comprehensive messaging capabilities and webhook handling. + +## Overview + +This plugin provides functionality to: + +- Send text and template messages via WhatsApp +- Handle incoming webhook events +- Manage message status updates +- Process message delivery notifications +- Handle authentication and session management + +## Installation + +```bash +npm install @elizaos/plugin-whatsapp +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +WHATSAPP_ACCESS_TOKEN=your_access_token # Required: WhatsApp Cloud API access token +WHATSAPP_PHONE_NUMBER_ID=your_phone_number_id # Required: WhatsApp business phone number ID +WHATSAPP_WEBHOOK_TOKEN=your_webhook_token # Optional: Webhook verification token +WHATSAPP_BUSINESS_ID=your_business_id # Optional: Business account ID +``` + +## Usage + +### Basic Setup + +```typescript +import { WhatsAppPlugin } from "@elizaos/plugin-whatsapp"; + +const whatsappPlugin = new WhatsAppPlugin({ + accessToken: "your_access_token", + phoneNumberId: "your_phone_number_id", + webhookVerifyToken: "your_webhook_verify_token", + businessAccountId: "your_business_account_id", +}); +``` + +### Sending Messages + +```typescript +// Send a text message +await whatsappPlugin.sendMessage({ + type: "text", + to: "1234567890", + content: "Hello from WhatsApp!", +}); + +// Send a template message +await whatsappPlugin.sendMessage({ + type: "template", + to: "1234567890", + content: { + name: "hello_world", + language: { + code: "en", + }, + }, +}); +``` + +### Handling Webhooks + +```typescript +// Verify webhook +app.get("/webhook", (req, res) => { + const verified = await whatsappPlugin.verifyWebhook( + req.query["hub.verify_token"] + ); + if (verified) { + res.send(req.query["hub.challenge"]); + } else { + res.sendStatus(403); + } +}); + +// Handle webhook events +app.post("/webhook", (req, res) => { + await whatsappPlugin.handleWebhook(req.body); + res.sendStatus(200); +}); +``` + +## Features + +- Send text messages +- Send template messages +- Webhook verification +- Webhook event handling +- Message status updates + +## Error Handling + +The plugin throws errors in the following cases: + +```typescript +try { + await whatsappPlugin.sendMessage({ + type: "text", + to: "1234567890", + content: "Hello!", + }); +} catch (error) { + console.error("Failed to send message:", error.message); +} +``` + +Common error cases: + +- Invalid configuration +- Failed message sending +- Webhook verification failure +- Invalid webhook payload + +## Best Practices + +1. Always validate phone numbers before sending messages +2. Use template messages for first-time messages to users +3. Store message IDs for tracking delivery status +4. Implement proper error handling +5. Set up webhook retry mechanisms +6. Keep your access tokens secure + +## API Reference + +### Core Interfaces + +```typescript +interface WhatsAppConfig { + accessToken: string; + phoneNumberId: string; + webhookVerifyToken?: string; + businessAccountId?: string; +} + +interface WhatsAppMessage { + type: "text" | "template"; + to: string; + content: string | WhatsAppTemplate; +} + +interface WhatsAppTemplate { + name: string; + language: { + code: string; + }; + components?: Array<{ + type: string; + parameters: Array<{ + type: string; + text?: string; + }>; + }>; +} +``` + +### Plugin Methods + +- `sendMessage`: Send WhatsApp messages +- `handleWebhook`: Process incoming webhook events +- `verifyWebhook`: Verify webhook authenticity +- Message and status handlers + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +### Linting + +```bash +npm run lint +``` + +## Security Best Practices + +- Store credentials securely using environment variables +- Validate all phone numbers before sending messages +- Use template messages for first-time contacts +- Implement proper error handling +- Keep dependencies updated +- Monitor API usage and rate limits +- Use HTTPS for all API communication + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [WhatsApp Cloud API](https://developers.facebook.com/docs/whatsapp/cloud-api): Meta's official WhatsApp Business Platform +- [Axios](https://axios-http.com/): Promise-based HTTP client for API requests +- [Meta for Developers](https://developers.facebook.com/): Meta's developer platform and tools + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about WhatsApp Cloud API and its capabilities, visit: + +- [WhatsApp Business Platform Documentation](https://developers.facebook.com/docs/whatsapp/cloud-api/overview) +- [Meta for Developers Blog](https://developers.facebook.com/blog/) +- [WhatsApp Business API GitHub](https://github.com/WhatsApp/WhatsApp-Business-API-Setup-Scripts) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/youtube-to-text.md b/docs/packages/plugins/youtube-to-text.md new file mode 100644 index 00000000000..8cd8e4d25b6 --- /dev/null +++ b/docs/packages/plugins/youtube-to-text.md @@ -0,0 +1,38 @@ +# `@elizaos/plugin-youtube-to-text` + +## Description + +The Youtube to text Plugin allows users to retrieve a text output of a Youtube video. + +## Features + +- Converts YouTube video links into text format using OpenAI’s Whisper model +- Leverages Whisper’s advanced AI for precise and reliable transcription +- Extracts and saves the video's audio as a WAV and MP3 file under the agent/data folder + +## Installation + +```bash +pnpm install @elizaos/plugin-youtube-to-text +``` + +## Development + +1. Clone the repository +2. Install dependencies: + +```bash +pnpm install +``` + +3. Build the plugin: + +```bash +pnpm run build +``` + +4. Run tests: + +```bash +pnpm test +``` diff --git a/docs/packages/plugins/zapper.md b/docs/packages/plugins/zapper.md new file mode 100644 index 00000000000..0ffda7f058c --- /dev/null +++ b/docs/packages/plugins/zapper.md @@ -0,0 +1,190 @@ +# @elizaos/plugin-zapper + +A plugin for Eliza that allows users to fetch portfolio data using the Zapper API. + +## Features + +- Get portfolio data from wallet addresses on [networks supported by the Zapper API](https://protocol.zapper.xyz/docs/api/supported-chains). +- Get portfolio data from addresses attached to Farcaster profiles. + +## Installation + +```bash +npm install @elizaos/plugin-zapper +``` + +## Configuration + +1. Get your API key from [Zapper](https://protocol.zapper.xyz/) + +2. Set up your environment variables: + +```bash +ZAPPER_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { zapperPlugin } from "@elizaos/plugin-zapper"; + +// In your Eliza configuration +plugins: [ + zapperPlugin, + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about wallet data. Here are some examples: + +```plaintext +"Show me the holdings of @vitalik.eth" +"Show me the portfolio of these wallets 0xd8d...045, 0xadd...077" +"Get wallet holdings for HN7cA...WrH" +``` + +### Available Actions + +#### portfolio + +Fetch the current portfolio of provided addresses. + +```typescript +// Example response format +portfolio: { + tokenBalances: Array<{ + address: string; + network: string; + token: { + balance: number; + balanceUSD: number; + baseToken: { + name: string; + symbol: string; + }; + }; + }>; + nftBalances: Array<{ + network: string; + balanceUSD: number; + }>; + totals: { + total: number; + totalWithNFT: number; + totalByNetwork: Array<{ + network: string; + total: number; + }>; + holdings: Array<{ + label: string; + balanceUSD: number; + pct: number; + }>; + }; +}; +``` + +#### farcasterPortfoio + +Fetch the portfolio of addresses attached to Farcaster profiles. + +```typescript +// Example response format +farcasterProfile: { +username: string; +fid: number; +metadata: { + displayName: string; + description: string; + imageUrl: string; + warpcast: string; +}; +connectedAddresses: string[]; +custodyAddress: string; +}; +``` + +## Development Guide +### Setting up the development environment +1. Clone the repository. +2. Install dependencies: +```bash +pnpm install +``` +3. Build the plugin: +```bash +pnpm build +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| -------------------- | ------------------------ | -------- | +| ZAPPER_API_KEY | Your Zapper API key | Yes | + +### Types + +```typescript +export type ZapperPortfolioResponse = { + data: { + portfolio: { + tokenBalances: Array<{ + address: string; + network: string; + token: { + balance: number; + balanceUSD: number; + baseToken: { + name: string; + symbol: string; + }; + }; + }>; + nftBalances: Array<{ + network: string; + balanceUSD: number; + }>; + totals: { + total: number; + totalWithNFT: number; + totalByNetwork: Array<{ + network: string; + total: number; + }>; + holdings: Array<{ + label: string; + balanceUSD: number; + pct: number; + }>; + }; + }; + }; +}; + +export type ZapperFarcasterResponse = { + data: { + accounts: Array<{ + farcasterProfile: { + username: string; + fid: number; + metadata: { + displayName: string; + description: string; + imageUrl: string; + warpcast: string; + }; + connectedAddresses: string[]; + custodyAddress: string; + }; + }>; + }; +}; +``` + +## Links + +- [Zapper API Documentation](https://protocol.zapper.xyz/docs/api/) diff --git a/docs/packages/plugins/zerion.md b/docs/packages/plugins/zerion.md new file mode 100644 index 00000000000..4d82790f7e3 --- /dev/null +++ b/docs/packages/plugins/zerion.md @@ -0,0 +1,119 @@ +# @elizaos/plugin-zerion + +A plugin for Eliza that enables fetching wallet portfolio and position data using the Zerion API. + +## Features + +- Real-time wallet portfolio data +- Detailed token positions and balances +- Chain distribution analysis +- Portfolio value changes tracking +- Support for all EVM-compatible chains +- Natural language processing for wallet queries + +## Installation + +```bash +npm install @elizaos/plugin-zerion +``` + +## Configuration + +1. Get your API key from [Zerion](https://developers.zerion.io) + +2. Set up your environment variables: + +```bash +ZERION_API_KEY=your_api_key +``` + +3. Register the plugin in your Eliza configuration: + +```typescript +import { zerionPlugin } from "@elizaos/plugin-zerion"; + +// In your Eliza configuration +plugins: [ + zerionPlugin, + // ... other plugins +]; +``` + +## Usage + +The plugin responds to natural language queries about wallet data. Here are some examples: + +```plaintext +"Show me the portfolio for 0x123...abc" +"What are the token positions in 0x456...def?" +"Get wallet holdings for 0x789...ghi" +``` + +### Available Actions + +#### getWallet_portfolio + +Fetches comprehensive portfolio data for a wallet address, including: +- Total portfolio value +- Chain distribution +- Position type distribution +- 24h value changes + +```typescript +// Example response format +{ + totalValue: number; + chainDistribution: Record; + positionTypes: Record; + changes: { + absolute_1d: number; + percent_1d: number; + }; +} +``` + +#### getWallet_positions + +Fetches detailed information about all token positions in a wallet: +- Token name and symbol +- Quantity and current value +- Price and 24h change +- Chain information +- Verification status + +```typescript +// Example response format +{ + positions: Array<{ + name: string; + symbol: string; + quantity: number; + value: number; + price: number; + chain: string; + change24h: number | null; + verified: boolean; + }>; + totalValue: number; +} +``` + +## API Reference + +### Environment Variables + +| Variable | Description | Required | +| ------------- | -------------------- | -------- | +| ZERION_API_KEY | Your Zerion API key | Yes | + +## Error Handling + +## Support + +For support, please open an issue in the repository or reach out to the maintainers. +telegram: @singhal_pranav + +## Links + +- [Zerion API Documentation](https://developers.zerion.io/reference/intro) +- [GitHub Repository](https://github.com/elizaos/eliza/tree/main/packages/plugin-zerion) \ No newline at end of file diff --git a/docs/packages/plugins/zilliqa.md b/docs/packages/plugins/zilliqa.md new file mode 100644 index 00000000000..cadde319a1c --- /dev/null +++ b/docs/packages/plugins/zilliqa.md @@ -0,0 +1,50 @@ +# @elizaos/plugin-zilliqa + +A plugin for integrating Zilliqa blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework within the ElizaOS ecosystem. + +## Description + +[GOAT](https://ohmygoat.dev/) 🐐 (Great Onchain Agent Toolkit) is an open-source framework for adding blockchain tools such as wallets, being able to hold or trade tokens, or interacting with blockchain smart contracts, to your AI agent. + +- [Chains supported](https://ohmygoat.dev/chains-wallets-plugins) +- [Plugins supported](https://ohmygoat.dev/chains-wallets-plugins) + +This plugin integrates the GOAT Zilliqa plugin and wallet with Eliza. + +## Installation + +```bash +pnpm install @elizaos/plugin-zilliqa +``` + +## Configuration + +### Environment Variables + +```typescript +EVM_PRIVATE_KEY= +EVM_PROVIDER_URL= +ENABLE_ZILLIQA=1 +``` + +## Common Issues & Troubleshooting + +1. **Agent not executing an action**: + + - If you are also using the EVM Plugin, sometimes the agent might confuse the action name with an EVM Plugin action name instead of the GOAT Plugin action. Removing the EVM Plugin should fix this issue. There is no need for you to use both plugins at the same time. + - If you are using Trump as a character it might be tricky to get them to perform any action since the character is full of prompts that aim to change the topic of the conversation. To fix this try using a different character or create your own with prompts that are more suitable to what the agent is supposed to do. + +2. **Wallet Connection Issues** + + - Verify private key is correctly formatted + - Check RPC endpoint availability + - Ensure sufficient network balance + +3. **Transaction Issues** + - Verify gas availability + - Check network congestion + - Confirm transaction parameters + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/packages/plugins/zksync-era.md b/docs/packages/plugins/zksync-era.md new file mode 100644 index 00000000000..d79d10f6c5d --- /dev/null +++ b/docs/packages/plugins/zksync-era.md @@ -0,0 +1,234 @@ +# @elizaos/plugin-zksync-era + +A plugin for integrating ZKSync Era blockchain operations with your application, providing token transfer capabilities and transaction management. + +## Overview + +This plugin provides functionality to: + +- Execute token transfers on ZKSync Era +- Handle smart account operations +- Manage transaction signing and submission +- Support multiple token standards +- Process transaction receipts and confirmations + +## Installation + +```bash +npm install @elizaos/plugin-zksync-era +``` + +## Configuration + +The plugin requires the following environment variables: + +```env +ZKSYNC_ADDRESS=your_address # Required: Your ZKSync wallet address +ZKSYNC_PRIVATE_KEY=your_private_key # Required: Your wallet's private key +``` + +## Usage + +### Basic Setup + +```typescript +import { zksyncEraPlugin } from "@elizaos/plugin-zksync-era"; + +const plugin = zksyncEraPlugin; +``` + +### Token Transfers + +```typescript +// Transfer tokens +await transfer.handler( + runtime, + { + content: { + tokenAddress: "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4", // USDC + recipient: "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + amount: "100", + }, + }, + state +); +``` + +## Features + +### Supported Tokens + +The plugin includes pre-configured addresses for common tokens: + +```typescript +const TOKENS = { + ZK: "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E", + ETH: "0x000000000000000000000000000000000000800A", + USDC: "0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4", +}; +``` + +### Smart Account Integration + +```typescript +const web3 = new Web3(); +web3.registerPlugin( + new ZKsyncPlugin( + Web3ZKsyncL2.initWithDefaultProvider(types.Network.Mainnet) + ) +); + +const smartAccount = new web3.ZKsync.SmartAccount({ + address: PUBLIC_KEY, + secret: PRIVATE_KEY, +}); +``` + +## Error Handling + +The plugin includes comprehensive error handling: + +```typescript +try { + const transferTx = await smartAccount.transfer({ + to: recipient, + token: tokenAddress, + amount: amount, + }); + const receipt = await transferTx.wait(); +} catch (error) { + console.error("Transfer failed:", error.message); +} +``` + +Common error cases: + +- Invalid configuration +- Insufficient balance +- Network issues +- Invalid addresses +- Failed transactions + +## Best Practices + +1. Always validate addresses before transactions +2. Keep private keys secure +3. Monitor transaction status +4. Implement proper error handling +5. Use appropriate gas settings +6. Keep track of transaction receipts + +## API Reference + +### Core Interfaces + +```typescript +interface TransferContent { + tokenAddress: string; + recipient: string; + amount: string | number; +} + +interface ZKsyncConfig { + ZKSYNC_ADDRESS: string; + ZKSYNC_PRIVATE_KEY: string; +} +``` + +### Plugin Methods + +- `transfer`: Execute token transfers +- `validateZKsyncConfig`: Validate configuration +- Transaction status monitoring +- Receipt handling + +## Development + +### Building + +```bash +npm run build +``` + +### Testing + +```bash +npm run test +``` + +## Security Best Practices + +- Store private keys securely using environment variables +- Validate all addresses before transactions +- Implement proper error handling +- Keep dependencies updated +- Monitor transaction status +- Use secure RPC endpoints +- Implement proper gas management + +## Example Usage + +```typescript +// Initialize plugin +const zksync = zksyncEraPlugin; + +// Execute transfer +try { + await transfer.handler( + runtime, + { + content: { + tokenAddress: TOKENS.USDC, + recipient: "0xCCa8009f5e09F8C5dB63cb0031052F9CB635Af62", + amount: "100", + }, + }, + state + ); +} catch (error) { + console.error("Transfer failed:", error.message); +} +``` + +## Validation + +The plugin includes validation for: + +- Wallet addresses +- Token addresses +- Transaction amounts +- Configuration parameters +- Network status + +## Dependencies + +- `@elizaos/core`: Core Eliza functionality +- `web3`: Web3 library for blockchain interaction +- `web3-plugin-zksync`: ZKSync Era integration +- Other standard dependencies listed in package.json + +## Contributing + +Contributions are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file for more information. + +## Credits + +This plugin integrates with and builds upon several key technologies: + +- [ZKSync Era](https://zksync.io/): Layer 2 scaling solution for Ethereum +- [Web3.js](https://web3js.org/): Ethereum JavaScript API +- [web3-plugin-zksync](https://www.npmjs.com/package/web3-plugin-zksync): Official ZKSync plugin for Web3.js + +Special thanks to: + +- The Eliza community for their contributions and feedback + +For more information about ZKSync Era and its capabilities, visit: + +- [ZKSync Documentation](https://docs.zksync.io/) +- [Matter Labs Blog](https://blog.matter-labs.io/) +- [ZKSync GitHub](https://github.com/matter-labs/zksync-era) + +## License + +This plugin is part of the Eliza project. See the main project repository for license information. diff --git a/docs/scripts/update-registry.js b/docs/scripts/update-registry.js index 3916e85c19b..d8a113130b3 100644 --- a/docs/scripts/update-registry.js +++ b/docs/scripts/update-registry.js @@ -104,7 +104,45 @@ function fetchRegistry() { * Generate the TypeScript file with registry users */ function generateUsersFile(plugins, customData) { - const users = plugins.map(plugin => { + // Extract names of plugins from GitHub + const registryPluginNames = plugins.map(plugin => plugin.id); + + // Find plugins in descriptions that aren't in the registry + const missingPlugins = []; + for (const pluginId in customData) { + if (!registryPluginNames.includes(pluginId)) { + // Create plugin data for missing plugins + const displayName = pluginId + .replace('@elizaos-plugins/plugin-', '') + .replace('@elizaos-plugins/client-', '') + .replace('@elizaos-plugins/adapter-', '') + .replace(/-/g, ' ') + .split(' ') + .map(word => word.charAt(0).toUpperCase() + word.slice(1)) + .join(' '); + + const type = pluginId.includes('client-') ? 'client' : + pluginId.includes('adapter-') ? 'adapter' : + 'plugin'; + + // Create the missing plugin entry + missingPlugins.push({ + id: pluginId, + name: pluginId, + // Assuming GitHub repo path is usually the same as the plugin name + repo_url: `github:elizaos-plugins/${pluginId.split('/').pop()}`, + repo_path: `elizaos-plugins/${pluginId.split('/').pop()}`, + display_name: displayName, + type: type + }); + } + } + + // Combine existing plugins with missing ones + const allPlugins = [...plugins, ...missingPlugins]; + + // Continue with normal processing + const users = allPlugins.map(plugin => { const pluginData = customData[plugin.id] || {}; const description = pluginData.description || diff --git a/docs/src/components/ShowcaseComponent.tsx b/docs/src/components/ShowcaseComponent.tsx new file mode 100644 index 00000000000..be1a7d5a03d --- /dev/null +++ b/docs/src/components/ShowcaseComponent.tsx @@ -0,0 +1,102 @@ +import React, { useState, useMemo } from 'react'; +import { type User, sortedUsers } from '@site/src/data/users'; +import ShowcaseSearchBar from '../pages/showcase/_components/ShowcaseSearchBar'; +import ShowcaseCards from '../pages/showcase/_components/ShowcaseCards'; +import ShowcaseFilters from '../pages/showcase/_components/ShowcaseFilters'; +import Link from '@docusaurus/Link'; +import styles from '../pages/showcase/_components/ShowcaseLayout/styles.module.css'; + +const TITLE = 'elizaOS Packages'; +const DESCRIPTION = 'Discover the awesome plugins in the eliza ecosystem.'; +const GITHUB_LINK = 'https://github.com/elizaos-plugins/registry'; + +function ShowcaseHeader() { + return ( +
+

{TITLE}

+

{DESCRIPTION}

+
+ + Submit your plugin + +
+
+ ); +} + +function filterUsers(users: User[], search: string, selectedTags: string[], operator: 'OR' | 'AND') { + // First deduplicate the input array + const uniqueUsers = users.filter((user, index, self) => + index === self.findIndex((u) => u.title === user.title) + ); + + return uniqueUsers.filter(user => { + // Search filter + if (search) { + const searchValue = search.toLowerCase().trim(); + if (!user.title.toLowerCase().includes(searchValue) && + !user.description.toLowerCase().includes(searchValue)) { + return false; + } + } + + // Tags filter + if (selectedTags.length === 0) { + return true; + } + + if (operator === 'AND') { + return selectedTags.every(tag => user.tags.includes(tag)); + } + return selectedTags.some(tag => user.tags.includes(tag)); + }); +} + +export default function ShowcaseComponent(): JSX.Element { + const [selectedTags, setSelectedTags] = useState([]); + const [operator, setOperator] = useState<'OR' | 'AND'>('OR'); + const [searchValue, setSearchValue] = useState(''); + + const toggleTag = (tag: string) => { + setSelectedTags(tags => + tags.includes(tag) + ? tags.filter(t => t !== tag) + : [...tags, tag] + ); + }; + + const toggleOperator = () => { + setOperator(op => op === 'OR' ? 'AND' : 'OR'); + }; + + const filteredUsers = useMemo(() => { + return filterUsers(sortedUsers, searchValue, selectedTags, operator); + }, [searchValue, selectedTags, operator]); + + return ( +
+ + +
+
+
+ + +
+
+ + +
+
+ ); +} diff --git a/docs/src/data/plugin-descriptions.json b/docs/src/data/plugin-descriptions.json index 378b14b8595..e7cd343fc39 100644 --- a/docs/src/data/plugin-descriptions.json +++ b/docs/src/data/plugin-descriptions.json @@ -1,457 +1,717 @@ { + "@elizaos-plugins/adapter-mongodb": { + "custom_preview": "/eliza/logos/mongodb.png", + "description": "Database adapter for MongoDB enabling document storage with query capabilities." + }, + "@elizaos-plugins/adapter-pglite": { + "custom_preview": "/eliza/logos/pglite.png", + "description": "Lightweight PostgreSQL adapter for embedded database applications." + }, + "@elizaos-plugins/adapter-postgres": { + "custom_preview": "/eliza/logos/postgres.jpg", + "description": "Database adapter for PostgreSQL with full relational database capabilities." + }, + "@elizaos-plugins/adapter-qdrant": { + "custom_preview": "/eliza/logos/qdrant.png", + "description": "Vector database adapter for Qdrant with similarity search capabilities." + }, + "@elizaos-plugins/adapter-sqlite": { + "custom_preview": "/eliza/logos/sqlite.png", + "description": "File-based SQL database adapter for lightweight local storage." + }, + "@elizaos-plugins/adapter-sqljs": { + "custom_preview": "/eliza/logos/sqljs.png", + "description": "In-memory SQL database adapter for browser-based applications." + }, + "@elizaos-plugins/adapter-supabase": { + "custom_preview": "/eliza/logos/supabase.jpg", + "description": "Database adapter for Supabase with PostgreSQL and realtime capabilities." + }, + "@elizaos-plugins/plugin-cache-redis": { + "custom_preview": "/eliza/logos/redis.jpg", + "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer." + }, + "@elizaos-plugins/client-alexa": { + "custom_preview": "/eliza/logos/alexa.png", + "description": "Provides integration with Amazon Alexa devices for voice-controlled agent interactions." + }, + "@elizaos-plugins/client-auto": { + "custom_preview": "/eliza/logos/auto.jpg", + "description": "Auto-detection client for determining optimal communication channels." + }, + "@elizaos-plugins/client-deva": { + "custom_preview": "/eliza/logos/deva.jpg", + "description": "Enables communication with Deva AI systems for advanced conversational capabilities." + }, + "@elizaos-plugins/client-direct": { + "custom_preview": "/eliza/logos/direct.png", + "description": "Deprecated plugin that now lives in @elizaos/core." + }, + "@elizaos-plugins/client-discord": { + "custom_preview": "/eliza/logos/discord.jpg", + "description": "Discord integration client with messaging and community interaction capabilities.", + "featured": true + }, + "@elizaos-plugins/client-eliza-home": { + "custom_preview":"/eliza/logos/home-assistant.png", + "description": "Provides integration with Eliza Home environment for home automation and intelligent assistant features." + }, + "@elizaos-plugins/client-farcaster": { + "custom_preview": "/eliza/logos/farcaster.jpg", + "description": "Client for Farcaster decentralized social media protocol." + }, + "@elizaos-plugins/client-github": { + "custom_preview": "/eliza/logos/github.png", + "description": "GitHub client for repository management and code integration.", + "featured": true + }, + "@elizaos-plugins/client-instagram": { + "custom_preview": "/eliza/logos/instagram.jpg", + "description": "Enables Instagram integration with support for media posting, comment handling, and interaction management." + }, + "@elizaos-plugins/client-lens": { + "custom_preview": "/eliza/logos/lens.jpg", + "description": "Client for Lens Protocol decentralized social networking." + }, + "@elizaos-plugins/client-simsai": { + "custom_preview": "/eliza/logos/simsAI.jpg", + "description": "Deprecated plugin that needs a maintainer." + }, + "@elizaos-plugins/client-slack": { + "custom_preview": "/eliza/logos/slack.jpg", + "description": "Slack integration client with messaging and workspace collaboration features." + }, + "@elizaos-plugins/client-tako": { + "custom_preview": "/eliza/logos/tako.png", + "description": "Client for the Tako protocol enabling cross-platform social engagement." + }, + "@elizaos-plugins/client-telegram": { + "custom_preview": "/eliza/logos/telegram.jpg", + "description": "Telegram messaging client with bot and channel integration capabilities.", + "featured": true + }, + "@elizaos-plugins/client-telegram-account": { + "custom_preview": "/eliza/logos/telegram.jpg", + "description": "Provides advanced Telegram account management capabilities beyond basic bot functionality." + }, + "@elizaos-plugins/client-twitter": { + "custom_preview": "/eliza/logos/x.jpg", + "description": "Twitter/X client for posting and monitoring social media activity.", + "featured": true + }, + "@elizaos-plugins/client-xmtp": { + "custom_preview": "/eliza/logos/xmtp.jpg", + "description": "Enables secure, decentralized, and end-to-end encrypted messaging through the XMTP protocol." + }, "@elizaos-plugins/plugin-0g": { - "description": "Provides decentralized file storage capabilities using the Zero Gravity (0G) protocol.", - "custom_preview": "/eliza/logos/0g.jpg" + "custom_preview": "/eliza/logos/0g.jpg", + "description": "Provides decentralized file storage capabilities using the Zero Gravity (0G) protocol." + }, + "@elizaos-plugins/plugin-0x": { + "custom_preview": "/eliza/logos/0x.jpg", + "description": "Enables token swaps through 0x Protocol across multiple EVM blockchains with optimized routing and liquidity aggregation." }, "@elizaos-plugins/plugin-3d-generation": { - "description": "Generates 3D models from text descriptions using FAL.ai's API services.", - "custom_preview": "/eliza/logos/falai.png" + "custom_preview": "/eliza/logos/falai.png", + "description": "Generates 3D models from text descriptions using FAL.ai's API services." + }, + "@elizaos-plugins/plugin-ATTPs": { + "custom_preview": "/eliza/logos/appro.jpg", + "description": "Enables verification of agent activities using proof generation and validation." }, "@elizaos-plugins/plugin-abstract": { - "description": "Enables token transfers and operations on the Abstract blockchain network.", - "custom_preview": "/eliza/logos/abstract.jpg" + "custom_preview": "/eliza/logos/abstract.jpg", + "description": "Enables token transfers and operations on the Abstract blockchain network." + }, + "@elizaos-plugins/plugin-agentkit": { + "custom_preview": "/eliza/logos/agentkitCDB.jpg", + "description": "Integrates CDP AgentKit tools for NFT and token management on various blockchain networks." }, "@elizaos-plugins/plugin-akash": { - "description": "Manages deployments and cloud compute operations on the Akash Network.", - "custom_preview": "/eliza/logos/akash.jpg" + "custom_preview": "/eliza/logos/akash.jpg", + "description": "Manages deployments and cloud compute operations on the Akash Network." }, "@elizaos-plugins/plugin-allora": { - "description": "Provides real-time AI inferences from the Allora Network for market predictions and analysis.", - "custom_preview": "/eliza/logos/allora.jpg" + "custom_preview": "/eliza/logos/allora.jpg", + "description": "Provides real-time AI inferences from the Allora Network for market predictions and analysis." + }, + "@elizaos-plugins/plugin-ankr": { + "custom_preview": "/eliza/logos/ankr.jpg", + "description": "Provides blockchain data query interfaces for wallet information, NFT operations, and token analytics." }, "@elizaos-plugins/plugin-anyone": { - "description": "Enables SOCKS proxy configuration for the Anyone protocol proxy services.", - "custom_preview": "/eliza/logos/anyone.jpg" + "custom_preview": "/eliza/logos/anyone.jpg", + "description": "Enables SOCKS proxy configuration for the Anyone protocol proxy services." }, "@elizaos-plugins/plugin-aptos": { - "description": "Handles token transfers and wallet management on the Aptos blockchain.", - "custom_preview": "/eliza/logos/aptos.jpg" + "custom_preview": "/eliza/logos/aptos.jpg", + "description": "Handles token transfers and wallet management on the Aptos blockchain." + }, + "@elizaos-plugins/plugin-arbitrage": { + "custom_preview": "/eliza/logos/arbitage.png", + "description": "Identifies and executes cryptocurrency arbitrage opportunities across multiple exchanges." }, "@elizaos-plugins/plugin-arthera": { - "description": "Facilitates transactions and token operations on the Arthera network.", - "custom_preview": "/eliza/logos/arthera.jpg" + "custom_preview": "/eliza/logos/arthera.jpg", + "description": "Facilitates transactions and token operations on the Arthera network." }, "@elizaos-plugins/plugin-asterai": { - "description": "Integrates with asterai.io plugins and agents for enhanced AI capabilities.", - "custom_preview": "/eliza/logos/asterai.jpg" - }, - "@elizaos-plugins/plugin-ATTPs": { - "description": "Enables verification of agent activities using proof generation and validation.", - "custom_preview": "/eliza/logos/appro.jpg" + "custom_preview": "/eliza/logos/asterai.jpg", + "description": "Integrates with asterai.io plugins and agents for enhanced AI capabilities." }, "@elizaos-plugins/plugin-autonome": { - "description": "Launches and manages new Eliza agents through the Autonome platform.", - "custom_preview": "/eliza/logos/autonome.jpg" + "custom_preview": "/eliza/logos/autonome.jpg", + "description": "Launches and manages new Eliza agents through the Autonome platform." }, "@elizaos-plugins/plugin-avail": { - "description": "Interacts with Avail DA network for data availability and token transfers.", - "custom_preview": "/eliza/logos/avail.png" + "custom_preview": "/eliza/logos/avail.png", + "description": "Interacts with Avail DA network for data availability and token transfers." }, "@elizaos-plugins/plugin-avalanche": { - "description": "Enables DeFi operations and token management on the Avalanche blockchain.", - "custom_preview": "/eliza/logos/avalanche.jpg" + "custom_preview": "/eliza/logos/avalanche.jpg", + "description": "Enables DeFi operations and token management on the Avalanche blockchain." + }, + "@elizaos-plugins/plugin-aws-s3": { + "custom_preview": "/eliza/logos/AWS.jpg", + "description": "Provides AWS S3 integration for cloud-based file operations and storage management." + }, + "@elizaos-plugins/plugin-b2": { + "custom_preview": "/eliza/logos/B2network.jpg", + "description": "Enables token transfers on the B2-Network blockchain with support for B2-BTC and ERC20 tokens." }, "@elizaos-plugins/plugin-binance": { - "description": "Provides cryptocurrency trading and price checking capabilities through Binance's API.", - "custom_preview": "/eliza/logos/binance.jpg" + "custom_preview": "/eliza/logos/binance.jpg", + "description": "Provides cryptocurrency trading and price checking capabilities through Binance's API." + }, + "@elizaos-plugins/plugin-birdeye": { + "custom_preview": "/eliza/logos/birdeye.jpg", + "description": "Offers DeFi and token analytics through Birdeye's API with real-time blockchain data across multiple networks." + }, + "@elizaos-plugins/plugin-bittensor": { + "custom_preview": "/eliza/logos/bittensor.jpg", + "description": "Integrates BitMind's API for accessing AI services on the Bittensor network, especially deepfake detection." + }, + "@elizaos-plugins/plugin-bnb": { + "custom_preview": "/eliza/logos/BNBchain.jpg", + "description": "Enables interactions with BNB Chain ecosystem including BNB Smart Chain, opBNB, and BNB Greenfield networks." + }, + "@elizaos-plugins/plugin-bootstrap": { + "custom_preview": "/eliza/logos/bootstrap.jpg", + "description": "Provides core functionality for ElizaOS agents including conversation management and fact tracking." + }, + "@elizaos-plugins/plugin-browser": { + "custom_preview": "/eliza/logos/browser.playwright.jpg", + "description": "Provides web scraping and browser automation using Playwright with support for multiple browsers and interactions." }, "@elizaos-plugins/plugin-ccxt": { - "description": "Enables cryptocurrency trading and arbitrage across multiple exchanges using CCXT.", - "custom_preview": "/eliza/logos/ccxt.png" + "custom_preview": "/eliza/logos/ccxt.png", + "description": "Enables cryptocurrency trading and arbitrage across multiple exchanges using CCXT." + }, + "@elizaos-plugins/plugin-chainbase": { + "custom_preview": "/eliza/logos/chainbase.jpg", + "description": "Bridges on-chain data with AI agents, enabling natural language interactions with blockchain data across networks." }, "@elizaos-plugins/plugin-coinbase": { - "description": "Provides comprehensive integration with Coinbase's various APIs and trading services.", - "custom_preview": "/eliza/logos/coinbase.png" + "custom_preview": "/eliza/logos/coinbase.png", + "description": "Provides comprehensive integration with Coinbase's various APIs and trading services." }, "@elizaos-plugins/plugin-coingecko": { - "description": "Fetches cryptocurrency price data and market information from CoinGecko's API.", - "custom_preview": "/eliza/logos/coingecko.jpg" + "custom_preview": "/eliza/logos/coingecko.jpg", + "description": "Fetches cryptocurrency price data and market information from CoinGecko's API." }, "@elizaos-plugins/plugin-coinmarketcap": { - "description": "Enables cryptocurrency price checking using CoinMarketCap's API services.", - "custom_preview": "/eliza/logos/coinmarketcap.jpg" + "custom_preview": "/eliza/logos/coinmarketcap.jpg", + "description": "Enables cryptocurrency price checking using CoinMarketCap's API services." }, "@elizaos-plugins/plugin-compass": { - "description": "Integrates with Compass API for executing operations on DeFi protocols.", - "custom_preview": "/eliza/logos/compass.jpg" + "custom_preview": "/eliza/logos/compass.jpg", + "description": "Integrates with Compass API for executing operations on DeFi protocols." }, "@elizaos-plugins/plugin-conflux": { - "description": "Manages token transfers and interactions on the Conflux blockchain network.", - "custom_preview": "/eliza/logos/conflux.png" + "custom_preview": "/eliza/logos/conflux.png", + "description": "Manages token transfers and interactions on the Conflux blockchain network." }, "@elizaos-plugins/plugin-cosmos": { - "description": "Handles token management and transfers using Cosmos-compatible blockchains.", - "custom_preview": "/eliza/logos/cosmos.jpg" + "custom_preview": "/eliza/logos/cosmos.jpg", + "description": "Handles token management and transfers using Cosmos-compatible blockchains." + }, + "@elizaos-plugins/plugin-cronos": { + "custom_preview": "/eliza/logos/cronos.jpg", + "description": "Extends EVM plugin functionality for Cronos blockchain with native CRO token support and wallet operations." }, "@elizaos-plugins/plugin-cronoszkevm": { - "description": "Enables token transfers and interactions on the Cronos zkEVM network.", - "custom_preview": "/eliza/logos/cronos.png" + "custom_preview": "/eliza/logos/cronos.png", + "description": "Enables token transfers and interactions on the Cronos zkEVM network." }, "@elizaos-plugins/plugin-d.a.t.a": { - "description": "Processes and analyzes data from various sources with authentication and trust scoring.", - "custom_preview": "/eliza/logos/carv.jpg" + "custom_preview": "/eliza/logos/carv.jpg", + "description": "Processes and analyzes data from various sources with authentication and trust scoring." + }, + "@elizaos-plugins/plugin-dcap": { + "custom_preview": "/eliza/logos/dcap.png", + "description": "Provides Intel Data Center Attestation Primitives for secure cloud environments." }, "@elizaos-plugins/plugin-depin": { - "description": "Connects AI agents to physical infrastructure through Decentralized Physical Infrastructure Networks.", - "custom_preview": "/eliza/logos/depin.jpg" + "custom_preview": "/eliza/logos/depin.jpg", + "description": "Connects AI agents to physical infrastructure through Decentralized Physical Infrastructure Networks." + }, + "@elizaos-plugins/plugin-desk-exchange": { + "custom_preview": "/eliza/logos/desk.jpg", + "description": "Integrates with DESK Exchange for perpetual futures trading with support for market and limit orders." + }, + "@elizaos-plugins/plugin-devin": { + "custom_preview": "/eliza/logos/devin.png", + "description": "Provides integration with Devin API for automated engineering assistance and session management." + }, + "@elizaos-plugins/plugin-dexscreener": { + "custom_preview": "/eliza/logos/dexscreener.jpg", + "description": "Accesses DexScreener's token data for price information and market trends across multiple blockchains." }, "@elizaos-plugins/plugin-di": { - "description": "Provides dependency injection system for Eliza plugins.", - "custom_preview": "/eliza/logos/di-logo.jpg" + "custom_preview": "/eliza/logos/di-logo.jpg", + "description": "Provides dependency injection system for Eliza plugins." + }, + "@elizaos-plugins/plugin-dkg": { + "custom_preview": "/eliza/logos/OriginTrail.jpg", + "description": "Enables integration with OriginTrail Decentralized Knowledge Graph for enhanced search capabilities." }, "@elizaos-plugins/plugin-echochambers": { - "description": "Enables chat room interactions with dynamic conversation handling and monitoring.", - "custom_preview": "/eliza/logos/echochambers.png" + "custom_preview": "/eliza/logos/echochambers.png", + "description": "Enables chat room interactions with dynamic conversation handling and monitoring." }, "@elizaos-plugins/plugin-edwin": { - "description": "Enables interaction with Edwin tools for DeFi operations.", - "custom_preview": "/eliza/logos/edwin.jpg" + "custom_preview": "/eliza/logos/edwin.jpg", + "description": "Enables interaction with Edwin tools for DeFi operations." + }, + "@elizaos-plugins/plugin-email": { + "custom_preview": "/eliza/logos/email.png", + "description": "Implements email client functionality for sending and receiving emails through SMTP/IMAP services." + }, + "@elizaos-plugins/plugin-email-automation": { + "custom_preview": "/eliza/logos/email.jpg", + "description": "Intelligently detects email-worthy conversations and handles generation/delivery with AI-powered content formatting." + }, + "@elizaos-plugins/plugin-ethstorage": { + "custom_preview": "/eliza/logos/ETHstorage.jpg", + "description": "Enables interaction with EthStorage decentralized storage network for data submission and token transfers." }, "@elizaos-plugins/plugin-evm": { - "description": "Provides comprehensive functionality for interacting with EVM-compatible chains.", "custom_preview": "/eliza/logos/evm.png", + "description": "Provides comprehensive functionality for interacting with EVM-compatible chains.", "featured": true }, "@elizaos-plugins/plugin-ferePro": { - "description": "Enables WebSocket communication with FerePro API for AI-driven market insights.", - "custom_preview": "/eliza/logos/ferepro.png" + "custom_preview": "/eliza/logos/ferepro.png", + "description": "Enables WebSocket communication with FerePro API for AI-driven market insights." }, "@elizaos-plugins/plugin-firecrawl": { - "description": "Provides web scraping and crawling capabilities through the Firecrawl API.", - "custom_preview": "/eliza/logos/firecrawl.jpg" + "custom_preview": "/eliza/logos/firecrawl.jpg", + "description": "Provides web scraping and crawling capabilities through the Firecrawl API." }, "@elizaos-plugins/plugin-flow": { - "description": "Manages Flow blockchain interactions including token transfers and smart contracts.", - "custom_preview": "/eliza/logos/flowchain.png" + "custom_preview": "/eliza/logos/flowchain.png", + "description": "Manages Flow blockchain interactions including token transfers and smart contracts." }, "@elizaos-plugins/plugin-flow-advanced": { - "description": "The advanced Eliza plugin for Flow Blockchain", - "custom_preview": "/eliza/logos/flowchain.png" + "custom_preview": "/eliza/logos/flowchain.png", + "description": "The advanced Eliza plugin for Flow Blockchain" + }, + "@elizaos-plugins/plugin-football": { + "custom_preview": "/eliza/logos/footballDATA.jpg", + "description": "Provides live football match data and league standings information through the Football-Data.org API." + }, + "@elizaos-plugins/plugin-form": { + "custom_preview": "/eliza/logos/form.jpg", + "description": "Integrates Form chain capabilities for curves-based token economics with ERC20 conversion and management." }, "@elizaos-plugins/plugin-fuel": { - "description": "Enables ETH transfers and interactions on the Fuel Ignition network.", - "custom_preview": "/eliza/logos/fuel.jpg" + "custom_preview": "/eliza/logos/fuel.jpg", + "description": "Enables ETH transfers and interactions on the Fuel Ignition network." + }, + "@elizaos-plugins/plugin-gelato": { + "custom_preview": "/eliza/logos/gelato.jpg", + "description": "Enables smart contract interactions via Gelato Relay supporting both ERC2771 and non-ERC2771 calls on EVM chains." }, "@elizaos-plugins/plugin-genlayer": { - "description": "Facilitates contract deployment and interactions on the GenLayer protocol.", - "custom_preview": "/eliza/logos/genlayer.jpg" + "custom_preview": "/eliza/logos/genlayer.jpg", + "description": "Facilitates contract deployment and interactions on the GenLayer protocol." + }, + "@elizaos-plugins/plugin-gigbot": { + "custom_preview": "/eliza/logos/gigbot.png", + "description": "AI-powered freelance work management and automation toolkit." }, "@elizaos-plugins/plugin-giphy": { - "description": "Enables sending GIFs in response to user messages using the Giphy API.", - "custom_preview": "/eliza/logos/giphy.jpg" + "custom_preview": "/eliza/logos/giphy.jpg", + "description": "Enables sending GIFs in response to user messages using the Giphy API." }, "@elizaos-plugins/plugin-gitbook": { - "description": "Enables querying and retrieving information from GitBook documentation.", - "custom_preview": "/eliza/logos/gitbook.jpg" + "custom_preview": "/eliza/logos/gitbook.jpg", + "description": "Enables querying and retrieving information from GitBook documentation." + }, + "@elizaos-plugins/plugin-gitcoin-passport": { + "custom_preview": "/eliza/logos/gitcoin.passport.jpg", + "description": "Interacts with Gitcoin Passport API for verifying and managing digital identity credentials." }, "@elizaos-plugins/plugin-goat": { - "description": "Integrates blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework.", - "custom_preview": "/eliza/logos/goat.jpg" + "custom_preview": "/eliza/logos/goat.jpg", + "description": "Integrates blockchain capabilities through the GOAT (Great Onchain Agent Toolkit) framework." }, "@elizaos-plugins/plugin-goplus": { - "description": "Enables on-chain security checks through the GoPlus API integration.", - "custom_preview": "/eliza/logos/goplus.jpg" + "custom_preview": "/eliza/logos/goplus.jpg", + "description": "Enables on-chain security checks through the GoPlus API integration." }, "@elizaos-plugins/plugin-grix": { - "description": "Enables DeFi options data fetching and price analysis through Grix Finance API.", - "custom_preview": "/eliza/logos/grix.png" + "custom_preview": "/eliza/logos/grix.png", + "description": "Enables DeFi options data fetching and price analysis through Grix Finance API." + }, + "@elizaos-plugins/plugin-holdstation": { + "custom_preview": "/eliza/logos/holdstation.jpg", + "description": "Enables token swapping on Holdstation DEX with support for ZKsync Era and upcoming Berachain." + }, + "@elizaos-plugins/plugin-hyperbolic": { + "custom_preview": "/eliza/logos/hyperbolic.jpg", + "description": "Manages GPU instances on the Hyperbolic platform with capabilities for renting and monitoring resources." }, "@elizaos-plugins/plugin-hyperliquid": { - "description": "Provides spot trading capabilities on the Hyperliquid DEX.", - "custom_preview": "/eliza/logos/hyperliquid.png" + "custom_preview": "/eliza/logos/hyperliquid.png", + "description": "Provides spot trading capabilities on the Hyperliquid DEX." }, "@elizaos-plugins/plugin-icp": { - "description": "Enables interaction with Internet Computer Protocol for token and smart contract operations.", - "custom_preview": "/eliza/logos/ICP.jpg" + "custom_preview": "/eliza/logos/ICP.jpg", + "description": "Enables interaction with Internet Computer Protocol for token and smart contract operations." + }, + "@elizaos-plugins/plugin-image": { + "custom_preview": "/eliza/logos/imagegen.jpg", + "description": "Processes and analyzes images to generate descriptions with support for multiple vision model providers." }, "@elizaos-plugins/plugin-image-generation": { - "description": "Generates and manages images with storage integration and optimization features.", - "custom_preview": "/eliza/logos/imagegen.jpg" + "custom_preview": "/eliza/logos/imagegen.jpg", + "description": "Generates and manages images with storage integration and optimization features." + }, + "@elizaos-plugins/plugin-imgflip": { + "custom_preview": "/eliza/logos/imgFlip.jpg", + "description": "Generates memes using the imgflip.com API based on user messages." + }, + "@elizaos-plugins/plugin-initia": { + "custom_preview": "/eliza/logos/initia.jpg", + "description": "Enables token transfers on the Initia blockchain with support for INIT token transactions." + }, + "@elizaos-plugins/plugin-injective": { + "custom_preview": "/eliza/logos/injective.jpg", + "description": "Provides comprehensive interaction with the Injective blockchain through module-based action creation." }, "@elizaos-plugins/plugin-intiface": { - "description": "Controls intimate hardware devices through the Buttplug.io protocol.", - "custom_preview": "/eliza/logos/intiface.png" + "custom_preview": "/eliza/logos/intiface.png", + "description": "Controls intimate hardware devices through the Buttplug.io protocol." + }, + "@elizaos-plugins/plugin-iq6900": { + "custom_preview": "/eliza/logos/IQ6900.jpg", + "description": "Provides blockchain inscription functionality through IQ6900's Code-In standard for permanent agent storage." }, "@elizaos-plugins/plugin-irys": { - "description": "Enables decentralized data storage and retrieval using the Irys datachain platform.", - "custom_preview": "/eliza/logos/irys.jpg" + "custom_preview": "/eliza/logos/irys.jpg", + "description": "Enables decentralized data storage and retrieval using the Irys datachain platform." }, - "@elizaos-plugins/plugin-lensNetwork": { - "description": "Integrates with Lens Protocol for social networking features.", - "custom_preview": "/eliza/logos/lens.jpg" + "@elizaos-plugins/plugin-isaacx": { + "custom_preview": "/eliza/logos/isaac.jpg", + "description": "Advanced AI reasoning and cognitive modeling plugin." + }, + "@elizaos-plugins/plugin-lens-network": { + "custom_preview": "/eliza/logos/lens.jpg", + "description": "Integrates with Lens protocol for both native and ERC20 tokens." }, "@elizaos-plugins/plugin-letzai": { - "description": "Enables image generation using LetzAI's API and models.", - "custom_preview": "/eliza/logos/letzai.jpg" + "custom_preview": "/eliza/logos/letzai.jpg", + "description": "Enables image generation using LetzAI's API and models." + }, + "@elizaos-plugins/plugin-lightlink": { + "custom_preview": "/eliza/logos/lightlink.jpg", + "description": "Enables Ethereum layer 2 operations on the Lightlink blockchain network." + }, + "@elizaos-plugins/plugin-lightning": { + "custom_preview": "/eliza/logos/lightning.png", + "description": "Enables Lightning Network integration for creating invoices and making off-chain Bitcoin payments." + }, + "@elizaos-plugins/plugin-lit": { + "custom_preview": "/eliza/logos/LitProtocol.jpg", + "description": "Integrates Lit Protocol for secure and decentralized access control and cryptographic operations." + }, + "@elizaos-plugins/plugin-llama": { + "custom_preview": "/eliza/logos/meta-llama.jpg", + "description": "Provides local LLM capabilities using LLaMA models with CPU and GPU support for efficient text generation." }, "@elizaos-plugins/plugin-massa": { - "description": "Enables interactions with the Massa blockchain ecosystem.", - "custom_preview": "/eliza/logos/massa.jpg" + "custom_preview": "/eliza/logos/massa.jpg", + "description": "Enables interactions with the Massa blockchain ecosystem." }, "@elizaos-plugins/plugin-merkle": { - "description": "Integrates MerkleTrade platform for trading operations with API-based price tracking and order management.", - "custom_preview": "/eliza/logos/merkle.jpg" + "custom_preview": "/eliza/logos/merkle.jpg", + "description": "Integrates MerkleTrade platform for trading operations with API-based price tracking and order management." }, "@elizaos-plugins/plugin-messari-ai-toolkit": { - "description": "Provides crypto market research capabilities using Messari's AI Toolkit.", - "custom_preview": "/eliza/logos/messari.jpg" + "custom_preview": "/eliza/logos/messari.jpg", + "description": "Provides crypto market research capabilities using Messari's AI Toolkit." + }, + "@elizaos-plugins/plugin-mina": { + "custom_preview": "/eliza/logos/Mina.jpg", + "description": "Enables Mina blockchain interactions for token transfers, wallet management, and balance queries." + }, + "@elizaos-plugins/plugin-mind-network": { + "custom_preview": "/eliza/logos/MindNetwork.jpg", + "description": "Integrates with Mind Network Hubs for secure, privacy-preserving voting using Fully Homomorphic Encryption." + }, + "@elizaos-plugins/plugin-moralis": { + "custom_preview": "/eliza/logos/moralis.jpg", + "description": "Fetches real-time DeFi data including trading pairs, statistics, and price history through Moralis APIs." }, "@elizaos-plugins/plugin-movement": { - "description": "Enables Movement Network blockchain functionality for token operations.", - "custom_preview": "/eliza/logos/movement.jpg" + "custom_preview": "/eliza/logos/movement.jpg", + "description": "Enables Movement Network blockchain functionality for token operations." + }, + "@elizaos-plugins/plugin-multichain": { + "custom_preview": "/eliza/logos/nearai.png", + "description": "Cross-chain interaction capabilities for multiple blockchain networks." }, "@elizaos-plugins/plugin-multiversx": { - "description": "Manages token operations and transfers on the MultiversX blockchain.", - "custom_preview": "/eliza/logos/multiversx.jpg" + "custom_preview": "/eliza/logos/multiversx.jpg", + "description": "Manages token operations and transfers on the MultiversX blockchain." }, "@elizaos-plugins/plugin-near": { - "description": "Enables token management and transfers on the NEAR Protocol blockchain.", - "custom_preview": "/eliza/logos/NEAR.jpg" + "custom_preview": "/eliza/logos/NEAR.jpg", + "description": "Enables token management and transfers on the NEAR Protocol blockchain." + }, + "@elizaos-plugins/plugin-news": { + "custom_preview": "/eliza/logos/NewsAPI.jpg", + "description": "Fetches and handles real-time news data through NewsAPI integration with search and summary capabilities." + }, + "@elizaos-plugins/plugin-nft-collections": { + "custom_preview": "/eliza/logos/nftgen.png", + "description": "Integrates NFT data services for comprehensive market analytics and trading with support for 420+ verified collections." }, "@elizaos-plugins/plugin-nft-generation": { - "description": "Creates NFT collections with AI-generated artwork on the Solana blockchain.", - "custom_preview": "/eliza/logos/nftgen.png" + "custom_preview": "/eliza/logos/nftgen.png", + "description": "Creates NFT collections with AI-generated artwork on the Solana blockchain." + }, + "@elizaos-plugins/plugin-nkn": { + "custom_preview": "/eliza/logos/nkn.jpg", + "description": "Enables communication between multiple AI agents using the NKN protocol for decentralized messaging." }, "@elizaos-plugins/plugin-node": { - "description": "Provides core Node.js services for file operations and media processing.", - "custom_preview": "/eliza/logos/nodejs.jpg" + "custom_preview": "/eliza/logos/nodejs.jpg", + "description": "Provides core Node.js services for file operations and media processing." }, - "@elizaos-plugins/plugin-nkn": { - "description": "Enables communication between multiple AI agents using the NKN protocol for decentralized messaging.", - "custom_preview": "/eliza/logos/nkn.jpg" + "@elizaos-plugins/plugin-nvidia-nim": { + "custom_preview": "/eliza/logos/nvidia.jpg", + "description": "Integrates NVIDIA's AI foundation models for content analysis including AI image detection and safety checks." }, "@elizaos-plugins/plugin-obsidian": { - "description": "Enables seamless integration with Obsidian vaults for note management.", - "custom_preview": "/eliza/logos/obsidian.jpg" + "custom_preview": "/eliza/logos/obsidian.jpg", + "description": "Enables seamless integration with Obsidian vaults for note management." + }, + "@elizaos-plugins/plugin-okto": { + "custom_preview": "/eliza/logos/okto.png", + "description": "Self-custody wallet operations and transaction management." + }, + "@elizaos-plugins/plugin-okx": { + "custom_preview": "/eliza/logos/okx.png", + "description": "Trading and asset management through OKX exchange API." }, "@elizaos-plugins/plugin-omniflix": { - "description": "Facilitates interactions with the OmniFlix Network blockchain.", - "custom_preview": "/eliza/logos/omniflix.jpg" + "custom_preview": "/eliza/logos/omniflix.jpg", + "description": "Facilitates interactions with the OmniFlix Network blockchain." }, "@elizaos-plugins/plugin-opacity": { - "description": "Implements verifiable inference results from various AI model providers.", - "custom_preview": "/eliza/logos/opacity.jpg" + "custom_preview": "/eliza/logos/opacity.jpg", + "description": "Implements verifiable inference results from various AI model providers." }, "@elizaos-plugins/plugin-open-weather": { - "description": "Fetches weather data using the OpenWeather API.", - "custom_preview": "/eliza/logos/openweather.jpg" + "custom_preview": "/eliza/logos/openweather.jpg", + "description": "Fetches weather data using the OpenWeather API." + }, + "@elizaos-plugins/plugin-openai": { + "custom_preview": "/eliza/logos/openAI.jpg", + "description": "Integrates OpenAI's GPT models for automated text generation with customizable prompts." + }, + "@elizaos-plugins/plugin-para": { + "custom_preview": "/eliza/logos/para.png", + "description": "NFT and digital collectible management platform integration." + }, + "@elizaos-plugins/plugin-pdf": { + "custom_preview": "/eliza/logos/PDF.jpg", + "description": "Provides PDF text extraction and processing capabilities for document analysis." }, "@elizaos-plugins/plugin-primus": { - "description": "Verifies agent activities using Primus' zkTLS protocol.", - "custom_preview": "/eliza/logos/primus.png" + "custom_preview": "/eliza/logos/primus.png", + "description": "Verifies agent activities using Primus' zkTLS protocol." + }, + "@elizaos-plugins/plugin-pyth-data": { + "custom_preview": "/eliza/logos/pyth.jpg", + "description": "Integrates with Pyth Network for real-time price feeds and data streams across multiple asset classes." }, "@elizaos-plugins/plugin-quai": { - "description": "Enables token transfers and blockchain interactions on Quai Network.", - "custom_preview": "/eliza/logos/quai.jpg" + "custom_preview": "/eliza/logos/quai.jpg", + "description": "Enables token transfers and blockchain interactions on Quai Network." + }, + "@elizaos-plugins/plugin-quick-intel": { + "custom_preview": "/eliza/logos/quickintel.jpg", + "description": "Performs token security audits and market analysis with support for multiple chains and address formats." }, "@elizaos-plugins/plugin-rabbi-trader": { - "description": "Provides automated cryptocurrency trading on Solana with trust scoring.", - "custom_preview": "/eliza/logos/rabbitrader.jpg" + "custom_preview": "/eliza/logos/rabbitrader.jpg", + "description": "Provides automated cryptocurrency trading on Solana with trust scoring." + }, + "@elizaos-plugins/plugin-router-nitro": { + "custom_preview": "/eliza/logos/router.jpg", + "description": "Enables cross-chain token transfers using Router Nitro bridge with support for multiple blockchains." }, "@elizaos-plugins/plugin-sei": { - "description": "Enables token transfers and operations on the Sei blockchain network.", - "custom_preview": "/eliza/logos/sei.jpg" + "custom_preview": "/eliza/logos/sei.jpg", + "description": "Enables token transfers and operations on the Sei blockchain network." }, "@elizaos-plugins/plugin-sgx": { - "description": "Provides Intel SGX attestation capabilities for secure execution.", - "custom_preview": "/eliza/logos/intelsgx.png" + "custom_preview": "/eliza/logos/intelsgx.png", + "description": "Provides Intel SGX attestation capabilities for secure execution." }, "@elizaos-plugins/plugin-solana": { - "description": "Enables comprehensive DeFi operations on the Solana blockchain.", - "custom_preview": "/eliza/logos/solana.jpg" + "custom_preview": "/eliza/logos/solana.jpg", + "description": "Enables comprehensive DeFi operations on the Solana blockchain." }, "@elizaos-plugins/plugin-solana-agent-kit": { - "description": "Provides token operations and NFT functionality on Solana.", "custom_preview": "/eliza/logos/sendai.png", + "description": "Provides token operations and NFT functionality on Solana.", "featured": true }, + "@elizaos-plugins/plugin-solana-agentkit": { + "custom_preview": "/eliza/logos/solanaV2.jpg", + "description": "Enables interaction with the Solana blockchain through AgentKit for wallet and transaction management." + }, + "@elizaos-plugins/plugin-solana-v2": { + "custom_preview": "/eliza/logos/solanaV2.jpg", + "description": "Leverages @solana/web3.js v2 for modern, efficient Solana integrations with liquidity position management." + }, + "@elizaos-plugins/plugin-speech-tts": { + "custom_preview": "/eliza/logos/TTSelevenlabs.jpg", + "description": "Provides text-to-speech transcription services using OpenAI and ElevenLabs technologies." + }, "@elizaos-plugins/plugin-spheron": { - "description": "Manages deployments and operations using the Spheron Protocol.", - "custom_preview": "/eliza/logos/spheron.jpg" + "custom_preview": "/eliza/logos/spheron.jpg", + "description": "Manages deployments and operations using the Spheron Protocol." + }, + "@elizaos-plugins/plugin-squid-router": { + "custom_preview": "/eliza/logos/squid.jpg", + "description": "Enables cross-chain token swaps between blockchains using the Squid Router protocol." }, "@elizaos-plugins/plugin-stargaze": { - "description": "Fetches NFT data from Stargaze collections.", - "custom_preview": "/eliza/logos/stargaze.png" + "custom_preview": "/eliza/logos/stargaze.png", + "description": "Fetches NFT data from Stargaze collections." }, "@elizaos-plugins/plugin-starknet": { - "description": "Enables token and DeFi operations on the Starknet blockchain.", - "custom_preview": "/eliza/logos/starknet.png" + "custom_preview": "/eliza/logos/starknet.png", + "description": "Enables token and DeFi operations on the Starknet blockchain." }, "@elizaos-plugins/plugin-story": { - "description": "Generates and manages interactive storytelling experiences with branching narratives.", "custom_preview": "/eliza/logos/story.jpg", + "description": "Generates and manages interactive storytelling experiences with branching narratives.", "featured": true }, "@elizaos-plugins/plugin-sui": { - "description": "Manages token transfers and wallet operations on the Sui blockchain.", - "custom_preview": "/eliza/logos/sui.jpg" + "custom_preview": "/eliza/logos/sui.jpg", + "description": "Manages token transfers and wallet operations on the Sui blockchain." + }, + "@elizaos-plugins/plugin-suno": { + "custom_preview": "/eliza/logos/suno.jpg", + "description": "Integrates Suno AI's music generation for creating custom music from text prompts with detailed controls." }, "@elizaos-plugins/plugin-tee": { - "description": "Handles Trusted Execution Environment operations and key management.", - "custom_preview": "/eliza/logos/phalatee.jpg" + "custom_preview": "/eliza/logos/phalatee.jpg", + "description": "Handles Trusted Execution Environment operations and key management." }, "@elizaos-plugins/plugin-tee-log": { - "description": "Provides secure logging capabilities within Trusted Execution Environments.", - "custom_preview": "/eliza/logos/tee.png" + "custom_preview": "/eliza/logos/tee.png", + "description": "Provides secure logging capabilities within Trusted Execution Environments." }, "@elizaos-plugins/plugin-tee-marlin": { - "description": "Enables TEE verification through Marlin Oyster platform.", - "custom_preview": "/eliza/logos/marlin.jpg" + "custom_preview": "/eliza/logos/marlin.jpg", + "description": "Enables TEE verification through Marlin Oyster platform." + }, + "@elizaos-plugins/plugin-tee-verifiable-log": { + "custom_preview": "/eliza/logos/tee.png", + "description": "Implements a verifiable logging system within Trusted Execution Environments for secure, auditable records." }, "@elizaos-plugins/plugin-thirdweb": { - "description": "Provides access to thirdweb's Nebula AI interface.", - "custom_preview": "/eliza/logos/thirdweb.jpg" + "custom_preview": "/eliza/logos/thirdweb.jpg", + "description": "Provides access to thirdweb's Nebula AI interface." }, "@elizaos-plugins/plugin-ton": { - "description": "Manages TON blockchain operations and wallet functionality.", - "custom_preview": "/eliza/logos/ton.png" + "custom_preview": "/eliza/logos/ton.png", + "description": "Manages TON blockchain operations and wallet functionality." + }, + "@elizaos-plugins/plugin-trikon": { + "custom_preview": "/eliza/logos/trikon.jpg", + "description": "Provides token transfer functionality for Trikon with wallet management on ZKsync Era blockchain." + }, + "@elizaos-plugins/plugin-trustdb": { + "custom_preview": "/eliza/logos/trusta.jpg", + "description": "Manages trust scores and performance metrics in a secure database for recommender tracking and token analysis." }, "@elizaos-plugins/plugin-trustgo": { - "description": "Enables fetching EVM account information and MEDIA score attestations from TrustGo.", - "custom_preview": "/eliza/logos/trusta.jpg" + "custom_preview": "/eliza/logos/trusta.jpg", + "description": "Enables fetching EVM account information and MEDIA score attestations from TrustGo." }, "@elizaos-plugins/plugin-tts": { - "description": "Generates speech from text using FAL.ai's API.", - "custom_preview": "/eliza/logos/fal.jpg" + "custom_preview": "/eliza/logos/fal.jpg", + "description": "Generates speech from text using FAL.ai's API." + }, + "@elizaos-plugins/plugin-twilio": { + "custom_preview": "/eliza/logos/twilio.png", + "description": "SMS, voice, and communication capabilities through Twilio API." }, "@elizaos-plugins/plugin-twitter": { - "description": "Enables automated tweet posting with character-aware content generation.", - "custom_preview": "/eliza/logos/x.jpg" + "custom_preview": "/eliza/logos/x.jpg", + "description": "Enables automated tweet posting with character-aware content generation." + }, + "@elizaos-plugins/plugin-udio": { + "custom_preview": "/eliza/logos/UDIO.png", + "description": "Enables AI-powered music generation with capabilities for creating and extending audio from text prompts." }, "@elizaos-plugins/plugin-viction": { - "description": "Services and actions for token operations, trading, and DeFi integrations using Viction.", - "custom_preview": "/eliza/logos/viction.jpg" + "custom_preview": "/eliza/logos/viction.jpg", + "description": "Services and actions for token operations, trading, and DeFi integrations using Viction." + }, + "@elizaos-plugins/plugin-video": { + "custom_preview": "/eliza/logos/video.jpg", + "description": "Provides comprehensive video processing with download, format handling, and transcription capabilities." }, "@elizaos-plugins/plugin-video-generation": { - "description": "Generates videos using Luma AI's API services.", - "custom_preview": "/eliza/logos/LUMA.jpg" + "custom_preview": "/eliza/logos/LUMA.jpg", + "description": "Generates videos using Luma AI's API services." }, "@elizaos-plugins/plugin-web-search": { - "description": "Provides powerful web search capabilities with customizable API interface.", - "custom_preview": "/eliza/logos/websearch.jpg" + "custom_preview": "/eliza/logos/websearch.jpg", + "description": "Provides powerful web search capabilities with customizable API interface." }, "@elizaos-plugins/plugin-whatsapp": { - "description": "Enables WhatsApp messaging through the Cloud API with comprehensive features.", - "custom_preview": "/eliza/logos/whatsapp.png" + "custom_preview": "/eliza/logos/whatsapp.png", + "description": "Enables WhatsApp messaging through the Cloud API with comprehensive features." }, "@elizaos-plugins/plugin-youtube-to-text": { - "description": "Converts YouTube videos to text transcripts.", - "custom_preview": "/eliza/logos/youtube.png" - }, - "@elizaos-plugins/plugin-zerion": { - "description": "Fetches wallet portfolio and position data using the Zerion API.", - "custom_preview": "/eliza/logos/zerion.jpg" - }, - "@elizaos-plugins/plugin-zksync-era": { - "description": "Enables token transfers and operations on the zkSync Era network.", - "custom_preview": "/eliza/logos/zksync.jpg" - }, - "@elizaos-plugins/adapter-mongodb": { - "description": "Database adapter for MongoDB enabling document storage with query capabilities.", - "custom_preview": "/eliza/logos/mongodb.png" - }, - "@elizaos-plugins/adapter-postgres": { - "description": "Database adapter for PostgreSQL with full relational database capabilities.", - "custom_preview": "/eliza/logos/postgres.jpg" - }, - "@elizaos-plugins/adapter-pglite": { - "description": "Lightweight PostgreSQL adapter for embedded database applications.", - "custom_preview": "/eliza/logos/pglite.png" - }, - "@elizaos-plugins/adapter-qdrant": { - "description": "Vector database adapter for Qdrant with similarity search capabilities.", - "custom_preview": "/eliza/logos/qdrant.png" - }, - "@elizaos-plugins/adapter-sqljs": { - "description": "In-memory SQL database adapter for browser-based applications.", - "custom_preview": "/eliza/logos/sqljs.png" - }, - "@elizaos-plugins/adapter-sqlite": { - "description": "File-based SQL database adapter for lightweight local storage.", - "custom_preview": "/eliza/logos/sqlite.png" + "custom_preview": "/eliza/logos/youtube.png", + "description": "Converts YouTube videos to text transcripts." }, - "@elizaos-plugins/adapter-supabase": { - "description": "Database adapter for Supabase with PostgreSQL and realtime capabilities.", - "custom_preview": "/eliza/logos/supabase.jpg" - }, - "@elizaos-plugins/client-auto": { - "description": "Auto-detection client for determining optimal communication channels.", - "custom_preview": "/eliza/logos/auto.jpg" - }, - "@elizaos-plugins/client-discord": { - "description": "Discord integration client with messaging and community interaction capabilities.", - "custom_preview": "/eliza/logos/discord.jpg", - "featured": true - }, - "@elizaos-plugins/client-farcaster": { - "description": "Client for Farcaster decentralized social media protocol.", - "custom_preview": "/eliza/logos/farcaster.jpg" - }, - "@elizaos-plugins/client-github": { - "description": "GitHub client for repository management and code integration.", - "custom_preview": "/eliza/logos/github.png", - "featured": true - }, - "@elizaos-plugins/client-lens": { - "description": "Client for Lens Protocol decentralized social networking.", - "custom_preview": "/eliza/logos/lens.jpg" - }, - "@elizaos-plugins/client-slack": { - "description": "Slack integration client with messaging and workspace collaboration features.", - "custom_preview": "/eliza/logos/slack.jpg" - }, - "@elizaos-plugins/client-telegram": { - "description": "Telegram messaging client with bot and channel integration capabilities.", - "custom_preview": "/eliza/logos/telegram.jpg", - "featured": true - }, - "@elizaos-plugins/client-twitter": { - "description": "Twitter/X client for posting and monitoring social media activity.", - "custom_preview": "/eliza/logos/x.jpg", - "featured": true - }, - "@elizaos-plugins/client-tako": { - "description": "Client for the Tako protocol enabling cross-platform social engagement.", - "custom_preview": "/eliza/logos/tako.png" - }, - "@elizaos-plugins/plugin-dcap": { - "description": "Provides Intel Data Center Attestation Primitives for secure cloud environments.", - "custom_preview": "/eliza/logos/dcap.png" - }, - "@elizaos-plugins/plugin-gigbot": { - "description": "AI-powered freelance work management and automation toolkit.", - "custom_preview": "/eliza/logos/gigbot.png" - }, - "@elizaos-plugins/plugin-isaacx": { - "description": "Advanced AI reasoning and cognitive modeling plugin.", - "custom_preview": "/eliza/logos/isaac.jpg" - }, - "@elizaos-plugins/plugin-lightlink": { - "description": "Enables Ethereum layer 2 operations on the Lightlink blockchain network.", - "custom_preview": "/eliza/logos/lightlink.jpg" - }, - "@elizaos-plugins/plugin-multichain": { - "description": "Cross-chain interaction capabilities for multiple blockchain networks.", - "custom_preview": "/eliza/logos/nearai.png" - }, - "@elizaos-plugins/plugin-okto": { - "description": "Self-custody wallet operations and transaction management.", - "custom_preview": "/eliza/logos/okto.png" - }, - "@elizaos-plugins/plugin-okx": { - "description": "Trading and asset management through OKX exchange API.", - "custom_preview": "/eliza/logos/okx.png" + "@elizaos-plugins/plugin-zapper": { + "custom_preview": "/eliza/logos/zapper.jpg", + "description": "Portfolio tracking and DeFi position management across multiple chains." }, - "@elizaos-plugins/plugin-para": { - "description": "NFT and digital collectible management platform integration.", - "custom_preview": "/eliza/logos/para.png" + "@elizaos-plugins/plugin-zerion": { + "custom_preview": "/eliza/logos/zerion.jpg", + "description": "Fetches wallet portfolio and position data using the Zerion API." }, - "@elizaos-plugins/plugin-twilio": { - "description": "SMS, voice, and communication capabilities through Twilio API.", - "custom_preview": "/eliza/logos/twilio.png" + "@elizaos-plugins/plugin-zilliqa": { + "custom_preview": "/eliza/logos/zilliqa.jpg", + "description": "Integrates Zilliqa blockchain capabilities through the GOAT framework for wallet and transaction functionality." }, - "@elizaos-plugins/plugin-zapper": { - "description": "Portfolio tracking and DeFi position management across multiple chains.", - "custom_preview": "/eliza/logos/zapper.jpg" + "@elizaos-plugins/plugin-zksync-era": { + "custom_preview": "/eliza/logos/zksync.jpg", + "description": "Enables token transfers and operations on the zkSync Era network." } } diff --git a/docs/src/data/registry-users.tsx b/docs/src/data/registry-users.tsx index 625f45123b2..9a950247ede 100644 --- a/docs/src/data/registry-users.tsx +++ b/docs/src/data/registry-users.tsx @@ -637,16 +637,6 @@ export const registryUsers: User[] = [ "plugin" ] }, - { - "title": "LensNetwork", - "description": "Integrates with Lens Protocol for social networking features.", - "preview": "/eliza/logos/lens.jpg", - "website": "https://github.com/elizaos-plugins/plugin-lensNetwork", - "source": "https://github.com/elizaos-plugins/plugin-lensNetwork", - "tags": [ - "plugin" - ] - }, { "title": "Letzai", "description": "Enables image generation using LetzAI's API and models.", @@ -1128,5 +1118,665 @@ export const registryUsers: User[] = [ "tags": [ "plugin" ] + }, + { + "title": "cache Redis", + "description": "Unmaintained cache plugin that originally lived in @elizaos/core and needs a maintainer.", + "preview": "/eliza/logos/redis.jpg", + "website": "https://github.com/elizaos-plugins/cache-redis", + "source": "https://github.com/elizaos-plugins/cache-redis", + "tags": [ + "plugin" + ] + }, + { + "title": "Alexa", + "description": "Provides integration with Amazon Alexa devices for voice-controlled agent interactions.", + "preview": "/eliza/logos/alexa.png", + "website": "https://github.com/elizaos-plugins/client-alexa", + "source": "https://github.com/elizaos-plugins/client-alexa", + "tags": [ + "client" + ] + }, + { + "title": "Deva", + "description": "Enables communication with Deva AI systems for advanced conversational capabilities.", + "preview": "/eliza/logos/deva.jpg", + "website": "https://github.com/elizaos-plugins/client-deva", + "source": "https://github.com/elizaos-plugins/client-deva", + "tags": [ + "client" + ] + }, + { + "title": "Direct", + "description": "Deprecated plugin that now lives in @elizaos/core.", + "preview": "/eliza/logos/direct.png", + "website": "https://github.com/elizaos-plugins/client-direct", + "source": "https://github.com/elizaos-plugins/client-direct", + "tags": [ + "client" + ] + }, + { + "title": "Eliza Home", + "description": "Provides integration with Eliza Home environment for home automation and intelligent assistant features.", + "preview": "/eliza/logos/home-assistant.png", + "website": "https://github.com/elizaos-plugins/client-eliza-home", + "source": "https://github.com/elizaos-plugins/client-eliza-home", + "tags": [ + "client" + ] + }, + { + "title": "Instagram", + "description": "Enables Instagram integration with support for media posting, comment handling, and interaction management.", + "preview": "/eliza/logos/instagram.jpg", + "website": "https://github.com/elizaos-plugins/client-instagram", + "source": "https://github.com/elizaos-plugins/client-instagram", + "tags": [ + "client" + ] + }, + { + "title": "Simsai", + "description": "Deprecated plugin that needs a maintainer.", + "preview": "/eliza/logos/simsAI.jpg", + "website": "https://github.com/elizaos-plugins/client-simsai", + "source": "https://github.com/elizaos-plugins/client-simsai", + "tags": [ + "client" + ] + }, + { + "title": "Telegram Account", + "description": "Provides advanced Telegram account management capabilities beyond basic bot functionality.", + "preview": "/eliza/logos/telegram.jpg", + "website": "https://github.com/elizaos-plugins/client-telegram-account", + "source": "https://github.com/elizaos-plugins/client-telegram-account", + "tags": [ + "client" + ] + }, + { + "title": "Xmtp", + "description": "Enables secure, decentralized, and end-to-end encrypted messaging through the XMTP protocol.", + "preview": "/eliza/logos/xmtp.jpg", + "website": "https://github.com/elizaos-plugins/client-xmtp", + "source": "https://github.com/elizaos-plugins/client-xmtp", + "tags": [ + "client" + ] + }, + { + "title": "0x", + "description": "Enables token swaps through 0x Protocol across multiple EVM blockchains with optimized routing and liquidity aggregation.", + "preview": "/eliza/logos/0x.jpg", + "website": "https://github.com/elizaos-plugins/plugin-0x", + "source": "https://github.com/elizaos-plugins/plugin-0x", + "tags": [ + "plugin" + ] + }, + { + "title": "Agentkit", + "description": "Integrates CDP AgentKit tools for NFT and token management on various blockchain networks.", + "preview": "/eliza/logos/agentkitCDB.jpg", + "website": "https://github.com/elizaos-plugins/plugin-agentkit", + "source": "https://github.com/elizaos-plugins/plugin-agentkit", + "tags": [ + "plugin" + ] + }, + { + "title": "Ankr", + "description": "Provides blockchain data query interfaces for wallet information, NFT operations, and token analytics.", + "preview": "/eliza/logos/ankr.jpg", + "website": "https://github.com/elizaos-plugins/plugin-ankr", + "source": "https://github.com/elizaos-plugins/plugin-ankr", + "tags": [ + "plugin" + ] + }, + { + "title": "Arbitrage", + "description": "Identifies and executes cryptocurrency arbitrage opportunities across multiple exchanges.", + "preview": "/eliza/logos/arbitage.png", + "website": "https://github.com/elizaos-plugins/plugin-arbitrage", + "source": "https://github.com/elizaos-plugins/plugin-arbitrage", + "tags": [ + "plugin" + ] + }, + { + "title": "Aws S3", + "description": "Provides AWS S3 integration for cloud-based file operations and storage management.", + "preview": "/eliza/logos/AWS.jpg", + "website": "https://github.com/elizaos-plugins/plugin-aws-s3", + "source": "https://github.com/elizaos-plugins/plugin-aws-s3", + "tags": [ + "plugin" + ] + }, + { + "title": "B2", + "description": "Enables token transfers on the B2-Network blockchain with support for B2-BTC and ERC20 tokens.", + "preview": "/eliza/logos/B2network.jpg", + "website": "https://github.com/elizaos-plugins/plugin-b2", + "source": "https://github.com/elizaos-plugins/plugin-b2", + "tags": [ + "plugin" + ] + }, + { + "title": "Birdeye", + "description": "Offers DeFi and token analytics through Birdeye's API with real-time blockchain data across multiple networks.", + "preview": "/eliza/logos/birdeye.jpg", + "website": "https://github.com/elizaos-plugins/plugin-birdeye", + "source": "https://github.com/elizaos-plugins/plugin-birdeye", + "tags": [ + "plugin" + ] + }, + { + "title": "Bittensor", + "description": "Integrates BitMind's API for accessing AI services on the Bittensor network, especially deepfake detection.", + "preview": "/eliza/logos/bittensor.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bittensor", + "source": "https://github.com/elizaos-plugins/plugin-bittensor", + "tags": [ + "plugin" + ] + }, + { + "title": "Bnb", + "description": "Enables interactions with BNB Chain ecosystem including BNB Smart Chain, opBNB, and BNB Greenfield networks.", + "preview": "/eliza/logos/BNBchain.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bnb", + "source": "https://github.com/elizaos-plugins/plugin-bnb", + "tags": [ + "plugin" + ] + }, + { + "title": "Bootstrap", + "description": "Provides core functionality for ElizaOS agents including conversation management and fact tracking.", + "preview": "/eliza/logos/bootstrap.jpg", + "website": "https://github.com/elizaos-plugins/plugin-bootstrap", + "source": "https://github.com/elizaos-plugins/plugin-bootstrap", + "tags": [ + "plugin" + ] + }, + { + "title": "Browser", + "description": "Provides web scraping and browser automation using Playwright with support for multiple browsers and interactions.", + "preview": "/eliza/logos/browser.playwright.jpg", + "website": "https://github.com/elizaos-plugins/plugin-browser", + "source": "https://github.com/elizaos-plugins/plugin-browser", + "tags": [ + "plugin" + ] + }, + { + "title": "Chainbase", + "description": "Bridges on-chain data with AI agents, enabling natural language interactions with blockchain data across networks.", + "preview": "/eliza/logos/chainbase.jpg", + "website": "https://github.com/elizaos-plugins/plugin-chainbase", + "source": "https://github.com/elizaos-plugins/plugin-chainbase", + "tags": [ + "plugin" + ] + }, + { + "title": "Cronos", + "description": "Extends EVM plugin functionality for Cronos blockchain with native CRO token support and wallet operations.", + "preview": "/eliza/logos/cronos.jpg", + "website": "https://github.com/elizaos-plugins/plugin-cronos", + "source": "https://github.com/elizaos-plugins/plugin-cronos", + "tags": [ + "plugin" + ] + }, + { + "title": "Desk Exchange", + "description": "Integrates with DESK Exchange for perpetual futures trading with support for market and limit orders.", + "preview": "/eliza/logos/desk.jpg", + "website": "https://github.com/elizaos-plugins/plugin-desk-exchange", + "source": "https://github.com/elizaos-plugins/plugin-desk-exchange", + "tags": [ + "plugin" + ] + }, + { + "title": "Devin", + "description": "Provides integration with Devin API for automated engineering assistance and session management.", + "preview": "/eliza/logos/devin.png", + "website": "https://github.com/elizaos-plugins/plugin-devin", + "source": "https://github.com/elizaos-plugins/plugin-devin", + "tags": [ + "plugin" + ] + }, + { + "title": "Dexscreener", + "description": "Accesses DexScreener's token data for price information and market trends across multiple blockchains.", + "preview": "/eliza/logos/dexscreener.jpg", + "website": "https://github.com/elizaos-plugins/plugin-dexscreener", + "source": "https://github.com/elizaos-plugins/plugin-dexscreener", + "tags": [ + "plugin" + ] + }, + { + "title": "Dkg", + "description": "Enables integration with OriginTrail Decentralized Knowledge Graph for enhanced search capabilities.", + "preview": "/eliza/logos/OriginTrail.jpg", + "website": "https://github.com/elizaos-plugins/plugin-dkg", + "source": "https://github.com/elizaos-plugins/plugin-dkg", + "tags": [ + "plugin" + ] + }, + { + "title": "Email", + "description": "Implements email client functionality for sending and receiving emails through SMTP/IMAP services.", + "preview": "/eliza/logos/email.png", + "website": "https://github.com/elizaos-plugins/plugin-email", + "source": "https://github.com/elizaos-plugins/plugin-email", + "tags": [ + "plugin" + ] + }, + { + "title": "Email Automation", + "description": "Intelligently detects email-worthy conversations and handles generation/delivery with AI-powered content formatting.", + "preview": "/eliza/logos/email.jpg", + "website": "https://github.com/elizaos-plugins/plugin-email-automation", + "source": "https://github.com/elizaos-plugins/plugin-email-automation", + "tags": [ + "plugin" + ] + }, + { + "title": "Ethstorage", + "description": "Enables interaction with EthStorage decentralized storage network for data submission and token transfers.", + "preview": "/eliza/logos/ETHstorage.jpg", + "website": "https://github.com/elizaos-plugins/plugin-ethstorage", + "source": "https://github.com/elizaos-plugins/plugin-ethstorage", + "tags": [ + "plugin" + ] + }, + { + "title": "Football", + "description": "Provides live football match data and league standings information through the Football-Data.org API.", + "preview": "/eliza/logos/footballDATA.jpg", + "website": "https://github.com/elizaos-plugins/plugin-football", + "source": "https://github.com/elizaos-plugins/plugin-football", + "tags": [ + "plugin" + ] + }, + { + "title": "Form", + "description": "Integrates Form chain capabilities for curves-based token economics with ERC20 conversion and management.", + "preview": "/eliza/logos/form.jpg", + "website": "https://github.com/elizaos-plugins/plugin-form", + "source": "https://github.com/elizaos-plugins/plugin-form", + "tags": [ + "plugin" + ] + }, + { + "title": "Gelato", + "description": "Enables smart contract interactions via Gelato Relay supporting both ERC2771 and non-ERC2771 calls on EVM chains.", + "preview": "/eliza/logos/gelato.jpg", + "website": "https://github.com/elizaos-plugins/plugin-gelato", + "source": "https://github.com/elizaos-plugins/plugin-gelato", + "tags": [ + "plugin" + ] + }, + { + "title": "Gitcoin Passport", + "description": "Interacts with Gitcoin Passport API for verifying and managing digital identity credentials.", + "preview": "/eliza/logos/gitcoin.passport.jpg", + "website": "https://github.com/elizaos-plugins/plugin-gitcoin-passport", + "source": "https://github.com/elizaos-plugins/plugin-gitcoin-passport", + "tags": [ + "plugin" + ] + }, + { + "title": "Holdstation", + "description": "Enables token swapping on Holdstation DEX with support for ZKsync Era and upcoming Berachain.", + "preview": "/eliza/logos/holdstation.jpg", + "website": "https://github.com/elizaos-plugins/plugin-holdstation", + "source": "https://github.com/elizaos-plugins/plugin-holdstation", + "tags": [ + "plugin" + ] + }, + { + "title": "Hyperbolic", + "description": "Manages GPU instances on the Hyperbolic platform with capabilities for renting and monitoring resources.", + "preview": "/eliza/logos/hyperbolic.jpg", + "website": "https://github.com/elizaos-plugins/plugin-hyperbolic", + "source": "https://github.com/elizaos-plugins/plugin-hyperbolic", + "tags": [ + "plugin" + ] + }, + { + "title": "Image", + "description": "Processes and analyzes images to generate descriptions with support for multiple vision model providers.", + "preview": "/eliza/logos/imagegen.jpg", + "website": "https://github.com/elizaos-plugins/plugin-image", + "source": "https://github.com/elizaos-plugins/plugin-image", + "tags": [ + "plugin" + ] + }, + { + "title": "Imgflip", + "description": "Generates memes using the imgflip.com API based on user messages.", + "preview": "/eliza/logos/imgFlip.jpg", + "website": "https://github.com/elizaos-plugins/plugin-imgflip", + "source": "https://github.com/elizaos-plugins/plugin-imgflip", + "tags": [ + "plugin" + ] + }, + { + "title": "Initia", + "description": "Enables token transfers on the Initia blockchain with support for INIT token transactions.", + "preview": "/eliza/logos/initia.jpg", + "website": "https://github.com/elizaos-plugins/plugin-initia", + "source": "https://github.com/elizaos-plugins/plugin-initia", + "tags": [ + "plugin" + ] + }, + { + "title": "Injective", + "description": "Provides comprehensive interaction with the Injective blockchain through module-based action creation.", + "preview": "/eliza/logos/injective.jpg", + "website": "https://github.com/elizaos-plugins/plugin-injective", + "source": "https://github.com/elizaos-plugins/plugin-injective", + "tags": [ + "plugin" + ] + }, + { + "title": "Iq6900", + "description": "Provides blockchain inscription functionality through IQ6900's Code-In standard for permanent agent storage.", + "preview": "/eliza/logos/IQ6900.jpg", + "website": "https://github.com/elizaos-plugins/plugin-iq6900", + "source": "https://github.com/elizaos-plugins/plugin-iq6900", + "tags": [ + "plugin" + ] + }, + { + "title": "Lens Network", + "description": "Integrates with Lens protocol for both native and ERC20 tokens.", + "preview": "/eliza/logos/lens.jpg", + "website": "https://github.com/elizaos-plugins/plugin-lens-network", + "source": "https://github.com/elizaos-plugins/plugin-lens-network", + "tags": [ + "plugin" + ] + }, + { + "title": "Lightning", + "description": "Enables Lightning Network integration for creating invoices and making off-chain Bitcoin payments.", + "preview": "/eliza/logos/lightning.png", + "website": "https://github.com/elizaos-plugins/plugin-lightning", + "source": "https://github.com/elizaos-plugins/plugin-lightning", + "tags": [ + "plugin" + ] + }, + { + "title": "Lit", + "description": "Integrates Lit Protocol for secure and decentralized access control and cryptographic operations.", + "preview": "/eliza/logos/LitProtocol.jpg", + "website": "https://github.com/elizaos-plugins/plugin-lit", + "source": "https://github.com/elizaos-plugins/plugin-lit", + "tags": [ + "plugin" + ] + }, + { + "title": "Llama", + "description": "Provides local LLM capabilities using LLaMA models with CPU and GPU support for efficient text generation.", + "preview": "/eliza/logos/meta-llama.jpg", + "website": "https://github.com/elizaos-plugins/plugin-llama", + "source": "https://github.com/elizaos-plugins/plugin-llama", + "tags": [ + "plugin" + ] + }, + { + "title": "Mina", + "description": "Enables Mina blockchain interactions for token transfers, wallet management, and balance queries.", + "preview": "/eliza/logos/Mina.jpg", + "website": "https://github.com/elizaos-plugins/plugin-mina", + "source": "https://github.com/elizaos-plugins/plugin-mina", + "tags": [ + "plugin" + ] + }, + { + "title": "Mind Network", + "description": "Integrates with Mind Network Hubs for secure, privacy-preserving voting using Fully Homomorphic Encryption.", + "preview": "/eliza/logos/MindNetwork.jpg", + "website": "https://github.com/elizaos-plugins/plugin-mind-network", + "source": "https://github.com/elizaos-plugins/plugin-mind-network", + "tags": [ + "plugin" + ] + }, + { + "title": "Moralis", + "description": "Fetches real-time DeFi data including trading pairs, statistics, and price history through Moralis APIs.", + "preview": "/eliza/logos/moralis.jpg", + "website": "https://github.com/elizaos-plugins/plugin-moralis", + "source": "https://github.com/elizaos-plugins/plugin-moralis", + "tags": [ + "plugin" + ] + }, + { + "title": "News", + "description": "Fetches and handles real-time news data through NewsAPI integration with search and summary capabilities.", + "preview": "/eliza/logos/NewsAPI.jpg", + "website": "https://github.com/elizaos-plugins/plugin-news", + "source": "https://github.com/elizaos-plugins/plugin-news", + "tags": [ + "plugin" + ] + }, + { + "title": "Nft Collections", + "description": "Integrates NFT data services for comprehensive market analytics and trading with support for 420+ verified collections.", + "preview": "/eliza/logos/nftgen.png", + "website": "https://github.com/elizaos-plugins/plugin-nft-collections", + "source": "https://github.com/elizaos-plugins/plugin-nft-collections", + "tags": [ + "plugin" + ] + }, + { + "title": "Nvidia Nim", + "description": "Integrates NVIDIA's AI foundation models for content analysis including AI image detection and safety checks.", + "preview": "/eliza/logos/nvidia.jpg", + "website": "https://github.com/elizaos-plugins/plugin-nvidia-nim", + "source": "https://github.com/elizaos-plugins/plugin-nvidia-nim", + "tags": [ + "plugin" + ] + }, + { + "title": "Openai", + "description": "Integrates OpenAI's GPT models for automated text generation with customizable prompts.", + "preview": "/eliza/logos/openAI.jpg", + "website": "https://github.com/elizaos-plugins/plugin-openai", + "source": "https://github.com/elizaos-plugins/plugin-openai", + "tags": [ + "plugin" + ] + }, + { + "title": "Pdf", + "description": "Provides PDF text extraction and processing capabilities for document analysis.", + "preview": "/eliza/logos/PDF.jpg", + "website": "https://github.com/elizaos-plugins/plugin-pdf", + "source": "https://github.com/elizaos-plugins/plugin-pdf", + "tags": [ + "plugin" + ] + }, + { + "title": "Pyth Data", + "description": "Integrates with Pyth Network for real-time price feeds and data streams across multiple asset classes.", + "preview": "/eliza/logos/pyth.jpg", + "website": "https://github.com/elizaos-plugins/plugin-pyth-data", + "source": "https://github.com/elizaos-plugins/plugin-pyth-data", + "tags": [ + "plugin" + ] + }, + { + "title": "Quick Intel", + "description": "Performs token security audits and market analysis with support for multiple chains and address formats.", + "preview": "/eliza/logos/quickintel.jpg", + "website": "https://github.com/elizaos-plugins/plugin-quick-intel", + "source": "https://github.com/elizaos-plugins/plugin-quick-intel", + "tags": [ + "plugin" + ] + }, + { + "title": "Router Nitro", + "description": "Enables cross-chain token transfers using Router Nitro bridge with support for multiple blockchains.", + "preview": "/eliza/logos/router.jpg", + "website": "https://github.com/elizaos-plugins/plugin-router-nitro", + "source": "https://github.com/elizaos-plugins/plugin-router-nitro", + "tags": [ + "plugin" + ] + }, + { + "title": "Solana Agentkit", + "description": "Enables interaction with the Solana blockchain through AgentKit for wallet and transaction management.", + "preview": "/eliza/logos/solanaV2.jpg", + "website": "https://github.com/elizaos-plugins/plugin-solana-agentkit", + "source": "https://github.com/elizaos-plugins/plugin-solana-agentkit", + "tags": [ + "plugin" + ] + }, + { + "title": "Solana V2", + "description": "Leverages @solana/web3.js v2 for modern, efficient Solana integrations with liquidity position management.", + "preview": "/eliza/logos/solanaV2.jpg", + "website": "https://github.com/elizaos-plugins/plugin-solana-v2", + "source": "https://github.com/elizaos-plugins/plugin-solana-v2", + "tags": [ + "plugin" + ] + }, + { + "title": "Speech Tts", + "description": "Provides text-to-speech transcription services using OpenAI and ElevenLabs technologies.", + "preview": "/eliza/logos/TTSelevenlabs.jpg", + "website": "https://github.com/elizaos-plugins/plugin-speech-tts", + "source": "https://github.com/elizaos-plugins/plugin-speech-tts", + "tags": [ + "plugin" + ] + }, + { + "title": "Squid Router", + "description": "Enables cross-chain token swaps between blockchains using the Squid Router protocol.", + "preview": "/eliza/logos/squid.jpg", + "website": "https://github.com/elizaos-plugins/plugin-squid-router", + "source": "https://github.com/elizaos-plugins/plugin-squid-router", + "tags": [ + "plugin" + ] + }, + { + "title": "Suno", + "description": "Integrates Suno AI's music generation for creating custom music from text prompts with detailed controls.", + "preview": "/eliza/logos/suno.jpg", + "website": "https://github.com/elizaos-plugins/plugin-suno", + "source": "https://github.com/elizaos-plugins/plugin-suno", + "tags": [ + "plugin" + ] + }, + { + "title": "Tee Verifiable Log", + "description": "Implements a verifiable logging system within Trusted Execution Environments for secure, auditable records.", + "preview": "/eliza/logos/tee.png", + "website": "https://github.com/elizaos-plugins/plugin-tee-verifiable-log", + "source": "https://github.com/elizaos-plugins/plugin-tee-verifiable-log", + "tags": [ + "plugin" + ] + }, + { + "title": "Trikon", + "description": "Provides token transfer functionality for Trikon with wallet management on ZKsync Era blockchain.", + "preview": "/eliza/logos/trikon.jpg", + "website": "https://github.com/elizaos-plugins/plugin-trikon", + "source": "https://github.com/elizaos-plugins/plugin-trikon", + "tags": [ + "plugin" + ] + }, + { + "title": "Trustdb", + "description": "Manages trust scores and performance metrics in a secure database for recommender tracking and token analysis.", + "preview": "/eliza/logos/trusta.jpg", + "website": "https://github.com/elizaos-plugins/plugin-trustdb", + "source": "https://github.com/elizaos-plugins/plugin-trustdb", + "tags": [ + "plugin" + ] + }, + { + "title": "Udio", + "description": "Enables AI-powered music generation with capabilities for creating and extending audio from text prompts.", + "preview": "/eliza/logos/UDIO.png", + "website": "https://github.com/elizaos-plugins/plugin-udio", + "source": "https://github.com/elizaos-plugins/plugin-udio", + "tags": [ + "plugin" + ] + }, + { + "title": "Video", + "description": "Provides comprehensive video processing with download, format handling, and transcription capabilities.", + "preview": "/eliza/logos/video.jpg", + "website": "https://github.com/elizaos-plugins/plugin-video", + "source": "https://github.com/elizaos-plugins/plugin-video", + "tags": [ + "plugin" + ] + }, + { + "title": "Zilliqa", + "description": "Integrates Zilliqa blockchain capabilities through the GOAT framework for wallet and transaction functionality.", + "preview": "/eliza/logos/zilliqa.jpg", + "website": "https://github.com/elizaos-plugins/plugin-zilliqa", + "source": "https://github.com/elizaos-plugins/plugin-zilliqa", + "tags": [ + "plugin" + ] } ]; diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css index b1fb774d7e8..31f98a7ca2c 100644 --- a/docs/src/pages/index.module.css +++ b/docs/src/pages/index.module.css @@ -10,7 +10,7 @@ overflow: hidden; } -@media screen and (max-width: 996px) { +@media screen and (max-width: 1024px) { .heroBanner { padding: 2rem; } diff --git a/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx b/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx index f1efae42812..82779482e13 100644 --- a/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx +++ b/docs/src/pages/showcase/_components/ShowcaseCard/index.tsx @@ -12,7 +12,7 @@ function TagIcon({label, color}: {label: string; color: string}) { width: 7, height: 7, borderRadius: '50%', - marginLeft: 6, + marginLeft: 2, marginRight: 6, }} /> @@ -54,6 +54,26 @@ function ShowcaseCardTag({tags}: {tags: TagType[]}) { } export default function ShowcaseCard({user}: {user: User}) { + // Function to convert title to documentation link + const getDocLink = (user: User) => { + const baseUrl = '/eliza/packages/'; // Make sure to include your baseUrl prefix + let category = ''; + + if (user.tags.includes('adapter')) { + category = 'adapters/'; + } else if (user.tags.includes('client')) { + category = 'clients/'; + } else if (user.tags.includes('plugin')) { + category = 'plugins/'; + } + + // Extract package name from title + // Convert to lowercase and remove spaces/special chars + const slug = user.title.toLowerCase().replace(/[^a-z0-9]+/g, '-'); + + return `${baseUrl}${category}${slug}`; + }; + return (
  • @@ -86,9 +106,17 @@ export default function ShowcaseCard({user}: {user: User}) {

    {user.description}

    -
      - tag)} /> -
    +
    +
    + tag)} /> +
    + + Readme + +
  • ); } diff --git a/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css b/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css index eeada739444..16b95d60ce2 100644 --- a/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css +++ b/docs/src/pages/showcase/_components/ShowcaseCard/styles.module.css @@ -1,3 +1,26 @@ +/* In src/pages/showcase/_components/ShowcaseCard/styles.module.css */ + +/* Add to the existing CSS file */ +.cardFooter { + display: flex; + justify-content: space-between; + align-items: center; +} + +.tagContainer { + display: flex; + flex-wrap: wrap; + flex: 1; +} + +.readmeBtn { + margin-left: 8px; + white-space: nowrap; + font-size: 0.75rem; + margin-bottom: 12px; + padding: 4px 8px; +} + .showcaseCardImage { overflow: hidden; width: 100%; @@ -66,7 +89,6 @@ /* Base tag styling */ .tag { font-size: 0.675rem; - border: 1px solid var(--ifm-color-secondary-darkest); cursor: default; margin-right: 6px; margin-bottom: 6px; diff --git a/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx b/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx new file mode 100644 index 00000000000..d78849e6226 --- /dev/null +++ b/docs/src/pages/showcase/_components/ShowcaseLayout/index.tsx @@ -0,0 +1,22 @@ +// src/pages/showcase/_components/ShowcaseLayout/index.tsx +import React from 'react'; +import styles from './styles.module.css'; +import { type TagType } from '@site/src/data/users'; + +export default function ShowcaseLayout({ + children, + selectedTags, + toggleTag, +}: { + children: React.ReactNode; + selectedTags: TagType[]; + toggleTag: (tag: TagType) => void; +}): JSX.Element { + return ( +
    +
    + {children} +
    +
    + ); +} diff --git a/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css b/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css index 00b06960b9a..ab7a285cd3d 100644 --- a/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css +++ b/docs/src/pages/showcase/_components/ShowcaseLayout/styles.module.css @@ -25,14 +25,14 @@ margin-top: 1rem; } -@media (max-width: 992px) { +@media (max-width: 1024px) { .filtersContainer { flex-direction: column; align-items: flex-start; } } -@media (max-width: 768px) { +@media (max-width: 1024px) { .filtersContainer { flex-direction: column; align-items: stretch; diff --git a/docs/src/pages/showcase/index.tsx b/docs/src/pages/showcase/index.tsx index 043f6542595..c691dbc50d6 100644 --- a/docs/src/pages/showcase/index.tsx +++ b/docs/src/pages/showcase/index.tsx @@ -4,6 +4,7 @@ import { type User, sortedUsers } from '@site/src/data/users'; import ShowcaseSearchBar from './_components/ShowcaseSearchBar'; import ShowcaseCards from './_components/ShowcaseCards'; import ShowcaseFilters from './_components/ShowcaseFilters'; +import ShowcaseLayout from './_components/ShowcaseLayout'; import Link from '@docusaurus/Link'; import styles from './_components/ShowcaseLayout/styles.module.css'; @@ -72,10 +73,6 @@ export default function Showcase(): JSX.Element { setOperator(op => op === 'OR' ? 'AND' : 'OR'); }; - const clearSearch = () => { - setSearchValue(''); - }; - const filteredUsers = useMemo(() => { return filterUsers(sortedUsers, searchValue, selectedTags, operator); }, [searchValue, selectedTags, operator]); @@ -86,26 +83,28 @@ export default function Showcase(): JSX.Element {
    -
    -
    - - + +
    +
    + + +
    -
    - {/* Tag buttons will be rendered inside ShowcaseFilters component */} -
    -
    + + +
    - - ); diff --git a/docs/static/img/overview.png b/docs/static/img/overview.png new file mode 100644 index 00000000000..32cc8346597 Binary files /dev/null and b/docs/static/img/overview.png differ diff --git a/docs/static/img/plugins.png b/docs/static/img/plugins.png new file mode 100644 index 00000000000..5dcab04c7c2 Binary files /dev/null and b/docs/static/img/plugins.png differ diff --git a/docs/static/logos/0g.jpg b/docs/static/logos/0g.jpg index 0000dd5d434..6187718b9cd 100644 Binary files a/docs/static/logos/0g.jpg and b/docs/static/logos/0g.jpg differ diff --git a/docs/static/logos/0x.jpg b/docs/static/logos/0x.jpg new file mode 100644 index 00000000000..016e1586eec Binary files /dev/null and b/docs/static/logos/0x.jpg differ diff --git a/docs/static/logos/AWS.jpg b/docs/static/logos/AWS.jpg new file mode 100644 index 00000000000..7e72fad2e37 Binary files /dev/null and b/docs/static/logos/AWS.jpg differ diff --git a/docs/static/logos/B2network.jpg b/docs/static/logos/B2network.jpg new file mode 100644 index 00000000000..7fc88f91ef7 Binary files /dev/null and b/docs/static/logos/B2network.jpg differ diff --git a/docs/static/logos/BNBchain.jpg b/docs/static/logos/BNBchain.jpg new file mode 100644 index 00000000000..6079fa02281 Binary files /dev/null and b/docs/static/logos/BNBchain.jpg differ diff --git a/docs/static/logos/ETHstorage.jpg b/docs/static/logos/ETHstorage.jpg new file mode 100644 index 00000000000..268fa48aba7 Binary files /dev/null and b/docs/static/logos/ETHstorage.jpg differ diff --git a/docs/static/logos/ICP.jpg b/docs/static/logos/ICP.jpg index 95c2ac85c0a..8c0c51950ae 100644 Binary files a/docs/static/logos/ICP.jpg and b/docs/static/logos/ICP.jpg differ diff --git a/docs/static/logos/IQ6900.jpg b/docs/static/logos/IQ6900.jpg new file mode 100644 index 00000000000..1ea75d452c0 Binary files /dev/null and b/docs/static/logos/IQ6900.jpg differ diff --git a/docs/static/logos/LUMA.jpg b/docs/static/logos/LUMA.jpg index 45c57391f38..7a4b4ce6675 100644 Binary files a/docs/static/logos/LUMA.jpg and b/docs/static/logos/LUMA.jpg differ diff --git a/docs/static/logos/LitProtocol.jpg b/docs/static/logos/LitProtocol.jpg new file mode 100644 index 00000000000..3900d57490c Binary files /dev/null and b/docs/static/logos/LitProtocol.jpg differ diff --git a/docs/static/logos/Mina.jpg b/docs/static/logos/Mina.jpg new file mode 100644 index 00000000000..9ba4cb02b15 Binary files /dev/null and b/docs/static/logos/Mina.jpg differ diff --git a/docs/static/logos/MindNetwork.jpg b/docs/static/logos/MindNetwork.jpg new file mode 100644 index 00000000000..f6b44ef8ed9 Binary files /dev/null and b/docs/static/logos/MindNetwork.jpg differ diff --git a/docs/static/logos/NEAR.jpg b/docs/static/logos/NEAR.jpg index b5f6efe7fe5..901d76e2a21 100644 Binary files a/docs/static/logos/NEAR.jpg and b/docs/static/logos/NEAR.jpg differ diff --git a/docs/static/logos/NewsAPI.jpg b/docs/static/logos/NewsAPI.jpg new file mode 100644 index 00000000000..8353257e5f5 Binary files /dev/null and b/docs/static/logos/NewsAPI.jpg differ diff --git a/docs/static/logos/OriginTrail.jpg b/docs/static/logos/OriginTrail.jpg new file mode 100644 index 00000000000..31c4ba8f6dd Binary files /dev/null and b/docs/static/logos/OriginTrail.jpg differ diff --git a/docs/static/logos/PDF.jpg b/docs/static/logos/PDF.jpg new file mode 100644 index 00000000000..f9993dae007 Binary files /dev/null and b/docs/static/logos/PDF.jpg differ diff --git a/docs/static/logos/TTS.jpg b/docs/static/logos/TTS.jpg new file mode 100644 index 00000000000..38b885d10d8 Binary files /dev/null and b/docs/static/logos/TTS.jpg differ diff --git a/docs/static/logos/TTSelevenlabs.jpg b/docs/static/logos/TTSelevenlabs.jpg new file mode 100644 index 00000000000..fa42a88c07b Binary files /dev/null and b/docs/static/logos/TTSelevenlabs.jpg differ diff --git a/docs/static/logos/UDIO.png b/docs/static/logos/UDIO.png new file mode 100644 index 00000000000..67c8e88ef05 Binary files /dev/null and b/docs/static/logos/UDIO.png differ diff --git a/docs/static/logos/abstract.jpg b/docs/static/logos/abstract.jpg index 2bdcc4a3dd3..cc6cf94557a 100644 Binary files a/docs/static/logos/abstract.jpg and b/docs/static/logos/abstract.jpg differ diff --git a/docs/static/logos/agentkit.jpg b/docs/static/logos/agentkit.jpg new file mode 100644 index 00000000000..0f41ca8f11d Binary files /dev/null and b/docs/static/logos/agentkit.jpg differ diff --git a/docs/static/logos/agentkitCDB.jpg b/docs/static/logos/agentkitCDB.jpg new file mode 100644 index 00000000000..dd2f0a633f4 Binary files /dev/null and b/docs/static/logos/agentkitCDB.jpg differ diff --git a/docs/static/logos/akash.jpg b/docs/static/logos/akash.jpg index 28e59c84998..5bfc156437d 100644 Binary files a/docs/static/logos/akash.jpg and b/docs/static/logos/akash.jpg differ diff --git a/docs/static/logos/alexa.png b/docs/static/logos/alexa.png new file mode 100644 index 00000000000..e9756e12aa1 Binary files /dev/null and b/docs/static/logos/alexa.png differ diff --git a/docs/static/logos/allora.jpg b/docs/static/logos/allora.jpg index d910f1f2946..29d2f763af0 100644 Binary files a/docs/static/logos/allora.jpg and b/docs/static/logos/allora.jpg differ diff --git a/docs/static/logos/ankr.jpg b/docs/static/logos/ankr.jpg new file mode 100644 index 00000000000..3c595721a22 Binary files /dev/null and b/docs/static/logos/ankr.jpg differ diff --git a/docs/static/logos/anyone.jpg b/docs/static/logos/anyone.jpg index 4f8083c907e..554ab6b9bd5 100644 Binary files a/docs/static/logos/anyone.jpg and b/docs/static/logos/anyone.jpg differ diff --git a/docs/static/logos/appro.jpg b/docs/static/logos/appro.jpg index 35074339241..b04861fa168 100644 Binary files a/docs/static/logos/appro.jpg and b/docs/static/logos/appro.jpg differ diff --git a/docs/static/logos/apro.jpg b/docs/static/logos/apro.jpg new file mode 100644 index 00000000000..c71d02ab367 Binary files /dev/null and b/docs/static/logos/apro.jpg differ diff --git a/docs/static/logos/aptos.jpg b/docs/static/logos/aptos.jpg index 550e53cda48..1ebc120de8a 100644 Binary files a/docs/static/logos/aptos.jpg and b/docs/static/logos/aptos.jpg differ diff --git a/docs/static/logos/arbitage.png b/docs/static/logos/arbitage.png new file mode 100644 index 00000000000..e659a18bbae Binary files /dev/null and b/docs/static/logos/arbitage.png differ diff --git a/docs/static/logos/arthera.jpg b/docs/static/logos/arthera.jpg index 53dc5b96e79..87e38faecbf 100644 Binary files a/docs/static/logos/arthera.jpg and b/docs/static/logos/arthera.jpg differ diff --git a/docs/static/logos/asterai.jpg b/docs/static/logos/asterai.jpg index 0004e816a38..da66f39240d 100644 Binary files a/docs/static/logos/asterai.jpg and b/docs/static/logos/asterai.jpg differ diff --git a/docs/static/logos/auto.jpg b/docs/static/logos/auto.jpg index 5fbb59599c1..f56cd48278a 100644 Binary files a/docs/static/logos/auto.jpg and b/docs/static/logos/auto.jpg differ diff --git a/docs/static/logos/autonome.jpg b/docs/static/logos/autonome.jpg index cee21e9699a..7e979823665 100644 Binary files a/docs/static/logos/autonome.jpg and b/docs/static/logos/autonome.jpg differ diff --git a/docs/static/logos/avail.png b/docs/static/logos/avail.png index 97ac4836b62..12baf87951c 100644 Binary files a/docs/static/logos/avail.png and b/docs/static/logos/avail.png differ diff --git a/docs/static/logos/avalanche.jpg b/docs/static/logos/avalanche.jpg index ac35a807048..ca787a46f05 100644 Binary files a/docs/static/logos/avalanche.jpg and b/docs/static/logos/avalanche.jpg differ diff --git a/docs/static/logos/binance.jpg b/docs/static/logos/binance.jpg index 31cfa780b9e..31a18418259 100644 Binary files a/docs/static/logos/binance.jpg and b/docs/static/logos/binance.jpg differ diff --git a/docs/static/logos/birdeye.jpg b/docs/static/logos/birdeye.jpg new file mode 100644 index 00000000000..cfce00488be Binary files /dev/null and b/docs/static/logos/birdeye.jpg differ diff --git a/docs/static/logos/bittensor.jpg b/docs/static/logos/bittensor.jpg new file mode 100644 index 00000000000..a20cfa5198b Binary files /dev/null and b/docs/static/logos/bittensor.jpg differ diff --git a/docs/static/logos/bootstrap.jpg b/docs/static/logos/bootstrap.jpg new file mode 100644 index 00000000000..5811fd0032e Binary files /dev/null and b/docs/static/logos/bootstrap.jpg differ diff --git a/docs/static/logos/browser.playwright.jpg b/docs/static/logos/browser.playwright.jpg new file mode 100644 index 00000000000..efc3cdb0f24 Binary files /dev/null and b/docs/static/logos/browser.playwright.jpg differ diff --git a/docs/static/logos/carv.jpg b/docs/static/logos/carv.jpg index 3e54da11b3f..e7579c47cd3 100644 Binary files a/docs/static/logos/carv.jpg and b/docs/static/logos/carv.jpg differ diff --git a/docs/static/logos/ccxt.png b/docs/static/logos/ccxt.png index 3e9067a0f37..fbdc917d062 100644 Binary files a/docs/static/logos/ccxt.png and b/docs/static/logos/ccxt.png differ diff --git a/docs/static/logos/chainbase.jpg b/docs/static/logos/chainbase.jpg new file mode 100644 index 00000000000..7e59c5ce61d Binary files /dev/null and b/docs/static/logos/chainbase.jpg differ diff --git a/docs/static/logos/cognition.jpg b/docs/static/logos/cognition.jpg new file mode 100644 index 00000000000..1e5b9bc6707 Binary files /dev/null and b/docs/static/logos/cognition.jpg differ diff --git a/docs/static/logos/coinbase.png b/docs/static/logos/coinbase.png index df24f5c7376..267b8f76b09 100644 Binary files a/docs/static/logos/coinbase.png and b/docs/static/logos/coinbase.png differ diff --git a/docs/static/logos/coingecko.jpg b/docs/static/logos/coingecko.jpg index 672443630b2..228dc993785 100644 Binary files a/docs/static/logos/coingecko.jpg and b/docs/static/logos/coingecko.jpg differ diff --git a/docs/static/logos/coinmarketcap.jpg b/docs/static/logos/coinmarketcap.jpg index 9fb149bed61..2b9a4419922 100644 Binary files a/docs/static/logos/coinmarketcap.jpg and b/docs/static/logos/coinmarketcap.jpg differ diff --git a/docs/static/logos/compass.jpg b/docs/static/logos/compass.jpg index fa73c99631c..719ccafb632 100644 Binary files a/docs/static/logos/compass.jpg and b/docs/static/logos/compass.jpg differ diff --git a/docs/static/logos/conflux.png b/docs/static/logos/conflux.png index 7d5ec0712bc..c0fb2d1c877 100644 Binary files a/docs/static/logos/conflux.png and b/docs/static/logos/conflux.png differ diff --git a/docs/static/logos/cosmos.jpg b/docs/static/logos/cosmos.jpg index 7437335a88f..cbd1f84020b 100644 Binary files a/docs/static/logos/cosmos.jpg and b/docs/static/logos/cosmos.jpg differ diff --git a/docs/static/logos/cronos.jpg b/docs/static/logos/cronos.jpg new file mode 100644 index 00000000000..a2a4e2fa372 Binary files /dev/null and b/docs/static/logos/cronos.jpg differ diff --git a/docs/static/logos/cronos.png b/docs/static/logos/cronos.png index 03b75890692..5d986bd73e0 100644 Binary files a/docs/static/logos/cronos.png and b/docs/static/logos/cronos.png differ diff --git a/docs/static/logos/dcap.png b/docs/static/logos/dcap.png index ea729de2592..1868f23bd13 100644 Binary files a/docs/static/logos/dcap.png and b/docs/static/logos/dcap.png differ diff --git a/docs/static/logos/depin.jpg b/docs/static/logos/depin.jpg index 1e401e572ca..4bda2afb490 100644 Binary files a/docs/static/logos/depin.jpg and b/docs/static/logos/depin.jpg differ diff --git a/docs/static/logos/desk.jpg b/docs/static/logos/desk.jpg new file mode 100644 index 00000000000..31d70220708 Binary files /dev/null and b/docs/static/logos/desk.jpg differ diff --git a/docs/static/logos/deva.jpg b/docs/static/logos/deva.jpg new file mode 100644 index 00000000000..2feefed827e Binary files /dev/null and b/docs/static/logos/deva.jpg differ diff --git a/docs/static/logos/devin.png b/docs/static/logos/devin.png new file mode 100644 index 00000000000..696bf36e6a3 Binary files /dev/null and b/docs/static/logos/devin.png differ diff --git a/docs/static/logos/dexscreener.jpg b/docs/static/logos/dexscreener.jpg new file mode 100644 index 00000000000..290f20dfabf Binary files /dev/null and b/docs/static/logos/dexscreener.jpg differ diff --git a/docs/static/logos/di-logo.jpg b/docs/static/logos/di-logo.jpg index e91ddaa1b3d..2c21726ff47 100644 Binary files a/docs/static/logos/di-logo.jpg and b/docs/static/logos/di-logo.jpg differ diff --git a/docs/static/logos/direct.png b/docs/static/logos/direct.png new file mode 100644 index 00000000000..c96439ed1a7 Binary files /dev/null and b/docs/static/logos/direct.png differ diff --git a/docs/static/logos/discord.jpg b/docs/static/logos/discord.jpg index 25713e7bc5f..0974f45d5f3 100644 Binary files a/docs/static/logos/discord.jpg and b/docs/static/logos/discord.jpg differ diff --git a/docs/static/logos/echochambers.png b/docs/static/logos/echochambers.png index aed05043d2e..1569aa3d2a8 100644 Binary files a/docs/static/logos/echochambers.png and b/docs/static/logos/echochambers.png differ diff --git a/docs/static/logos/edwin.jpg b/docs/static/logos/edwin.jpg index dc62da72a35..fa50fa23cc9 100644 Binary files a/docs/static/logos/edwin.jpg and b/docs/static/logos/edwin.jpg differ diff --git a/docs/static/logos/email.jpg b/docs/static/logos/email.jpg new file mode 100644 index 00000000000..c0ed3cb69bb Binary files /dev/null and b/docs/static/logos/email.jpg differ diff --git a/docs/static/logos/email.png b/docs/static/logos/email.png new file mode 100644 index 00000000000..bc32e619714 Binary files /dev/null and b/docs/static/logos/email.png differ diff --git a/docs/static/logos/evm.png b/docs/static/logos/evm.png index a253e99d575..ce62d32fbaa 100644 Binary files a/docs/static/logos/evm.png and b/docs/static/logos/evm.png differ diff --git a/docs/static/logos/fal.jpg b/docs/static/logos/fal.jpg index e83df119e04..b02e164c512 100644 Binary files a/docs/static/logos/fal.jpg and b/docs/static/logos/fal.jpg differ diff --git a/docs/static/logos/falai.png b/docs/static/logos/falai.png index 80063b75b13..4a1be20c827 100644 Binary files a/docs/static/logos/falai.png and b/docs/static/logos/falai.png differ diff --git a/docs/static/logos/farcaster.jpg b/docs/static/logos/farcaster.jpg index 08fcca1b403..ee11a92dfc1 100644 Binary files a/docs/static/logos/farcaster.jpg and b/docs/static/logos/farcaster.jpg differ diff --git a/docs/static/logos/ferepro.png b/docs/static/logos/ferepro.png index ab452702a59..e0fd8f7e701 100644 Binary files a/docs/static/logos/ferepro.png and b/docs/static/logos/ferepro.png differ diff --git a/docs/static/logos/firecrawl.jpg b/docs/static/logos/firecrawl.jpg index c80e9f267e3..f6c7d73575b 100644 Binary files a/docs/static/logos/firecrawl.jpg and b/docs/static/logos/firecrawl.jpg differ diff --git a/docs/static/logos/flow.jpg b/docs/static/logos/flow.jpg index 1c00a3522ab..697ac511dd0 100644 Binary files a/docs/static/logos/flow.jpg and b/docs/static/logos/flow.jpg differ diff --git a/docs/static/logos/flowchain.png b/docs/static/logos/flowchain.png index 2955aa7289d..9ae8289c635 100644 Binary files a/docs/static/logos/flowchain.png and b/docs/static/logos/flowchain.png differ diff --git a/docs/static/logos/footballDATA.jpg b/docs/static/logos/footballDATA.jpg new file mode 100644 index 00000000000..189340a1ef9 Binary files /dev/null and b/docs/static/logos/footballDATA.jpg differ diff --git a/docs/static/logos/form.jpg b/docs/static/logos/form.jpg new file mode 100644 index 00000000000..049581d1c3b Binary files /dev/null and b/docs/static/logos/form.jpg differ diff --git a/docs/static/logos/fuel.jpg b/docs/static/logos/fuel.jpg index aebb609ed06..cda069c94d2 100644 Binary files a/docs/static/logos/fuel.jpg and b/docs/static/logos/fuel.jpg differ diff --git a/docs/static/logos/gelato.jpg b/docs/static/logos/gelato.jpg new file mode 100644 index 00000000000..208c41d0388 Binary files /dev/null and b/docs/static/logos/gelato.jpg differ diff --git a/docs/static/logos/genlayer.jpg b/docs/static/logos/genlayer.jpg index 36639aaa460..1a78cddd72f 100644 Binary files a/docs/static/logos/genlayer.jpg and b/docs/static/logos/genlayer.jpg differ diff --git a/docs/static/logos/gigbot.png b/docs/static/logos/gigbot.png index 20368670dc4..236a56b0253 100644 Binary files a/docs/static/logos/gigbot.png and b/docs/static/logos/gigbot.png differ diff --git a/docs/static/logos/giphy.jpg b/docs/static/logos/giphy.jpg index f07d4168ed2..2ecc1c8ce1e 100644 Binary files a/docs/static/logos/giphy.jpg and b/docs/static/logos/giphy.jpg differ diff --git a/docs/static/logos/gitbook.jpg b/docs/static/logos/gitbook.jpg index e01c8479938..0f34e1296b5 100644 Binary files a/docs/static/logos/gitbook.jpg and b/docs/static/logos/gitbook.jpg differ diff --git a/docs/static/logos/gitcoin.passport.jpg b/docs/static/logos/gitcoin.passport.jpg new file mode 100644 index 00000000000..3fa2daad32f Binary files /dev/null and b/docs/static/logos/gitcoin.passport.jpg differ diff --git a/docs/static/logos/github.png b/docs/static/logos/github.png index daabafb5350..298a6a4f0ed 100644 Binary files a/docs/static/logos/github.png and b/docs/static/logos/github.png differ diff --git a/docs/static/logos/goat.jpg b/docs/static/logos/goat.jpg index 7c65d298053..f9505399818 100644 Binary files a/docs/static/logos/goat.jpg and b/docs/static/logos/goat.jpg differ diff --git a/docs/static/logos/goplus.jpg b/docs/static/logos/goplus.jpg index 23c4a1d3201..b89f57efa31 100644 Binary files a/docs/static/logos/goplus.jpg and b/docs/static/logos/goplus.jpg differ diff --git a/docs/static/logos/grix.png b/docs/static/logos/grix.png index 6135a9d8b24..ccf177872e4 100644 Binary files a/docs/static/logos/grix.png and b/docs/static/logos/grix.png differ diff --git a/docs/static/logos/holdstation.jpg b/docs/static/logos/holdstation.jpg new file mode 100644 index 00000000000..89517fc74dc Binary files /dev/null and b/docs/static/logos/holdstation.jpg differ diff --git a/docs/static/logos/home-assistant.png b/docs/static/logos/home-assistant.png new file mode 100644 index 00000000000..cd4ed36180c Binary files /dev/null and b/docs/static/logos/home-assistant.png differ diff --git a/docs/static/logos/hyperbolic.jpg b/docs/static/logos/hyperbolic.jpg new file mode 100644 index 00000000000..e97c501af99 Binary files /dev/null and b/docs/static/logos/hyperbolic.jpg differ diff --git a/docs/static/logos/hyperliquid.png b/docs/static/logos/hyperliquid.png index 1ab30fc0a5b..b137cfed444 100644 Binary files a/docs/static/logos/hyperliquid.png and b/docs/static/logos/hyperliquid.png differ diff --git a/docs/static/logos/ikigai-labs.png b/docs/static/logos/ikigai-labs.png new file mode 100644 index 00000000000..ab33af31d1c Binary files /dev/null and b/docs/static/logos/ikigai-labs.png differ diff --git a/docs/static/logos/imagegen.jpg b/docs/static/logos/imagegen.jpg index d228785eb8e..1ec59d4686f 100644 Binary files a/docs/static/logos/imagegen.jpg and b/docs/static/logos/imagegen.jpg differ diff --git a/docs/static/logos/imgFlip.jpg b/docs/static/logos/imgFlip.jpg new file mode 100644 index 00000000000..8a5da106005 Binary files /dev/null and b/docs/static/logos/imgFlip.jpg differ diff --git a/docs/static/logos/initia.jpg b/docs/static/logos/initia.jpg new file mode 100644 index 00000000000..9c4d63492a5 Binary files /dev/null and b/docs/static/logos/initia.jpg differ diff --git a/docs/static/logos/injective.jpg b/docs/static/logos/injective.jpg new file mode 100644 index 00000000000..2b47c1149a4 Binary files /dev/null and b/docs/static/logos/injective.jpg differ diff --git a/docs/static/logos/instagram.jpg b/docs/static/logos/instagram.jpg new file mode 100644 index 00000000000..4f685f5b5e8 Binary files /dev/null and b/docs/static/logos/instagram.jpg differ diff --git a/docs/static/logos/intelsgx.png b/docs/static/logos/intelsgx.png index 0ed2334b87f..f94512ded9f 100644 Binary files a/docs/static/logos/intelsgx.png and b/docs/static/logos/intelsgx.png differ diff --git a/docs/static/logos/intiface.png b/docs/static/logos/intiface.png index b4aed7e783f..a89c44b3f50 100644 Binary files a/docs/static/logos/intiface.png and b/docs/static/logos/intiface.png differ diff --git a/docs/static/logos/irys.jpg b/docs/static/logos/irys.jpg index a3fc14837ac..f1eaf641fab 100644 Binary files a/docs/static/logos/irys.jpg and b/docs/static/logos/irys.jpg differ diff --git a/docs/static/logos/isaac.jpg b/docs/static/logos/isaac.jpg index d0e88aae653..97463264343 100644 Binary files a/docs/static/logos/isaac.jpg and b/docs/static/logos/isaac.jpg differ diff --git a/docs/static/logos/lens.jpg b/docs/static/logos/lens.jpg index 5d178e22c06..1389831aca7 100644 Binary files a/docs/static/logos/lens.jpg and b/docs/static/logos/lens.jpg differ diff --git a/docs/static/logos/letzai.jpg b/docs/static/logos/letzai.jpg index 4f4874e2b9c..6fb407081eb 100644 Binary files a/docs/static/logos/letzai.jpg and b/docs/static/logos/letzai.jpg differ diff --git a/docs/static/logos/lightlink.jpg b/docs/static/logos/lightlink.jpg index b918cffb519..59ce416bf8a 100644 Binary files a/docs/static/logos/lightlink.jpg and b/docs/static/logos/lightlink.jpg differ diff --git a/docs/static/logos/lightning.png b/docs/static/logos/lightning.png new file mode 100644 index 00000000000..fbd88feb3f6 Binary files /dev/null and b/docs/static/logos/lightning.png differ diff --git a/docs/static/logos/marlin.jpg b/docs/static/logos/marlin.jpg index 1c29a55b3ad..162b7993625 100644 Binary files a/docs/static/logos/marlin.jpg and b/docs/static/logos/marlin.jpg differ diff --git a/docs/static/logos/massa.jpg b/docs/static/logos/massa.jpg index f547d4a3a4d..3eeae5c1736 100644 Binary files a/docs/static/logos/massa.jpg and b/docs/static/logos/massa.jpg differ diff --git a/docs/static/logos/merkle.jpg b/docs/static/logos/merkle.jpg index 14b01f901bd..2eec72bbfef 100644 Binary files a/docs/static/logos/merkle.jpg and b/docs/static/logos/merkle.jpg differ diff --git a/docs/static/logos/messari.jpg b/docs/static/logos/messari.jpg index 11679ec29a6..f94321d63e0 100644 Binary files a/docs/static/logos/messari.jpg and b/docs/static/logos/messari.jpg differ diff --git a/docs/static/logos/meta-llama.jpg b/docs/static/logos/meta-llama.jpg new file mode 100644 index 00000000000..4f6e7dd7ee3 Binary files /dev/null and b/docs/static/logos/meta-llama.jpg differ diff --git a/docs/static/logos/mongodb.png b/docs/static/logos/mongodb.png index 7f42687898e..125eab16c40 100644 Binary files a/docs/static/logos/mongodb.png and b/docs/static/logos/mongodb.png differ diff --git a/docs/static/logos/moralis.jpg b/docs/static/logos/moralis.jpg new file mode 100644 index 00000000000..dee00149e34 Binary files /dev/null and b/docs/static/logos/moralis.jpg differ diff --git a/docs/static/logos/movement.jpg b/docs/static/logos/movement.jpg index a1144a060fc..82e8158497e 100644 Binary files a/docs/static/logos/movement.jpg and b/docs/static/logos/movement.jpg differ diff --git a/docs/static/logos/multiversx.jpg b/docs/static/logos/multiversx.jpg index 80ffbb4cc6e..ac1f920759e 100644 Binary files a/docs/static/logos/multiversx.jpg and b/docs/static/logos/multiversx.jpg differ diff --git a/docs/static/logos/nearai.png b/docs/static/logos/nearai.png index 3adc94542bb..a226b05a4fc 100644 Binary files a/docs/static/logos/nearai.png and b/docs/static/logos/nearai.png differ diff --git a/docs/static/logos/nftgen.png b/docs/static/logos/nftgen.png index 69b16beff43..8508c448dca 100644 Binary files a/docs/static/logos/nftgen.png and b/docs/static/logos/nftgen.png differ diff --git a/docs/static/logos/nkn.jpg b/docs/static/logos/nkn.jpg index 7d71c3952b1..d6accc2549d 100644 Binary files a/docs/static/logos/nkn.jpg and b/docs/static/logos/nkn.jpg differ diff --git a/docs/static/logos/nodejs.jpg b/docs/static/logos/nodejs.jpg index 05cae4623b9..63981a6aaed 100644 Binary files a/docs/static/logos/nodejs.jpg and b/docs/static/logos/nodejs.jpg differ diff --git a/docs/static/logos/nvidia.jpg b/docs/static/logos/nvidia.jpg new file mode 100644 index 00000000000..fe3f306de66 Binary files /dev/null and b/docs/static/logos/nvidia.jpg differ diff --git a/docs/static/logos/obsidian.jpg b/docs/static/logos/obsidian.jpg index c4a9fc8d447..85b1352ece5 100644 Binary files a/docs/static/logos/obsidian.jpg and b/docs/static/logos/obsidian.jpg differ diff --git a/docs/static/logos/okto.png b/docs/static/logos/okto.png index c8f22095652..0d4b27aeeeb 100644 Binary files a/docs/static/logos/okto.png and b/docs/static/logos/okto.png differ diff --git a/docs/static/logos/okx.png b/docs/static/logos/okx.png index 68673cc261b..6aa73f6d6c3 100644 Binary files a/docs/static/logos/okx.png and b/docs/static/logos/okx.png differ diff --git a/docs/static/logos/omniflix.jpg b/docs/static/logos/omniflix.jpg index 21f89c5a2a5..a5874509229 100644 Binary files a/docs/static/logos/omniflix.jpg and b/docs/static/logos/omniflix.jpg differ diff --git a/docs/static/logos/opacity.jpg b/docs/static/logos/opacity.jpg index c02565bb812..594200abf80 100644 Binary files a/docs/static/logos/opacity.jpg and b/docs/static/logos/opacity.jpg differ diff --git a/docs/static/logos/openAI.jpg b/docs/static/logos/openAI.jpg new file mode 100644 index 00000000000..64424fe4af2 Binary files /dev/null and b/docs/static/logos/openAI.jpg differ diff --git a/docs/static/logos/openweather.jpg b/docs/static/logos/openweather.jpg index cbff0f452fa..93b0aaa7030 100644 Binary files a/docs/static/logos/openweather.jpg and b/docs/static/logos/openweather.jpg differ diff --git a/docs/static/logos/para.png b/docs/static/logos/para.png index 63f70edc7c8..00fae443f36 100644 Binary files a/docs/static/logos/para.png and b/docs/static/logos/para.png differ diff --git a/docs/static/logos/pglite.png b/docs/static/logos/pglite.png index 3758cd57fac..60d3b50360a 100644 Binary files a/docs/static/logos/pglite.png and b/docs/static/logos/pglite.png differ diff --git a/docs/static/logos/phalatee.jpg b/docs/static/logos/phalatee.jpg index f626e4314cf..e0f0e6d6444 100644 Binary files a/docs/static/logos/phalatee.jpg and b/docs/static/logos/phalatee.jpg differ diff --git a/docs/static/logos/postgres.jpg b/docs/static/logos/postgres.jpg index 69b81406e10..cb35fe3d19c 100644 Binary files a/docs/static/logos/postgres.jpg and b/docs/static/logos/postgres.jpg differ diff --git a/docs/static/logos/primus.png b/docs/static/logos/primus.png index a2152283427..9df68c2bca4 100644 Binary files a/docs/static/logos/primus.png and b/docs/static/logos/primus.png differ diff --git a/docs/static/logos/pyth.jpg b/docs/static/logos/pyth.jpg new file mode 100644 index 00000000000..4c7d556c69a Binary files /dev/null and b/docs/static/logos/pyth.jpg differ diff --git a/docs/static/logos/qdrant.png b/docs/static/logos/qdrant.png index 653e16fcc04..7f52b0be4e8 100644 Binary files a/docs/static/logos/qdrant.png and b/docs/static/logos/qdrant.png differ diff --git a/docs/static/logos/quai.jpg b/docs/static/logos/quai.jpg index 4cc95794155..d5b39c41f11 100644 Binary files a/docs/static/logos/quai.jpg and b/docs/static/logos/quai.jpg differ diff --git a/docs/static/logos/quickintel.jpg b/docs/static/logos/quickintel.jpg new file mode 100644 index 00000000000..3283bff9d52 Binary files /dev/null and b/docs/static/logos/quickintel.jpg differ diff --git a/docs/static/logos/rabbitrader.jpg b/docs/static/logos/rabbitrader.jpg index 8fcf2644f31..78fc48bbb46 100644 Binary files a/docs/static/logos/rabbitrader.jpg and b/docs/static/logos/rabbitrader.jpg differ diff --git a/docs/static/logos/redis.jpg b/docs/static/logos/redis.jpg new file mode 100644 index 00000000000..16164c03c53 Binary files /dev/null and b/docs/static/logos/redis.jpg differ diff --git a/docs/static/logos/router.jpg b/docs/static/logos/router.jpg new file mode 100644 index 00000000000..6e416b80f23 Binary files /dev/null and b/docs/static/logos/router.jpg differ diff --git a/docs/static/logos/sei.jpg b/docs/static/logos/sei.jpg index ca1b606cc98..fc076d1cb46 100644 Binary files a/docs/static/logos/sei.jpg and b/docs/static/logos/sei.jpg differ diff --git a/docs/static/logos/sendai.png b/docs/static/logos/sendai.png index 2346f41e407..63b70a7182b 100644 Binary files a/docs/static/logos/sendai.png and b/docs/static/logos/sendai.png differ diff --git a/docs/static/logos/simsAI.jpg b/docs/static/logos/simsAI.jpg new file mode 100644 index 00000000000..b3b66cffb35 Binary files /dev/null and b/docs/static/logos/simsAI.jpg differ diff --git a/docs/static/logos/slack.jpg b/docs/static/logos/slack.jpg index 7ea2257587f..91e78e5c02f 100644 Binary files a/docs/static/logos/slack.jpg and b/docs/static/logos/slack.jpg differ diff --git a/docs/static/logos/solana.jpg b/docs/static/logos/solana.jpg index fc60a24c063..da195130afc 100644 Binary files a/docs/static/logos/solana.jpg and b/docs/static/logos/solana.jpg differ diff --git a/docs/static/logos/solanaV2.jpg b/docs/static/logos/solanaV2.jpg new file mode 100644 index 00000000000..0d038375390 Binary files /dev/null and b/docs/static/logos/solanaV2.jpg differ diff --git a/docs/static/logos/spheron.jpg b/docs/static/logos/spheron.jpg index 59822a00aba..ebce93d5889 100644 Binary files a/docs/static/logos/spheron.jpg and b/docs/static/logos/spheron.jpg differ diff --git a/docs/static/logos/sqlite.png b/docs/static/logos/sqlite.png index fbc523b67db..45f57b1b028 100644 Binary files a/docs/static/logos/sqlite.png and b/docs/static/logos/sqlite.png differ diff --git a/docs/static/logos/sqljs.png b/docs/static/logos/sqljs.png index bc96fd23039..60c6d9be2b3 100644 Binary files a/docs/static/logos/sqljs.png and b/docs/static/logos/sqljs.png differ diff --git a/docs/static/logos/squid.jpg b/docs/static/logos/squid.jpg new file mode 100644 index 00000000000..b7cc922fe5f Binary files /dev/null and b/docs/static/logos/squid.jpg differ diff --git a/docs/static/logos/stargaze.png b/docs/static/logos/stargaze.png index 16f28920882..0dabdf07835 100644 Binary files a/docs/static/logos/stargaze.png and b/docs/static/logos/stargaze.png differ diff --git a/docs/static/logos/starknet.png b/docs/static/logos/starknet.png index fd0af288349..aa2644e6b19 100644 Binary files a/docs/static/logos/starknet.png and b/docs/static/logos/starknet.png differ diff --git a/docs/static/logos/story.jpg b/docs/static/logos/story.jpg index 9d730efdfb2..95d0d6346e8 100644 Binary files a/docs/static/logos/story.jpg and b/docs/static/logos/story.jpg differ diff --git a/docs/static/logos/sui.jpg b/docs/static/logos/sui.jpg index 6223877e451..ef4b7f1991e 100644 Binary files a/docs/static/logos/sui.jpg and b/docs/static/logos/sui.jpg differ diff --git a/docs/static/logos/suno.jpg b/docs/static/logos/suno.jpg new file mode 100644 index 00000000000..a17f2fe7e5b Binary files /dev/null and b/docs/static/logos/suno.jpg differ diff --git a/docs/static/logos/supabase.jpg b/docs/static/logos/supabase.jpg index f2c3ada35ed..b275d5573a0 100644 Binary files a/docs/static/logos/supabase.jpg and b/docs/static/logos/supabase.jpg differ diff --git a/docs/static/logos/tako.png b/docs/static/logos/tako.png index 52c1c15f166..5f19c368ffc 100644 Binary files a/docs/static/logos/tako.png and b/docs/static/logos/tako.png differ diff --git a/docs/static/logos/tee.png b/docs/static/logos/tee.png index 2dc9b20a523..2dbbe55e580 100644 Binary files a/docs/static/logos/tee.png and b/docs/static/logos/tee.png differ diff --git a/docs/static/logos/telegram.jpg b/docs/static/logos/telegram.jpg index 7c49f90c463..ff5b3fc3565 100644 Binary files a/docs/static/logos/telegram.jpg and b/docs/static/logos/telegram.jpg differ diff --git a/docs/static/logos/thirdweb.jpg b/docs/static/logos/thirdweb.jpg index ef01dd2c4ae..3ec01ff447c 100644 Binary files a/docs/static/logos/thirdweb.jpg and b/docs/static/logos/thirdweb.jpg differ diff --git a/docs/static/logos/ton.png b/docs/static/logos/ton.png index f4f28635159..391df0d8176 100644 Binary files a/docs/static/logos/ton.png and b/docs/static/logos/ton.png differ diff --git a/docs/static/logos/trikon.jpg b/docs/static/logos/trikon.jpg new file mode 100644 index 00000000000..6be75212c59 Binary files /dev/null and b/docs/static/logos/trikon.jpg differ diff --git a/docs/static/logos/trusta.jpg b/docs/static/logos/trusta.jpg index 811d0ec45b4..c3f9f72dedc 100644 Binary files a/docs/static/logos/trusta.jpg and b/docs/static/logos/trusta.jpg differ diff --git a/docs/static/logos/twilio.png b/docs/static/logos/twilio.png index 02512af7b3f..c4e1a024175 100644 Binary files a/docs/static/logos/twilio.png and b/docs/static/logos/twilio.png differ diff --git a/docs/static/logos/viction.jpg b/docs/static/logos/viction.jpg index a9d1f8a69fa..afbfb1fd500 100644 Binary files a/docs/static/logos/viction.jpg and b/docs/static/logos/viction.jpg differ diff --git a/docs/static/logos/video.jpg b/docs/static/logos/video.jpg new file mode 100644 index 00000000000..f8b8516a2c3 Binary files /dev/null and b/docs/static/logos/video.jpg differ diff --git a/docs/static/logos/websearch.jpg b/docs/static/logos/websearch.jpg index ffcb8f62a4a..4dfc9fc55bf 100644 Binary files a/docs/static/logos/websearch.jpg and b/docs/static/logos/websearch.jpg differ diff --git a/docs/static/logos/whatsapp.png b/docs/static/logos/whatsapp.png index e889c080e56..66e2d8f13cf 100644 Binary files a/docs/static/logos/whatsapp.png and b/docs/static/logos/whatsapp.png differ diff --git a/docs/static/logos/x.jpg b/docs/static/logos/x.jpg index 1e1260c1284..1af6db1ba61 100644 Binary files a/docs/static/logos/x.jpg and b/docs/static/logos/x.jpg differ diff --git a/docs/static/logos/xmtp.jpg b/docs/static/logos/xmtp.jpg new file mode 100644 index 00000000000..4e59c5e3b76 Binary files /dev/null and b/docs/static/logos/xmtp.jpg differ diff --git a/docs/static/logos/youtube.png b/docs/static/logos/youtube.png index 47cf8c33d63..1db0f7fbff0 100644 Binary files a/docs/static/logos/youtube.png and b/docs/static/logos/youtube.png differ diff --git a/docs/static/logos/zapper.jpg b/docs/static/logos/zapper.jpg index f0bef0b6dbb..0c6c8daf526 100644 Binary files a/docs/static/logos/zapper.jpg and b/docs/static/logos/zapper.jpg differ diff --git a/docs/static/logos/zerion.jpg b/docs/static/logos/zerion.jpg index 2c59584eeae..584c537a660 100644 Binary files a/docs/static/logos/zerion.jpg and b/docs/static/logos/zerion.jpg differ diff --git a/docs/static/logos/zilliqa.jpg b/docs/static/logos/zilliqa.jpg new file mode 100644 index 00000000000..3fd863d79ed Binary files /dev/null and b/docs/static/logos/zilliqa.jpg differ diff --git a/docs/static/logos/zksync.jpg b/docs/static/logos/zksync.jpg index 8595fa91380..e36dc53b291 100644 Binary files a/docs/static/logos/zksync.jpg and b/docs/static/logos/zksync.jpg differ