From e010e77980714b6d636c35a228dec1dc58331853 Mon Sep 17 00:00:00 2001
From: madjin <32600939+madjin@users.noreply.github.com>
Date: Mon, 25 Nov 2024 00:58:26 -0500
Subject: [PATCH] add new pages

---
 docs/api/classes/AgentRuntime.md              | 202 ++++++----
 docs/api/classes/CacheManager.md              | 117 ++++++
 docs/api/classes/DatabaseAdapter.md           |  98 ++---
 docs/api/classes/DbCacheAdapter.md            |  95 +++++
 docs/api/classes/FsCacheAdapter.md            |  93 +++++
 docs/api/classes/MemoryCacheAdapter.md        | 103 +++++
 docs/api/classes/MemoryManager.md             |  50 +--
 docs/api/classes/Service.md                   |  54 ++-
 docs/api/enumerations/Clients.md              |  16 +-
 docs/api/enumerations/GoalStatus.md           |  10 +-
 docs/api/enumerations/LoggingLevel.md         |  33 ++
 docs/api/enumerations/ModelClass.md           |  10 +-
 docs/api/enumerations/ModelProviderName.md    |  28 +-
 docs/api/enumerations/ServiceType.md          |  40 +-
 docs/api/functions/addHeader.md               |   2 +-
 docs/api/functions/composeActionExamples.md   |   2 +-
 docs/api/functions/composeContext.md          |   2 +-
 docs/api/functions/configureSettings.md       |  21 ++
 docs/api/functions/createGoal.md              |   2 +-
 docs/api/functions/createRelationship.md      |   2 +-
 docs/api/functions/embed.md                   |   4 +-
 docs/api/functions/findNearestEnvFile.md      |   6 +-
 docs/api/functions/formatActionNames.md       |   2 +-
 docs/api/functions/formatActions.md           |   2 +-
 docs/api/functions/formatActors.md            |   2 +-
 .../formatEvaluatorExampleDescriptions.md     |   2 +-
 docs/api/functions/formatEvaluatorExamples.md |   2 +-
 docs/api/functions/formatEvaluatorNames.md    |   2 +-
 docs/api/functions/formatEvaluators.md        |   2 +-
 docs/api/functions/formatGoalsAsString.md     |   2 +-
 docs/api/functions/formatMessages.md          |   2 +-
 docs/api/functions/formatPosts.md             |   2 +-
 docs/api/functions/formatRelationships.md     |   2 +-
 docs/api/functions/formatTimestamp.md         |   2 +-
 docs/api/functions/generateCaption.md         |   4 +-
 docs/api/functions/generateImage.md           |   4 +-
 docs/api/functions/generateMessageResponse.md |   4 +-
 docs/api/functions/generateObject.md          |   4 +-
 docs/api/functions/generateObjectArray.md     |   4 +-
 docs/api/functions/generateObjectV2.md        |   4 +-
 docs/api/functions/generateShouldRespond.md   |   4 +-
 docs/api/functions/generateText.md            |   2 +-
 docs/api/functions/generateTextArray.md       |   4 +-
 docs/api/functions/generateTrueOrFalse.md     |   4 +-
 docs/api/functions/getActorDetails.md         |   2 +-
 docs/api/functions/getEndpoint.md             |   2 +-
 docs/api/functions/getEnvVariable.md          |  27 ++
 docs/api/functions/getGoals.md                |   2 +-
 docs/api/functions/getModel.md                |   2 +-
 docs/api/functions/getProviders.md            |   2 +-
 docs/api/functions/getRelationship.md         |   2 +-
 docs/api/functions/getRelationships.md        |   2 +-
 docs/api/functions/handleProvider.md          |   4 +-
 docs/api/functions/hasEnvVariable.md          |  23 ++
 docs/api/functions/loadEnvConfig.md           |  13 +-
 docs/api/functions/parseBooleanFromText.md    |   2 +-
 docs/api/functions/parseJSONObjectFromText.md |   4 +-
 docs/api/functions/parseJsonArrayFromText.md  |   2 +-
 .../functions/parseShouldRespondFromText.md   |   2 +-
 docs/api/functions/retrieveCachedEmbedding.md |   4 +-
 docs/api/functions/splitChunks.md             |   4 +-
 docs/api/functions/stringToUuid.md            |   2 +-
 docs/api/functions/trimTokens.md              |   4 +-
 docs/api/functions/updateGoal.md              |   2 +-
 docs/api/functions/validateCharacterConfig.md |  19 +
 docs/api/functions/validateEnv.md             |  15 +
 docs/api/index.md                             |  20 +-
 docs/api/interfaces/Account.md                |  26 +-
 docs/api/interfaces/Action.md                 |  24 +-
 docs/api/interfaces/ActionExample.md          |   4 +-
 docs/api/interfaces/Actor.md                  |   8 +-
 docs/api/interfaces/Content.md                |  14 +-
 docs/api/interfaces/ConversationExample.md    |   4 +-
 docs/api/interfaces/EvaluationExample.md      |  12 +-
 docs/api/interfaces/Evaluator.md              |  28 +-
 docs/api/interfaces/GenerationOptions.md      |  40 +-
 docs/api/interfaces/Goal.md                   |  12 +-
 docs/api/interfaces/IAgentRuntime.md          | 158 +++++---
 docs/api/interfaces/IBrowserService.md        |  58 ++-
 docs/api/interfaces/ICacheAdapter.md          |  59 +++
 docs/api/interfaces/ICacheManager.md          |  69 ++++
 docs/api/interfaces/IDatabaseAdapter.md       | 170 +++++----
 docs/api/interfaces/IDatabaseCacheAdapter.md  |  71 ++++
 .../interfaces/IImageDescriptionService.md    |  54 ++-
 docs/api/interfaces/IMemoryManager.md         |  52 +--
 docs/api/interfaces/IPdfService.md            |  62 ++-
 docs/api/interfaces/ISpeechService.md         |  62 ++-
 docs/api/interfaces/ITextGenerationService.md |  76 +++-
 docs/api/interfaces/ITranscriptionService.md  |  74 +++-
 docs/api/interfaces/IVideoService.md          |  74 +++-
 docs/api/interfaces/Memory.md                 |  32 +-
 docs/api/interfaces/MessageExample.md         |   8 +-
 docs/api/interfaces/Objective.md              |   6 +-
 docs/api/interfaces/Participant.md            |   8 +-
 docs/api/interfaces/Provider.md               |   4 +-
 docs/api/interfaces/Relationship.md           |  28 +-
 docs/api/interfaces/Room.md                   |   8 +-
 docs/api/interfaces/State.md                  |  58 +--
 docs/api/type-aliases/CacheOptions.md         |  15 +
 docs/api/type-aliases/Character.md            |  94 ++++-
 docs/api/type-aliases/CharacterConfig.md      |  11 +
 docs/api/type-aliases/Client.md               |   4 +-
 docs/api/type-aliases/EnvConfig.md            |  11 +
 docs/api/type-aliases/Handler.md              |   4 +-
 docs/api/type-aliases/HandlerCallback.md      |   4 +-
 docs/api/type-aliases/Media.md                |   4 +-
 docs/api/type-aliases/Model.md                |  14 +-
 docs/api/type-aliases/Models.md               |  14 +-
 docs/api/type-aliases/Plugin.md               |   8 +-
 docs/api/type-aliases/UUID.md                 |   2 +-
 docs/api/type-aliases/Validator.md            |   4 +-
 docs/api/typedoc-sidebar.cjs                  | 352 +-----------------
 docs/api/variables/CharacterSchema.md         |  11 +
 docs/api/variables/booleanFooter.md           |   2 +-
 docs/api/variables/defaultCharacter.md        |   2 +-
 docs/api/variables/elizaLogger.md             |   4 +-
 docs/api/variables/embeddingDimension.md      |   4 +-
 docs/api/variables/embeddingZeroVector.md     |   4 +-
 docs/api/variables/envSchema.md               |  11 +
 docs/api/variables/evaluationTemplate.md      |   2 +-
 docs/api/variables/messageCompletionFooter.md |   2 +-
 docs/api/variables/models.md                  |   2 +-
 docs/api/variables/settings.md                |   8 +-
 docs/api/variables/shouldRespondFooter.md     |   2 +-
 docs/api/variables/stringArrayFooter.md       |   4 +-
 docs/docs/community/streams/2024-11-21.md     |  78 ++++
 docs/docs/community/streams/2024-11-24.md     |  87 +++++
 127 files changed, 2288 insertions(+), 1052 deletions(-)
 create mode 100644 docs/api/classes/CacheManager.md
 create mode 100644 docs/api/classes/DbCacheAdapter.md
 create mode 100644 docs/api/classes/FsCacheAdapter.md
 create mode 100644 docs/api/classes/MemoryCacheAdapter.md
 create mode 100644 docs/api/enumerations/LoggingLevel.md
 create mode 100644 docs/api/functions/configureSettings.md
 create mode 100644 docs/api/functions/getEnvVariable.md
 create mode 100644 docs/api/functions/hasEnvVariable.md
 create mode 100644 docs/api/functions/validateCharacterConfig.md
 create mode 100644 docs/api/functions/validateEnv.md
 create mode 100644 docs/api/interfaces/ICacheAdapter.md
 create mode 100644 docs/api/interfaces/ICacheManager.md
 create mode 100644 docs/api/interfaces/IDatabaseCacheAdapter.md
 create mode 100644 docs/api/type-aliases/CacheOptions.md
 create mode 100644 docs/api/type-aliases/CharacterConfig.md
 create mode 100644 docs/api/type-aliases/EnvConfig.md
 create mode 100644 docs/api/variables/CharacterSchema.md
 create mode 100644 docs/api/variables/envSchema.md
 create mode 100644 docs/docs/community/streams/2024-11-21.md
 create mode 100644 docs/docs/community/streams/2024-11-24.md

diff --git a/docs/api/classes/AgentRuntime.md b/docs/api/classes/AgentRuntime.md
index 4221daffd88..7e6f818d795 100644
--- a/docs/api/classes/AgentRuntime.md
+++ b/docs/api/classes/AgentRuntime.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / AgentRuntime
+[@ai16z/eliza v0.1.3](../index.md) / AgentRuntime
 
 # Class: AgentRuntime
 
@@ -73,13 +73,17 @@ Custom fetch function to use for making requests.
 
 • **opts.speechModelPath?**: `string`
 
+• **opts.cacheManager**: [`ICacheManager`](../interfaces/ICacheManager.md)
+
+• **opts.logging?**: `boolean`
+
 #### Returns
 
 [`AgentRuntime`](AgentRuntime.md)
 
 #### Defined in
 
-[packages/core/src/runtime.ts:192](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L192)
+[packages/core/src/runtime.ts:197](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L197)
 
 ## Properties
 
@@ -95,9 +99,9 @@ The ID of the agent
 
 #### Defined in
 
-[packages/core/src/runtime.ts:59](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L59)
+[packages/core/src/runtime.ts:61](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L61)
 
----
+***
 
 ### serverUrl
 
@@ -111,9 +115,9 @@ The base URL of the server where the agent's requests are processed.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:63](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L63)
+[packages/core/src/runtime.ts:65](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L65)
 
----
+***
 
 ### databaseAdapter
 
@@ -127,9 +131,9 @@ The database adapter used for interacting with the database.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:68](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L68)
+[packages/core/src/runtime.ts:70](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L70)
 
----
+***
 
 ### token
 
@@ -143,9 +147,9 @@ Authentication token used for securing requests.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:73](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L73)
+[packages/core/src/runtime.ts:75](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L75)
 
----
+***
 
 ### actions
 
@@ -159,9 +163,9 @@ Custom actions that the agent can perform.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:78](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L78)
+[packages/core/src/runtime.ts:80](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L80)
 
----
+***
 
 ### evaluators
 
@@ -175,9 +179,9 @@ Evaluators used to assess and guide the agent's responses.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:83](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L83)
+[packages/core/src/runtime.ts:85](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L85)
 
----
+***
 
 ### providers
 
@@ -191,9 +195,23 @@ Context providers used to provide context for message generation.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:88](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L88)
+[packages/core/src/runtime.ts:90](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L90)
+
+***
+
+### plugins
+
+> **plugins**: [`Plugin`](../type-aliases/Plugin.md)[] = `[]`
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`plugins`](../interfaces/IAgentRuntime.md#plugins)
+
+#### Defined in
 
----
+[packages/core/src/runtime.ts:92](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L92)
+
+***
 
 ### modelProvider
 
@@ -207,9 +225,9 @@ The model to use for generateText.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L93)
+[packages/core/src/runtime.ts:97](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L97)
 
----
+***
 
 ### fetch()
 
@@ -242,9 +260,9 @@ Some environments may not have access to the global fetch function and need a cu
 
 #### Defined in
 
-[packages/core/src/runtime.ts:99](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L99)
+[packages/core/src/runtime.ts:103](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L103)
 
----
+***
 
 ### character
 
@@ -258,9 +276,9 @@ The character to use for the agent
 
 #### Defined in
 
-[packages/core/src/runtime.ts:104](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L104)
+[packages/core/src/runtime.ts:108](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L108)
 
----
+***
 
 ### messageManager
 
@@ -274,9 +292,9 @@ Store messages that are sent and received by the agent.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:109](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L109)
+[packages/core/src/runtime.ts:113](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L113)
 
----
+***
 
 ### descriptionManager
 
@@ -290,9 +308,9 @@ Store and recall descriptions of users based on conversations.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:114](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L114)
+[packages/core/src/runtime.ts:118](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L118)
 
----
+***
 
 ### loreManager
 
@@ -306,9 +324,9 @@ Manage the creation and recall of static information (documents, historical game
 
 #### Defined in
 
-[packages/core/src/runtime.ts:119](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L119)
+[packages/core/src/runtime.ts:123](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L123)
 
----
+***
 
 ### documentsManager
 
@@ -318,9 +336,9 @@ Hold large documents that can be referenced
 
 #### Defined in
 
-[packages/core/src/runtime.ts:124](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L124)
+[packages/core/src/runtime.ts:128](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L128)
 
----
+***
 
 ### knowledgeManager
 
@@ -330,9 +348,9 @@ Searchable document fragments
 
 #### Defined in
 
-[packages/core/src/runtime.ts:129](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L129)
+[packages/core/src/runtime.ts:133](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L133)
 
----
+***
 
 ### services
 
@@ -344,9 +362,9 @@ Searchable document fragments
 
 #### Defined in
 
-[packages/core/src/runtime.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L131)
+[packages/core/src/runtime.ts:135](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L135)
 
----
+***
 
 ### memoryManagers
 
@@ -354,7 +372,21 @@ Searchable document fragments
 
 #### Defined in
 
-[packages/core/src/runtime.ts:132](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L132)
+[packages/core/src/runtime.ts:136](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L136)
+
+***
+
+### cacheManager
+
+> **cacheManager**: [`ICacheManager`](../interfaces/ICacheManager.md)
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`cacheManager`](../interfaces/IAgentRuntime.md#cacheManager)
+
+#### Defined in
+
+[packages/core/src/runtime.ts:137](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L137)
 
 ## Methods
 
@@ -376,9 +408,9 @@ Searchable document fragments
 
 #### Defined in
 
-[packages/core/src/runtime.ts:134](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L134)
+[packages/core/src/runtime.ts:139](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L139)
 
----
+***
 
 ### getMemoryManager()
 
@@ -398,13 +430,17 @@ Searchable document fragments
 
 #### Defined in
 
-[packages/core/src/runtime.ts:149](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L149)
+[packages/core/src/runtime.ts:154](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L154)
 
----
+***
 
 ### getService()
 
-> **getService**(`service`): _typeof_ [`Service`](Service.md)
+> **getService**\<`T`\>(`service`): `T`
+
+#### Type Parameters
+
+• **T** *extends* [`Service`](Service.md)
 
 #### Parameters
 
@@ -412,7 +448,7 @@ Searchable document fragments
 
 #### Returns
 
-_typeof_ [`Service`](Service.md)
+`T`
 
 #### Implementation of
 
@@ -420,13 +456,13 @@ _typeof_ [`Service`](Service.md)
 
 #### Defined in
 
-[packages/core/src/runtime.ts:153](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L153)
+[packages/core/src/runtime.ts:158](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L158)
 
----
+***
 
 ### registerService()
 
-> **registerService**(`service`): `void`
+> **registerService**(`service`): `Promise`\<`void`\>
 
 #### Parameters
 
@@ -434,7 +470,7 @@ _typeof_ [`Service`](Service.md)
 
 #### Returns
 
-`void`
+`Promise`\<`void`\>
 
 #### Implementation of
 
@@ -442,9 +478,27 @@ _typeof_ [`Service`](Service.md)
 
 #### Defined in
 
-[packages/core/src/runtime.ts:161](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L161)
+[packages/core/src/runtime.ts:167](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L167)
+
+***
+
+### initialize()
+
+> **initialize**(): `Promise`\<`void`\>
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`IAgentRuntime`](../interfaces/IAgentRuntime.md).[`initialize`](../interfaces/IAgentRuntime.md#initialize)
+
+#### Defined in
+
+[packages/core/src/runtime.ts:312](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L312)
 
----
+***
 
 ### getSetting()
 
@@ -464,9 +518,9 @@ _typeof_ [`Service`](Service.md)
 
 #### Defined in
 
-[packages/core/src/runtime.ts:368](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L368)
+[packages/core/src/runtime.ts:408](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L408)
 
----
+***
 
 ### getConversationLength()
 
@@ -486,9 +540,9 @@ The number of recent messages to be kept in memory.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:390](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L390)
+[packages/core/src/runtime.ts:430](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L430)
 
----
+***
 
 ### registerAction()
 
@@ -512,9 +566,9 @@ The action to register.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:398](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L398)
+[packages/core/src/runtime.ts:438](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L438)
 
----
+***
 
 ### registerEvaluator()
 
@@ -534,9 +588,9 @@ The evaluator to register.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:407](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L407)
+[packages/core/src/runtime.ts:447](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L447)
 
----
+***
 
 ### registerContextProvider()
 
@@ -556,9 +610,9 @@ The context provider to register.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:415](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L415)
+[packages/core/src/runtime.ts:455](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L455)
 
----
+***
 
 ### processActions()
 
@@ -588,9 +642,9 @@ The message to process.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:424](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L424)
+[packages/core/src/runtime.ts:464](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L464)
 
----
+***
 
 ### evaluate()
 
@@ -624,9 +678,9 @@ The results of the evaluation.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:497](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L497)
+[packages/core/src/runtime.ts:537](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L537)
 
----
+***
 
 ### ensureParticipantExists()
 
@@ -656,9 +710,9 @@ An error if the participant cannot be added.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:567](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L567)
+[packages/core/src/runtime.ts:607](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L607)
 
----
+***
 
 ### ensureUserExists()
 
@@ -692,9 +746,9 @@ The user name to ensure the existence of.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:583](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L583)
+[packages/core/src/runtime.ts:623](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L623)
 
----
+***
 
 ### ensureParticipantInRoom()
 
@@ -716,9 +770,9 @@ The user name to ensure the existence of.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:603](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L603)
+[packages/core/src/runtime.ts:643](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L643)
 
----
+***
 
 ### ensureConnection()
 
@@ -746,9 +800,9 @@ The user name to ensure the existence of.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:614](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L614)
+[packages/core/src/runtime.ts:660](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L660)
 
----
+***
 
 ### ensureRoomExists()
 
@@ -777,9 +831,9 @@ An error if the room cannot be created.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:650](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L650)
+[packages/core/src/runtime.ts:696](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L696)
 
----
+***
 
 ### composeState()
 
@@ -807,9 +861,9 @@ The state of the agent.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:663](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L663)
+[packages/core/src/runtime.ts:709](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L709)
 
----
+***
 
 ### updateRecentMessageState()
 
@@ -829,4 +883,4 @@ The state of the agent.
 
 #### Defined in
 
-[packages/core/src/runtime.ts:1124](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L1124)
+[packages/core/src/runtime.ts:1181](https://github.com/ai16z/eliza/blob/main/packages/core/src/runtime.ts#L1181)
diff --git a/docs/api/classes/CacheManager.md b/docs/api/classes/CacheManager.md
new file mode 100644
index 00000000000..f40b5390782
--- /dev/null
+++ b/docs/api/classes/CacheManager.md
@@ -0,0 +1,117 @@
+[@ai16z/eliza v0.1.3](../index.md) / CacheManager
+
+# Class: CacheManager\<CacheAdapter\>
+
+## Type Parameters
+
+• **CacheAdapter** *extends* [`ICacheAdapter`](../interfaces/ICacheAdapter.md) = [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Implements
+
+- [`ICacheManager`](../interfaces/ICacheManager.md)
+
+## Constructors
+
+### new CacheManager()
+
+> **new CacheManager**\<`CacheAdapter`\>(`adapter`): [`CacheManager`](CacheManager.md)\<`CacheAdapter`\>
+
+#### Parameters
+
+• **adapter**: `CacheAdapter`
+
+#### Returns
+
+[`CacheManager`](CacheManager.md)\<`CacheAdapter`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L93)
+
+## Properties
+
+### adapter
+
+> **adapter**: `CacheAdapter`
+
+#### Defined in
+
+[packages/core/src/cache.ts:91](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L91)
+
+## Methods
+
+### get()
+
+> **get**\<`T`\>(`key`): `Promise`\<`T`\>
+
+#### Type Parameters
+
+• **T** = `unknown`
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`T`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`get`](../interfaces/ICacheManager.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:97](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L97)
+
+***
+
+### set()
+
+> **set**\<`T`\>(`key`, `value`, `opts`?): `Promise`\<`void`\>
+
+#### Type Parameters
+
+• **T**
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `T`
+
+• **opts?**: [`CacheOptions`](../type-aliases/CacheOptions.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`set`](../interfaces/ICacheManager.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:116](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L116)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheManager`](../interfaces/ICacheManager.md).[`delete`](../interfaces/ICacheManager.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:123](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L123)
diff --git a/docs/api/classes/DatabaseAdapter.md b/docs/api/classes/DatabaseAdapter.md
index 26e39894ed1..3857152e719 100644
--- a/docs/api/classes/DatabaseAdapter.md
+++ b/docs/api/classes/DatabaseAdapter.md
@@ -1,10 +1,14 @@
-[@ai16z/eliza v1.0.0](../index.md) / DatabaseAdapter
+[@ai16z/eliza v0.1.3](../index.md) / DatabaseAdapter
 
-# Class: `abstract` DatabaseAdapter
+# Class: `abstract` DatabaseAdapter\<DB\>
 
 An abstract class representing a database adapter for managing various entities
 like accounts, memories, actors, goals, and rooms.
 
+## Type Parameters
+
+• **DB** = `any`
+
 ## Implements
 
 - [`IDatabaseAdapter`](../interfaces/IDatabaseAdapter.md)
@@ -13,17 +17,17 @@ like accounts, memories, actors, goals, and rooms.
 
 ### new DatabaseAdapter()
 
-> **new DatabaseAdapter**(): [`DatabaseAdapter`](DatabaseAdapter.md)
+> **new DatabaseAdapter**\<`DB`\>(): [`DatabaseAdapter`](DatabaseAdapter.md)\<`DB`\>
 
 #### Returns
 
-[`DatabaseAdapter`](DatabaseAdapter.md)
+[`DatabaseAdapter`](DatabaseAdapter.md)\<`DB`\>
 
 ## Properties
 
 ### db
 
-> **db**: `any`
+> **db**: `DB`
 
 The database instance.
 
@@ -63,7 +67,7 @@ A Promise that resolves to the Account object or null if not found.
 
 [packages/core/src/database.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L27)
 
----
+***
 
 ### createAccount()
 
@@ -91,7 +95,7 @@ A Promise that resolves when the account creation is complete.
 
 [packages/core/src/database.ts:34](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L34)
 
----
+***
 
 ### getMemories()
 
@@ -127,7 +131,7 @@ A Promise that resolves to an array of Memory objects.
 
 [packages/core/src/database.ts:41](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L41)
 
----
+***
 
 ### getMemoriesByRoomIds()
 
@@ -155,7 +159,7 @@ A Promise that resolves to an array of Memory objects.
 
 [packages/core/src/database.ts:48](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L48)
 
----
+***
 
 ### getMemoryById()
 
@@ -177,7 +181,7 @@ A Promise that resolves to an array of Memory objects.
 
 [packages/core/src/database.ts:54](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L54)
 
----
+***
 
 ### getCachedEmbeddings()
 
@@ -191,17 +195,17 @@ Retrieves cached embeddings based on the specified query parameters.
 
 An object containing parameters for the embedding retrieval.
 
-• **params.query_table_name**: `string`
+• **params.query\_table\_name**: `string`
 
-• **params.query_threshold**: `number`
+• **params.query\_threshold**: `number`
 
-• **params.query_input**: `string`
+• **params.query\_input**: `string`
 
-• **params.query_field_name**: `string`
+• **params.query\_field\_name**: `string`
 
-• **params.query_field_sub_name**: `string`
+• **params.query\_field\_sub\_name**: `string`
 
-• **params.query_match_count**: `number`
+• **params.query\_match\_count**: `number`
 
 #### Returns
 
@@ -217,7 +221,7 @@ A Promise that resolves to an array of objects containing embeddings and levensh
 
 [packages/core/src/database.ts:61](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L61)
 
----
+***
 
 ### log()
 
@@ -253,7 +257,7 @@ A Promise that resolves when the log entry has been saved.
 
 [packages/core/src/database.ts:87](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L87)
 
----
+***
 
 ### getActorDetails()
 
@@ -283,7 +287,7 @@ A Promise that resolves to an array of Actor objects.
 
 [packages/core/src/database.ts:99](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L99)
 
----
+***
 
 ### searchMemories()
 
@@ -303,9 +307,9 @@ An object containing parameters for the memory search.
 
 • **params.embedding**: `number`[]
 
-• **params.match_threshold**: `number`
+• **params.match\_threshold**: `number`
 
-• **params.match_count**: `number`
+• **params.match\_count**: `number`
 
 • **params.unique**: `boolean`
 
@@ -323,7 +327,7 @@ A Promise that resolves to an array of Memory objects.
 
 [packages/core/src/database.ts:106](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L106)
 
----
+***
 
 ### updateGoalStatus()
 
@@ -355,7 +359,7 @@ A Promise that resolves when the goal status has been updated.
 
 [packages/core/src/database.ts:120](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L120)
 
----
+***
 
 ### searchMemoriesByEmbedding()
 
@@ -373,7 +377,7 @@ The embedding vector to search with.
 
 Additional parameters for the search.
 
-• **params.match_threshold?**: `number`
+• **params.match\_threshold?**: `number`
 
 • **params.count?**: `number`
 
@@ -399,7 +403,7 @@ A Promise that resolves to an array of Memory objects.
 
 [packages/core/src/database.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L131)
 
----
+***
 
 ### createMemory()
 
@@ -435,7 +439,7 @@ A Promise that resolves when the memory has been created.
 
 [packages/core/src/database.ts:150](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L150)
 
----
+***
 
 ### removeMemory()
 
@@ -467,7 +471,7 @@ A Promise that resolves when the memory has been removed.
 
 [packages/core/src/database.ts:162](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L162)
 
----
+***
 
 ### removeAllMemories()
 
@@ -499,7 +503,7 @@ A Promise that resolves when all memories have been removed.
 
 [packages/core/src/database.ts:170](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L170)
 
----
+***
 
 ### countMemories()
 
@@ -535,7 +539,7 @@ A Promise that resolves to the number of memories.
 
 [packages/core/src/database.ts:179](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L179)
 
----
+***
 
 ### getGoals()
 
@@ -571,7 +575,7 @@ A Promise that resolves to an array of Goal objects.
 
 [packages/core/src/database.ts:190](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L190)
 
----
+***
 
 ### updateGoal()
 
@@ -599,7 +603,7 @@ A Promise that resolves when the goal has been updated.
 
 [packages/core/src/database.ts:202](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L202)
 
----
+***
 
 ### createGoal()
 
@@ -627,7 +631,7 @@ A Promise that resolves when the goal has been created.
 
 [packages/core/src/database.ts:209](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L209)
 
----
+***
 
 ### removeGoal()
 
@@ -655,7 +659,7 @@ A Promise that resolves when the goal has been removed.
 
 [packages/core/src/database.ts:216](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L216)
 
----
+***
 
 ### removeAllGoals()
 
@@ -683,7 +687,7 @@ A Promise that resolves when all goals have been removed.
 
 [packages/core/src/database.ts:223](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L223)
 
----
+***
 
 ### getRoom()
 
@@ -711,7 +715,7 @@ A Promise that resolves to the room ID or null if not found.
 
 [packages/core/src/database.ts:230](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L230)
 
----
+***
 
 ### createRoom()
 
@@ -739,7 +743,7 @@ A Promise that resolves to the UUID of the created room.
 
 [packages/core/src/database.ts:237](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L237)
 
----
+***
 
 ### removeRoom()
 
@@ -767,7 +771,7 @@ A Promise that resolves when the room has been removed.
 
 [packages/core/src/database.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L244)
 
----
+***
 
 ### getRoomsForParticipant()
 
@@ -795,7 +799,7 @@ A Promise that resolves to an array of room IDs.
 
 [packages/core/src/database.ts:251](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L251)
 
----
+***
 
 ### getRoomsForParticipants()
 
@@ -823,7 +827,7 @@ A Promise that resolves to an array of room IDs.
 
 [packages/core/src/database.ts:258](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L258)
 
----
+***
 
 ### addParticipant()
 
@@ -855,7 +859,7 @@ A Promise that resolves to a boolean indicating success or failure.
 
 [packages/core/src/database.ts:266](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L266)
 
----
+***
 
 ### removeParticipant()
 
@@ -887,7 +891,7 @@ A Promise that resolves to a boolean indicating success or failure.
 
 [packages/core/src/database.ts:274](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L274)
 
----
+***
 
 ### getParticipantsForAccount()
 
@@ -943,7 +947,7 @@ A Promise that resolves to an array of Participant objects.
 
 [packages/core/src/database.ts:288](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L288)
 
----
+***
 
 ### getParticipantsForRoom()
 
@@ -971,7 +975,7 @@ A Promise that resolves to an array of UUIDs representing the participants.
 
 [packages/core/src/database.ts:295](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L295)
 
----
+***
 
 ### getParticipantUserState()
 
@@ -995,7 +999,7 @@ A Promise that resolves to an array of UUIDs representing the participants.
 
 [packages/core/src/database.ts:297](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L297)
 
----
+***
 
 ### setParticipantUserState()
 
@@ -1021,7 +1025,7 @@ A Promise that resolves to an array of UUIDs representing the participants.
 
 [packages/core/src/database.ts:301](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L301)
 
----
+***
 
 ### createRelationship()
 
@@ -1053,7 +1057,7 @@ A Promise that resolves to a boolean indicating success or failure of the creati
 
 [packages/core/src/database.ts:312](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L312)
 
----
+***
 
 ### getRelationship()
 
@@ -1085,7 +1089,7 @@ A Promise that resolves to the Relationship object or null if not found.
 
 [packages/core/src/database.ts:322](https://github.com/ai16z/eliza/blob/main/packages/core/src/database.ts#L322)
 
----
+***
 
 ### getRelationships()
 
diff --git a/docs/api/classes/DbCacheAdapter.md b/docs/api/classes/DbCacheAdapter.md
new file mode 100644
index 00000000000..9741c265a3b
--- /dev/null
+++ b/docs/api/classes/DbCacheAdapter.md
@@ -0,0 +1,95 @@
+[@ai16z/eliza v0.1.3](../index.md) / DbCacheAdapter
+
+# Class: DbCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new DbCacheAdapter()
+
+> **new DbCacheAdapter**(`db`, `agentId`): [`DbCacheAdapter`](DbCacheAdapter.md)
+
+#### Parameters
+
+• **db**: [`IDatabaseCacheAdapter`](../interfaces/IDatabaseCacheAdapter.md)
+
+• **agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+#### Returns
+
+[`DbCacheAdapter`](DbCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:70](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L70)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:75](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L75)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:79](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L79)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:83](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L83)
diff --git a/docs/api/classes/FsCacheAdapter.md b/docs/api/classes/FsCacheAdapter.md
new file mode 100644
index 00000000000..1c1b15c6302
--- /dev/null
+++ b/docs/api/classes/FsCacheAdapter.md
@@ -0,0 +1,93 @@
+[@ai16z/eliza v0.1.3](../index.md) / FsCacheAdapter
+
+# Class: FsCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new FsCacheAdapter()
+
+> **new FsCacheAdapter**(`dataDir`): [`FsCacheAdapter`](FsCacheAdapter.md)
+
+#### Parameters
+
+• **dataDir**: `string`
+
+#### Returns
+
+[`FsCacheAdapter`](FsCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:37](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L37)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:39](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L39)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:48](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L48)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:59](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L59)
diff --git a/docs/api/classes/MemoryCacheAdapter.md b/docs/api/classes/MemoryCacheAdapter.md
new file mode 100644
index 00000000000..dbaaac091a1
--- /dev/null
+++ b/docs/api/classes/MemoryCacheAdapter.md
@@ -0,0 +1,103 @@
+[@ai16z/eliza v0.1.3](../index.md) / MemoryCacheAdapter
+
+# Class: MemoryCacheAdapter
+
+## Implements
+
+- [`ICacheAdapter`](../interfaces/ICacheAdapter.md)
+
+## Constructors
+
+### new MemoryCacheAdapter()
+
+> **new MemoryCacheAdapter**(`initalData`?): [`MemoryCacheAdapter`](MemoryCacheAdapter.md)
+
+#### Parameters
+
+• **initalData?**: `Map`\<`string`, `string`\>
+
+#### Returns
+
+[`MemoryCacheAdapter`](MemoryCacheAdapter.md)
+
+#### Defined in
+
+[packages/core/src/cache.ts:19](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L19)
+
+## Properties
+
+### data
+
+> **data**: `Map`\<`string`, `string`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:17](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L17)
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`get`](../interfaces/ICacheAdapter.md#get)
+
+#### Defined in
+
+[packages/core/src/cache.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L23)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`set`](../interfaces/ICacheAdapter.md#set)
+
+#### Defined in
+
+[packages/core/src/cache.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L27)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Implementation of
+
+[`ICacheAdapter`](../interfaces/ICacheAdapter.md).[`delete`](../interfaces/ICacheAdapter.md#delete)
+
+#### Defined in
+
+[packages/core/src/cache.ts:31](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L31)
diff --git a/docs/api/classes/MemoryManager.md b/docs/api/classes/MemoryManager.md
index c7991909787..94767f7be77 100644
--- a/docs/api/classes/MemoryManager.md
+++ b/docs/api/classes/MemoryManager.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / MemoryManager
+[@ai16z/eliza v0.1.3](../index.md) / MemoryManager
 
 # Class: MemoryManager
 
@@ -36,7 +36,7 @@ The AgentRuntime instance associated with this manager.
 
 #### Defined in
 
-[packages/core/src/memory.ts:35](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L35)
+[packages/core/src/memory.ts:36](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L36)
 
 ## Properties
 
@@ -52,9 +52,9 @@ The AgentRuntime instance associated with this manager.
 
 #### Defined in
 
-[packages/core/src/memory.ts:22](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L22)
+[packages/core/src/memory.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L23)
 
----
+***
 
 ### tableName
 
@@ -68,7 +68,7 @@ The name of the database table this manager operates on.
 
 #### Defined in
 
-[packages/core/src/memory.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L27)
+[packages/core/src/memory.ts:28](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L28)
 
 ## Methods
 
@@ -96,9 +96,9 @@ A Promise resolving to the memory object, potentially updated with an embedding
 
 #### Defined in
 
-[packages/core/src/memory.ts:45](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L45)
+[packages/core/src/memory.ts:46](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L46)
 
----
+***
 
 ### getMemories()
 
@@ -142,9 +142,9 @@ A Promise resolving to an array of Memory objects.
 
 #### Defined in
 
-[packages/core/src/memory.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L66)
+[packages/core/src/memory.ts:67](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L67)
 
----
+***
 
 ### getCachedEmbeddings()
 
@@ -164,9 +164,9 @@ A Promise resolving to an array of Memory objects.
 
 #### Defined in
 
-[packages/core/src/memory.ts:93](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L93)
+[packages/core/src/memory.ts:94](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L94)
 
----
+***
 
 ### searchMemoriesByEmbedding()
 
@@ -184,7 +184,7 @@ The embedding vector to search with.
 
 Options including match threshold, count, user IDs, and uniqueness.
 
-• **opts.match_threshold?**: `number`
+• **opts.match\_threshold?**: `number`
 
 The similarity threshold for matching memories.
 
@@ -214,9 +214,9 @@ A Promise resolving to an array of Memory objects that match the embedding.
 
 #### Defined in
 
-[packages/core/src/memory.ts:120](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L120)
+[packages/core/src/memory.ts:121](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L121)
 
----
+***
 
 ### createMemory()
 
@@ -246,9 +246,9 @@ A Promise that resolves when the operation completes.
 
 #### Defined in
 
-[packages/core/src/memory.ts:158](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L158)
+[packages/core/src/memory.ts:161](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L161)
 
----
+***
 
 ### getMemoriesByRoomIds()
 
@@ -272,9 +272,9 @@ A Promise that resolves when the operation completes.
 
 #### Defined in
 
-[packages/core/src/memory.ts:173](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L173)
+[packages/core/src/memory.ts:178](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L178)
 
----
+***
 
 ### getMemoryById()
 
@@ -294,9 +294,9 @@ A Promise that resolves when the operation completes.
 
 #### Defined in
 
-[packages/core/src/memory.ts:184](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L184)
+[packages/core/src/memory.ts:189](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L189)
 
----
+***
 
 ### removeMemory()
 
@@ -322,9 +322,9 @@ A Promise that resolves when the operation completes.
 
 #### Defined in
 
-[packages/core/src/memory.ts:194](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L194)
+[packages/core/src/memory.ts:199](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L199)
 
----
+***
 
 ### removeAllMemories()
 
@@ -350,9 +350,9 @@ A Promise that resolves when the operation completes.
 
 #### Defined in
 
-[packages/core/src/memory.ts:206](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L206)
+[packages/core/src/memory.ts:211](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L211)
 
----
+***
 
 ### countMemories()
 
@@ -382,4 +382,4 @@ A Promise resolving to the count of memories.
 
 #### Defined in
 
-[packages/core/src/memory.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L219)
+[packages/core/src/memory.ts:224](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L224)
diff --git a/docs/api/classes/Service.md b/docs/api/classes/Service.md
index 472c53012bd..bda1c2f936b 100644
--- a/docs/api/classes/Service.md
+++ b/docs/api/classes/Service.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Service
+[@ai16z/eliza v0.1.3](../index.md) / Service
 
 # Class: `abstract` Service
 
@@ -22,15 +22,37 @@
 
 [`Service`](Service.md)
 
-## Properties
+## Accessors
 
 ### serviceType
 
-> `static` **serviceType**: [`ServiceType`](../enumerations/ServiceType.md)
+#### Get Signature
+
+> **get** `static` **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:569](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L569)
+
+***
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
 
 #### Defined in
 
-[packages/core/src/types.ts:519](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L519)
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
 
 ## Methods
 
@@ -40,7 +62,7 @@
 
 #### Type Parameters
 
-• **T** _extends_ [`Service`](Service.md)
+• **T** *extends* [`Service`](Service.md)
 
 #### Returns
 
@@ -48,4 +70,24 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:521](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L521)
+[packages/core/src/types.ts:573](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L573)
+
+***
+
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](../interfaces/IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
diff --git a/docs/api/enumerations/Clients.md b/docs/api/enumerations/Clients.md
index 4822e4915e4..1b7aaaea026 100644
--- a/docs/api/enumerations/Clients.md
+++ b/docs/api/enumerations/Clients.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Clients
+[@ai16z/eliza v0.1.3](../index.md) / Clients
 
 # Enumeration: Clients
 
@@ -10,9 +10,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:323](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L323)
+[packages/core/src/types.ts:325](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L325)
 
----
+***
 
 ### DIRECT
 
@@ -20,9 +20,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:324](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L324)
+[packages/core/src/types.ts:326](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L326)
 
----
+***
 
 ### TWITTER
 
@@ -30,9 +30,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:325](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L325)
+[packages/core/src/types.ts:327](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L327)
 
----
+***
 
 ### TELEGRAM
 
@@ -40,4 +40,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:326](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L326)
+[packages/core/src/types.ts:328](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L328)
diff --git a/docs/api/enumerations/GoalStatus.md b/docs/api/enumerations/GoalStatus.md
index 1608c034ed1..541c40702c1 100644
--- a/docs/api/enumerations/GoalStatus.md
+++ b/docs/api/enumerations/GoalStatus.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / GoalStatus
+[@ai16z/eliza v0.1.3](../index.md) / GoalStatus
 
 # Enumeration: GoalStatus
 
@@ -12,7 +12,7 @@
 
 [packages/core/src/types.ts:57](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L57)
 
----
+***
 
 ### FAILED
 
@@ -22,11 +22,11 @@
 
 [packages/core/src/types.ts:58](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L58)
 
----
+***
 
-### IN_PROGRESS
+### IN\_PROGRESS
 
-> **IN_PROGRESS**: `"IN_PROGRESS"`
+> **IN\_PROGRESS**: `"IN_PROGRESS"`
 
 #### Defined in
 
diff --git a/docs/api/enumerations/LoggingLevel.md b/docs/api/enumerations/LoggingLevel.md
new file mode 100644
index 00000000000..08c3238bb01
--- /dev/null
+++ b/docs/api/enumerations/LoggingLevel.md
@@ -0,0 +1,33 @@
+[@ai16z/eliza v0.1.3](../index.md) / LoggingLevel
+
+# Enumeration: LoggingLevel
+
+## Enumeration Members
+
+### DEBUG
+
+> **DEBUG**: `"debug"`
+
+#### Defined in
+
+[packages/core/src/types.ts:734](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L734)
+
+***
+
+### VERBOSE
+
+> **VERBOSE**: `"verbose"`
+
+#### Defined in
+
+[packages/core/src/types.ts:735](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L735)
+
+***
+
+### NONE
+
+> **NONE**: `"none"`
+
+#### Defined in
+
+[packages/core/src/types.ts:736](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L736)
diff --git a/docs/api/enumerations/ModelClass.md b/docs/api/enumerations/ModelClass.md
index d4f3cafaf3f..836c2869d78 100644
--- a/docs/api/enumerations/ModelClass.md
+++ b/docs/api/enumerations/ModelClass.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ModelClass
+[@ai16z/eliza v0.1.3](../index.md) / ModelClass
 
 # Enumeration: ModelClass
 
@@ -12,7 +12,7 @@
 
 [packages/core/src/types.ts:75](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L75)
 
----
+***
 
 ### MEDIUM
 
@@ -22,7 +22,7 @@
 
 [packages/core/src/types.ts:76](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L76)
 
----
+***
 
 ### LARGE
 
@@ -32,7 +32,7 @@
 
 [packages/core/src/types.ts:77](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L77)
 
----
+***
 
 ### EMBEDDING
 
@@ -42,7 +42,7 @@
 
 [packages/core/src/types.ts:78](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L78)
 
----
+***
 
 ### IMAGE
 
diff --git a/docs/api/enumerations/ModelProviderName.md b/docs/api/enumerations/ModelProviderName.md
index 92560871762..49c6c126e82 100644
--- a/docs/api/enumerations/ModelProviderName.md
+++ b/docs/api/enumerations/ModelProviderName.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ModelProviderName
+[@ai16z/eliza v0.1.3](../index.md) / ModelProviderName
 
 # Enumeration: ModelProviderName
 
@@ -12,7 +12,7 @@
 
 [packages/core/src/types.ts:121](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L121)
 
----
+***
 
 ### ANTHROPIC
 
@@ -22,7 +22,7 @@
 
 [packages/core/src/types.ts:122](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L122)
 
----
+***
 
 ### GROK
 
@@ -32,7 +32,7 @@
 
 [packages/core/src/types.ts:123](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L123)
 
----
+***
 
 ### GROQ
 
@@ -42,7 +42,7 @@
 
 [packages/core/src/types.ts:124](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L124)
 
----
+***
 
 ### LLAMACLOUD
 
@@ -52,7 +52,7 @@
 
 [packages/core/src/types.ts:125](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L125)
 
----
+***
 
 ### LLAMALOCAL
 
@@ -62,7 +62,7 @@
 
 [packages/core/src/types.ts:126](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L126)
 
----
+***
 
 ### GOOGLE
 
@@ -72,17 +72,17 @@
 
 [packages/core/src/types.ts:127](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L127)
 
----
+***
 
-### CLAUDE_VERTEX
+### CLAUDE\_VERTEX
 
-> **CLAUDE_VERTEX**: `"claude_vertex"`
+> **CLAUDE\_VERTEX**: `"claude_vertex"`
 
 #### Defined in
 
 [packages/core/src/types.ts:128](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L128)
 
----
+***
 
 ### REDPILL
 
@@ -92,7 +92,7 @@
 
 [packages/core/src/types.ts:129](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L129)
 
----
+***
 
 ### OPENROUTER
 
@@ -102,7 +102,7 @@
 
 [packages/core/src/types.ts:130](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L130)
 
----
+***
 
 ### OLLAMA
 
@@ -112,7 +112,7 @@
 
 [packages/core/src/types.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L131)
 
----
+***
 
 ### HEURIST
 
diff --git a/docs/api/enumerations/ServiceType.md b/docs/api/enumerations/ServiceType.md
index ab704c6558d..f48acfc3dba 100644
--- a/docs/api/enumerations/ServiceType.md
+++ b/docs/api/enumerations/ServiceType.md
@@ -1,18 +1,18 @@
-[@ai16z/eliza v1.0.0](../index.md) / ServiceType
+[@ai16z/eliza v0.1.3](../index.md) / ServiceType
 
 # Enumeration: ServiceType
 
 ## Enumeration Members
 
-### IMAGE_DESCRIPTION
+### IMAGE\_DESCRIPTION
 
-> **IMAGE_DESCRIPTION**: `"image_description"`
+> **IMAGE\_DESCRIPTION**: `"image_description"`
 
 #### Defined in
 
-[packages/core/src/types.ts:658](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L658)
+[packages/core/src/types.ts:724](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L724)
 
----
+***
 
 ### TRANSCRIPTION
 
@@ -20,9 +20,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:659](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L659)
+[packages/core/src/types.ts:725](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L725)
 
----
+***
 
 ### VIDEO
 
@@ -30,19 +30,19 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:660](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L660)
+[packages/core/src/types.ts:726](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L726)
 
----
+***
 
-### TEXT_GENERATION
+### TEXT\_GENERATION
 
-> **TEXT_GENERATION**: `"text_generation"`
+> **TEXT\_GENERATION**: `"text_generation"`
 
 #### Defined in
 
-[packages/core/src/types.ts:661](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L661)
+[packages/core/src/types.ts:727](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L727)
 
----
+***
 
 ### BROWSER
 
@@ -50,19 +50,19 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:662](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L662)
+[packages/core/src/types.ts:728](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L728)
 
----
+***
 
-### SPEECH_GENERATION
+### SPEECH\_GENERATION
 
-> **SPEECH_GENERATION**: `"speech_generation"`
+> **SPEECH\_GENERATION**: `"speech_generation"`
 
 #### Defined in
 
-[packages/core/src/types.ts:663](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L663)
+[packages/core/src/types.ts:729](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L729)
 
----
+***
 
 ### PDF
 
@@ -70,4 +70,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:664](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L664)
+[packages/core/src/types.ts:730](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L730)
diff --git a/docs/api/functions/addHeader.md b/docs/api/functions/addHeader.md
index 4d454488da7..bfda94553de 100644
--- a/docs/api/functions/addHeader.md
+++ b/docs/api/functions/addHeader.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / addHeader
+[@ai16z/eliza v0.1.3](../index.md) / addHeader
 
 # Function: addHeader()
 
diff --git a/docs/api/functions/composeActionExamples.md b/docs/api/functions/composeActionExamples.md
index 3fd4ce0a899..874ac875dae 100644
--- a/docs/api/functions/composeActionExamples.md
+++ b/docs/api/functions/composeActionExamples.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / composeActionExamples
+[@ai16z/eliza v0.1.3](../index.md) / composeActionExamples
 
 # Function: composeActionExamples()
 
diff --git a/docs/api/functions/composeContext.md b/docs/api/functions/composeContext.md
index fd71d37ba4d..54a0faa40bb 100644
--- a/docs/api/functions/composeContext.md
+++ b/docs/api/functions/composeContext.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / composeContext
+[@ai16z/eliza v0.1.3](../index.md) / composeContext
 
 # Function: composeContext()
 
diff --git a/docs/api/functions/configureSettings.md b/docs/api/functions/configureSettings.md
new file mode 100644
index 00000000000..11d317bcf28
--- /dev/null
+++ b/docs/api/functions/configureSettings.md
@@ -0,0 +1,21 @@
+[@ai16z/eliza v0.1.3](../index.md) / configureSettings
+
+# Function: configureSettings()
+
+> **configureSettings**(`settings`): `void`
+
+Configures environment settings for browser usage
+
+## Parameters
+
+• **settings**: `Settings`
+
+Object containing environment variables
+
+## Returns
+
+`void`
+
+## Defined in
+
+[packages/core/src/settings.ts:53](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L53)
diff --git a/docs/api/functions/createGoal.md b/docs/api/functions/createGoal.md
index 33562cf257d..1399ead1dd4 100644
--- a/docs/api/functions/createGoal.md
+++ b/docs/api/functions/createGoal.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / createGoal
+[@ai16z/eliza v0.1.3](../index.md) / createGoal
 
 # Function: createGoal()
 
diff --git a/docs/api/functions/createRelationship.md b/docs/api/functions/createRelationship.md
index 77e2794b924..8e5295722d2 100644
--- a/docs/api/functions/createRelationship.md
+++ b/docs/api/functions/createRelationship.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / createRelationship
+[@ai16z/eliza v0.1.3](../index.md) / createRelationship
 
 # Function: createRelationship()
 
diff --git a/docs/api/functions/embed.md b/docs/api/functions/embed.md
index 8455816e987..82302647eba 100644
--- a/docs/api/functions/embed.md
+++ b/docs/api/functions/embed.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / embed
+[@ai16z/eliza v0.1.3](../index.md) / embed
 
 # Function: embed()
 
@@ -22,4 +22,4 @@ The embedding of the input.
 
 ## Defined in
 
-[packages/core/src/embedding.ts:88](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L88)
+[packages/core/src/embedding.ts:73](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L73)
diff --git a/docs/api/functions/findNearestEnvFile.md b/docs/api/functions/findNearestEnvFile.md
index 4d453763ce3..d5552beecb9 100644
--- a/docs/api/functions/findNearestEnvFile.md
+++ b/docs/api/functions/findNearestEnvFile.md
@@ -1,11 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / findNearestEnvFile
+[@ai16z/eliza v0.1.3](../index.md) / findNearestEnvFile
 
 # Function: findNearestEnvFile()
 
 > **findNearestEnvFile**(`startDir`?): `string`
 
 Recursively searches for a .env file starting from the current directory
-and moving up through parent directories
+and moving up through parent directories (Node.js only)
 
 ## Parameters
 
@@ -21,4 +21,4 @@ Path to the nearest .env file or null if not found
 
 ## Defined in
 
-[packages/core/src/settings.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L11)
+[packages/core/src/settings.ts:27](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L27)
diff --git a/docs/api/functions/formatActionNames.md b/docs/api/functions/formatActionNames.md
index b0394f395da..e1a21cc91eb 100644
--- a/docs/api/functions/formatActionNames.md
+++ b/docs/api/functions/formatActionNames.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActionNames
+[@ai16z/eliza v0.1.3](../index.md) / formatActionNames
 
 # Function: formatActionNames()
 
diff --git a/docs/api/functions/formatActions.md b/docs/api/functions/formatActions.md
index 60bb47ece40..0d88e97bda1 100644
--- a/docs/api/functions/formatActions.md
+++ b/docs/api/functions/formatActions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActions
+[@ai16z/eliza v0.1.3](../index.md) / formatActions
 
 # Function: formatActions()
 
diff --git a/docs/api/functions/formatActors.md b/docs/api/functions/formatActors.md
index 32e29229285..2f6a1c00ffc 100644
--- a/docs/api/functions/formatActors.md
+++ b/docs/api/functions/formatActors.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatActors
+[@ai16z/eliza v0.1.3](../index.md) / formatActors
 
 # Function: formatActors()
 
diff --git a/docs/api/functions/formatEvaluatorExampleDescriptions.md b/docs/api/functions/formatEvaluatorExampleDescriptions.md
index 8ef7c7d6280..57963220d10 100644
--- a/docs/api/functions/formatEvaluatorExampleDescriptions.md
+++ b/docs/api/functions/formatEvaluatorExampleDescriptions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorExampleDescriptions
+[@ai16z/eliza v0.1.3](../index.md) / formatEvaluatorExampleDescriptions
 
 # Function: formatEvaluatorExampleDescriptions()
 
diff --git a/docs/api/functions/formatEvaluatorExamples.md b/docs/api/functions/formatEvaluatorExamples.md
index 816e8b9ab26..20003df3df6 100644
--- a/docs/api/functions/formatEvaluatorExamples.md
+++ b/docs/api/functions/formatEvaluatorExamples.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorExamples
+[@ai16z/eliza v0.1.3](../index.md) / formatEvaluatorExamples
 
 # Function: formatEvaluatorExamples()
 
diff --git a/docs/api/functions/formatEvaluatorNames.md b/docs/api/functions/formatEvaluatorNames.md
index 7609ea9994c..27314144a9f 100644
--- a/docs/api/functions/formatEvaluatorNames.md
+++ b/docs/api/functions/formatEvaluatorNames.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluatorNames
+[@ai16z/eliza v0.1.3](../index.md) / formatEvaluatorNames
 
 # Function: formatEvaluatorNames()
 
diff --git a/docs/api/functions/formatEvaluators.md b/docs/api/functions/formatEvaluators.md
index 0dd2b15a6dc..bfc6d78cbfb 100644
--- a/docs/api/functions/formatEvaluators.md
+++ b/docs/api/functions/formatEvaluators.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatEvaluators
+[@ai16z/eliza v0.1.3](../index.md) / formatEvaluators
 
 # Function: formatEvaluators()
 
diff --git a/docs/api/functions/formatGoalsAsString.md b/docs/api/functions/formatGoalsAsString.md
index 6f35d9cc289..b285e36af75 100644
--- a/docs/api/functions/formatGoalsAsString.md
+++ b/docs/api/functions/formatGoalsAsString.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatGoalsAsString
+[@ai16z/eliza v0.1.3](../index.md) / formatGoalsAsString
 
 # Function: formatGoalsAsString()
 
diff --git a/docs/api/functions/formatMessages.md b/docs/api/functions/formatMessages.md
index b53a93a94c4..aafcfb14a14 100644
--- a/docs/api/functions/formatMessages.md
+++ b/docs/api/functions/formatMessages.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatMessages
+[@ai16z/eliza v0.1.3](../index.md) / formatMessages
 
 # Function: formatMessages()
 
diff --git a/docs/api/functions/formatPosts.md b/docs/api/functions/formatPosts.md
index 3a322be49c2..02685ef272b 100644
--- a/docs/api/functions/formatPosts.md
+++ b/docs/api/functions/formatPosts.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatPosts
+[@ai16z/eliza v0.1.3](../index.md) / formatPosts
 
 # Function: formatPosts()
 
diff --git a/docs/api/functions/formatRelationships.md b/docs/api/functions/formatRelationships.md
index d1bb9d16ece..290c550fec8 100644
--- a/docs/api/functions/formatRelationships.md
+++ b/docs/api/functions/formatRelationships.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatRelationships
+[@ai16z/eliza v0.1.3](../index.md) / formatRelationships
 
 # Function: formatRelationships()
 
diff --git a/docs/api/functions/formatTimestamp.md b/docs/api/functions/formatTimestamp.md
index 19793218c9a..7d3b761c1ac 100644
--- a/docs/api/functions/formatTimestamp.md
+++ b/docs/api/functions/formatTimestamp.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / formatTimestamp
+[@ai16z/eliza v0.1.3](../index.md) / formatTimestamp
 
 # Function: formatTimestamp()
 
diff --git a/docs/api/functions/generateCaption.md b/docs/api/functions/generateCaption.md
index 9a6dc733fd7..38e8ad7aa8b 100644
--- a/docs/api/functions/generateCaption.md
+++ b/docs/api/functions/generateCaption.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateCaption
+[@ai16z/eliza v0.1.3](../index.md) / generateCaption
 
 # Function: generateCaption()
 
@@ -26,4 +26,4 @@
 
 ## Defined in
 
-[packages/core/src/generation.ts:845](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L845)
+[packages/core/src/generation.ts:858](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L858)
diff --git a/docs/api/functions/generateImage.md b/docs/api/functions/generateImage.md
index bed897a2fd4..5ca6b31fc0a 100644
--- a/docs/api/functions/generateImage.md
+++ b/docs/api/functions/generateImage.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateImage
+[@ai16z/eliza v0.1.3](../index.md) / generateImage
 
 # Function: generateImage()
 
@@ -48,4 +48,4 @@
 
 ## Defined in
 
-[packages/core/src/generation.ts:719](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L719)
+[packages/core/src/generation.ts:730](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L730)
diff --git a/docs/api/functions/generateMessageResponse.md b/docs/api/functions/generateMessageResponse.md
index 3a04117964b..68604ca21c8 100644
--- a/docs/api/functions/generateMessageResponse.md
+++ b/docs/api/functions/generateMessageResponse.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateMessageResponse
+[@ai16z/eliza v0.1.3](../index.md) / generateMessageResponse
 
 # Function: generateMessageResponse()
 
@@ -28,4 +28,4 @@ The completed message.
 
 ## Defined in
 
-[packages/core/src/generation.ts:681](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L681)
+[packages/core/src/generation.ts:690](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L690)
diff --git a/docs/api/functions/generateObject.md b/docs/api/functions/generateObject.md
index ac2e71d1aaf..d5f14247dc8 100644
--- a/docs/api/functions/generateObject.md
+++ b/docs/api/functions/generateObject.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObject
+[@ai16z/eliza v0.1.3](../index.md) / generateObject
 
 # Function: generateObject()
 
@@ -20,4 +20,4 @@
 
 ## Defined in
 
-[packages/core/src/generation.ts:597](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L597)
+[packages/core/src/generation.ts:606](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L606)
diff --git a/docs/api/functions/generateObjectArray.md b/docs/api/functions/generateObjectArray.md
index c0fd43fc325..dc6e0b5858b 100644
--- a/docs/api/functions/generateObjectArray.md
+++ b/docs/api/functions/generateObjectArray.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObjectArray
+[@ai16z/eliza v0.1.3](../index.md) / generateObjectArray
 
 # Function: generateObjectArray()
 
@@ -20,4 +20,4 @@
 
 ## Defined in
 
-[packages/core/src/generation.ts:633](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L633)
+[packages/core/src/generation.ts:642](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L642)
diff --git a/docs/api/functions/generateObjectV2.md b/docs/api/functions/generateObjectV2.md
index 971e9a54b94..b44fca3a881 100644
--- a/docs/api/functions/generateObjectV2.md
+++ b/docs/api/functions/generateObjectV2.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateObjectV2
+[@ai16z/eliza v0.1.3](../index.md) / generateObjectV2
 
 # Function: generateObjectV2()
 
@@ -24,4 +24,4 @@ Configuration options for generating objects.
 
 ## Defined in
 
-[packages/core/src/generation.ts:897](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L897)
+[packages/core/src/generation.ts:914](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L914)
diff --git a/docs/api/functions/generateShouldRespond.md b/docs/api/functions/generateShouldRespond.md
index be73e0d603a..35e8cdb7632 100644
--- a/docs/api/functions/generateShouldRespond.md
+++ b/docs/api/functions/generateShouldRespond.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateShouldRespond
+[@ai16z/eliza v0.1.3](../index.md) / generateShouldRespond
 
 # Function: generateShouldRespond()
 
@@ -28,4 +28,4 @@ Promise resolving to "RESPOND", "IGNORE", "STOP" or null
 
 ## Defined in
 
-[packages/core/src/generation.ts:405](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L405)
+[packages/core/src/generation.ts:414](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L414)
diff --git a/docs/api/functions/generateText.md b/docs/api/functions/generateText.md
index 2b469758b4d..63db35836da 100644
--- a/docs/api/functions/generateText.md
+++ b/docs/api/functions/generateText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateText
+[@ai16z/eliza v0.1.3](../index.md) / generateText
 
 # Function: generateText()
 
diff --git a/docs/api/functions/generateTextArray.md b/docs/api/functions/generateTextArray.md
index 400b0929125..f3f0ac4349b 100644
--- a/docs/api/functions/generateTextArray.md
+++ b/docs/api/functions/generateTextArray.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateTextArray
+[@ai16z/eliza v0.1.3](../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:561](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L561)
+[packages/core/src/generation.ts:570](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L570)
diff --git a/docs/api/functions/generateTrueOrFalse.md b/docs/api/functions/generateTrueOrFalse.md
index e57c6e0624f..fe69303c038 100644
--- a/docs/api/functions/generateTrueOrFalse.md
+++ b/docs/api/functions/generateTrueOrFalse.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / generateTrueOrFalse
+[@ai16z/eliza v0.1.3](../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:505](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L505)
+[packages/core/src/generation.ts:514](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L514)
diff --git a/docs/api/functions/getActorDetails.md b/docs/api/functions/getActorDetails.md
index 70d418eea4d..2d8482acdaa 100644
--- a/docs/api/functions/getActorDetails.md
+++ b/docs/api/functions/getActorDetails.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getActorDetails
+[@ai16z/eliza v0.1.3](../index.md) / getActorDetails
 
 # Function: getActorDetails()
 
diff --git a/docs/api/functions/getEndpoint.md b/docs/api/functions/getEndpoint.md
index ae9c1c4b1b9..0286d8bf989 100644
--- a/docs/api/functions/getEndpoint.md
+++ b/docs/api/functions/getEndpoint.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getEndpoint
+[@ai16z/eliza v0.1.3](../index.md) / getEndpoint
 
 # Function: getEndpoint()
 
diff --git a/docs/api/functions/getEnvVariable.md b/docs/api/functions/getEnvVariable.md
new file mode 100644
index 00000000000..ad234562432
--- /dev/null
+++ b/docs/api/functions/getEnvVariable.md
@@ -0,0 +1,27 @@
+[@ai16z/eliza v0.1.3](../index.md) / getEnvVariable
+
+# Function: getEnvVariable()
+
+> **getEnvVariable**(`key`, `defaultValue`?): `string` \| `undefined`
+
+Gets a specific environment variable
+
+## Parameters
+
+• **key**: `string`
+
+The environment variable key
+
+• **defaultValue?**: `string`
+
+Optional default value if key doesn't exist
+
+## Returns
+
+`string` \| `undefined`
+
+The environment variable value or default value
+
+## Defined in
+
+[packages/core/src/settings.ts:87](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L87)
diff --git a/docs/api/functions/getGoals.md b/docs/api/functions/getGoals.md
index a392e39084c..ac534f38b60 100644
--- a/docs/api/functions/getGoals.md
+++ b/docs/api/functions/getGoals.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getGoals
+[@ai16z/eliza v0.1.3](../index.md) / getGoals
 
 # Function: getGoals()
 
diff --git a/docs/api/functions/getModel.md b/docs/api/functions/getModel.md
index 112c12626f1..518fd227bcb 100644
--- a/docs/api/functions/getModel.md
+++ b/docs/api/functions/getModel.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getModel
+[@ai16z/eliza v0.1.3](../index.md) / getModel
 
 # Function: getModel()
 
diff --git a/docs/api/functions/getProviders.md b/docs/api/functions/getProviders.md
index ad7ac647d25..601e51726ae 100644
--- a/docs/api/functions/getProviders.md
+++ b/docs/api/functions/getProviders.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getProviders
+[@ai16z/eliza v0.1.3](../index.md) / getProviders
 
 # Function: getProviders()
 
diff --git a/docs/api/functions/getRelationship.md b/docs/api/functions/getRelationship.md
index 26ce57e86f4..95c5c61e861 100644
--- a/docs/api/functions/getRelationship.md
+++ b/docs/api/functions/getRelationship.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getRelationship
+[@ai16z/eliza v0.1.3](../index.md) / getRelationship
 
 # Function: getRelationship()
 
diff --git a/docs/api/functions/getRelationships.md b/docs/api/functions/getRelationships.md
index 8bdccb4c1b1..78e623081ee 100644
--- a/docs/api/functions/getRelationships.md
+++ b/docs/api/functions/getRelationships.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / getRelationships
+[@ai16z/eliza v0.1.3](../index.md) / getRelationships
 
 # Function: getRelationships()
 
diff --git a/docs/api/functions/handleProvider.md b/docs/api/functions/handleProvider.md
index 8cd392d307c..a818b7cc940 100644
--- a/docs/api/functions/handleProvider.md
+++ b/docs/api/functions/handleProvider.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / handleProvider
+[@ai16z/eliza v0.1.3](../index.md) / handleProvider
 
 # Function: handleProvider()
 
@@ -20,4 +20,4 @@ Configuration options specific to the provider.
 
 ## Defined in
 
-[packages/core/src/generation.ts:979](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L979)
+[packages/core/src/generation.ts:996](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L996)
diff --git a/docs/api/functions/hasEnvVariable.md b/docs/api/functions/hasEnvVariable.md
new file mode 100644
index 00000000000..4880d787076
--- /dev/null
+++ b/docs/api/functions/hasEnvVariable.md
@@ -0,0 +1,23 @@
+[@ai16z/eliza v0.1.3](../index.md) / hasEnvVariable
+
+# Function: hasEnvVariable()
+
+> **hasEnvVariable**(`key`): `boolean`
+
+Checks if a specific environment variable exists
+
+## Parameters
+
+• **key**: `string`
+
+The environment variable key
+
+## Returns
+
+`boolean`
+
+True if the environment variable exists
+
+## Defined in
+
+[packages/core/src/settings.ts:102](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L102)
diff --git a/docs/api/functions/loadEnvConfig.md b/docs/api/functions/loadEnvConfig.md
index 7cdd591ff4f..a65e3136df9 100644
--- a/docs/api/functions/loadEnvConfig.md
+++ b/docs/api/functions/loadEnvConfig.md
@@ -1,21 +1,22 @@
-[@ai16z/eliza v1.0.0](../index.md) / loadEnvConfig
+[@ai16z/eliza v0.1.3](../index.md) / loadEnvConfig
 
 # Function: loadEnvConfig()
 
-> **loadEnvConfig**(): `ProcessEnv`
+> **loadEnvConfig**(): `Settings`
 
-Loads environment variables from the nearest .env file
+Loads environment variables from the nearest .env file in Node.js
+or returns configured settings in browser
 
 ## Returns
 
-`ProcessEnv`
+`Settings`
 
 Environment variables object
 
 ## Throws
 
-If no .env file is found
+If no .env file is found in Node.js environment
 
 ## Defined in
 
-[packages/core/src/settings.ts:36](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L36)
+[packages/core/src/settings.ts:63](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L63)
diff --git a/docs/api/functions/parseBooleanFromText.md b/docs/api/functions/parseBooleanFromText.md
index b3f2e6b54a5..f7782c40f0b 100644
--- a/docs/api/functions/parseBooleanFromText.md
+++ b/docs/api/functions/parseBooleanFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseBooleanFromText
+[@ai16z/eliza v0.1.3](../index.md) / parseBooleanFromText
 
 # Function: parseBooleanFromText()
 
diff --git a/docs/api/functions/parseJSONObjectFromText.md b/docs/api/functions/parseJSONObjectFromText.md
index 66a28364b39..8c7a7120229 100644
--- a/docs/api/functions/parseJSONObjectFromText.md
+++ b/docs/api/functions/parseJSONObjectFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseJSONObjectFromText
+[@ai16z/eliza v0.1.3](../index.md) / parseJSONObjectFromText
 
 # Function: parseJSONObjectFromText()
 
@@ -24,4 +24,4 @@ An object parsed from the JSON string if successful; otherwise, null or the resu
 
 ## Defined in
 
-[packages/core/src/parsing.ts:101](https://github.com/ai16z/eliza/blob/main/packages/core/src/parsing.ts#L101)
+[packages/core/src/parsing.ts:103](https://github.com/ai16z/eliza/blob/main/packages/core/src/parsing.ts#L103)
diff --git a/docs/api/functions/parseJsonArrayFromText.md b/docs/api/functions/parseJsonArrayFromText.md
index e3c69619944..2c786ff9b3b 100644
--- a/docs/api/functions/parseJsonArrayFromText.md
+++ b/docs/api/functions/parseJsonArrayFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseJsonArrayFromText
+[@ai16z/eliza v0.1.3](../index.md) / parseJsonArrayFromText
 
 # Function: parseJsonArrayFromText()
 
diff --git a/docs/api/functions/parseShouldRespondFromText.md b/docs/api/functions/parseShouldRespondFromText.md
index be1005f4432..9d726595fb4 100644
--- a/docs/api/functions/parseShouldRespondFromText.md
+++ b/docs/api/functions/parseShouldRespondFromText.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / parseShouldRespondFromText
+[@ai16z/eliza v0.1.3](../index.md) / parseShouldRespondFromText
 
 # Function: parseShouldRespondFromText()
 
diff --git a/docs/api/functions/retrieveCachedEmbedding.md b/docs/api/functions/retrieveCachedEmbedding.md
index b03afaabfce..285441bbd1f 100644
--- a/docs/api/functions/retrieveCachedEmbedding.md
+++ b/docs/api/functions/retrieveCachedEmbedding.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / retrieveCachedEmbedding
+[@ai16z/eliza v0.1.3](../index.md) / retrieveCachedEmbedding
 
 # Function: retrieveCachedEmbedding()
 
@@ -16,4 +16,4 @@
 
 ## Defined in
 
-[packages/core/src/embedding.ts:146](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L146)
+[packages/core/src/embedding.ts:168](https://github.com/ai16z/eliza/blob/main/packages/core/src/embedding.ts#L168)
diff --git a/docs/api/functions/splitChunks.md b/docs/api/functions/splitChunks.md
index 03523cba5a4..e10512dae2a 100644
--- a/docs/api/functions/splitChunks.md
+++ b/docs/api/functions/splitChunks.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / splitChunks
+[@ai16z/eliza v0.1.3](../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:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L461)
+[packages/core/src/generation.ts:470](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L470)
diff --git a/docs/api/functions/stringToUuid.md b/docs/api/functions/stringToUuid.md
index b457d6ea8af..0e4a063a2ec 100644
--- a/docs/api/functions/stringToUuid.md
+++ b/docs/api/functions/stringToUuid.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / stringToUuid
+[@ai16z/eliza v0.1.3](../index.md) / stringToUuid
 
 # Function: stringToUuid()
 
diff --git a/docs/api/functions/trimTokens.md b/docs/api/functions/trimTokens.md
index 395d2adf889..9c4461df19e 100644
--- a/docs/api/functions/trimTokens.md
+++ b/docs/api/functions/trimTokens.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / trimTokens
+[@ai16z/eliza v0.1.3](../index.md) / trimTokens
 
 # Function: trimTokens()
 
@@ -24,4 +24,4 @@ The model to use for generateText.
 
 ## Defined in
 
-[packages/core/src/generation.ts:379](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L379)
+[packages/core/src/generation.ts:388](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L388)
diff --git a/docs/api/functions/updateGoal.md b/docs/api/functions/updateGoal.md
index 42659f185e1..4c8555bfe4f 100644
--- a/docs/api/functions/updateGoal.md
+++ b/docs/api/functions/updateGoal.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / updateGoal
+[@ai16z/eliza v0.1.3](../index.md) / updateGoal
 
 # Function: updateGoal()
 
diff --git a/docs/api/functions/validateCharacterConfig.md b/docs/api/functions/validateCharacterConfig.md
new file mode 100644
index 00000000000..8a6cdfd1c39
--- /dev/null
+++ b/docs/api/functions/validateCharacterConfig.md
@@ -0,0 +1,19 @@
+[@ai16z/eliza v0.1.3](../index.md) / validateCharacterConfig
+
+# Function: validateCharacterConfig()
+
+> **validateCharacterConfig**(`json`): [`CharacterConfig`](../type-aliases/CharacterConfig.md)
+
+Validation function
+
+## Parameters
+
+• **json**: `unknown`
+
+## Returns
+
+[`CharacterConfig`](../type-aliases/CharacterConfig.md)
+
+## Defined in
+
+[packages/core/src/enviroment.ts:131](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L131)
diff --git a/docs/api/functions/validateEnv.md b/docs/api/functions/validateEnv.md
new file mode 100644
index 00000000000..7e8850cf098
--- /dev/null
+++ b/docs/api/functions/validateEnv.md
@@ -0,0 +1,15 @@
+[@ai16z/eliza v0.1.3](../index.md) / validateEnv
+
+# Function: validateEnv()
+
+> **validateEnv**(): [`EnvConfig`](../type-aliases/EnvConfig.md)
+
+Validation function
+
+## Returns
+
+[`EnvConfig`](../type-aliases/EnvConfig.md)
+
+## Defined in
+
+[packages/core/src/enviroment.ts:26](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L26)
diff --git a/docs/api/index.md b/docs/api/index.md
index 8d3d1253c0e..e508615c91e 100644
--- a/docs/api/index.md
+++ b/docs/api/index.md
@@ -1,4 +1,4 @@
-# @ai16z/eliza v1.0.0
+# @ai16z/eliza v0.1.3
 
 ## Enumerations
 
@@ -7,9 +7,14 @@
 - [ModelProviderName](enumerations/ModelProviderName.md)
 - [Clients](enumerations/Clients.md)
 - [ServiceType](enumerations/ServiceType.md)
+- [LoggingLevel](enumerations/LoggingLevel.md)
 
 ## Classes
 
+- [MemoryCacheAdapter](classes/MemoryCacheAdapter.md)
+- [FsCacheAdapter](classes/FsCacheAdapter.md)
+- [DbCacheAdapter](classes/DbCacheAdapter.md)
+- [CacheManager](classes/CacheManager.md)
 - [DatabaseAdapter](classes/DatabaseAdapter.md)
 - [MemoryManager](classes/MemoryManager.md)
 - [AgentRuntime](classes/AgentRuntime.md)
@@ -17,6 +22,7 @@
 
 ## Interfaces
 
+- [ICacheAdapter](interfaces/ICacheAdapter.md)
 - [GenerationOptions](interfaces/GenerationOptions.md)
 - [Content](interfaces/Content.md)
 - [ActionExample](interfaces/ActionExample.md)
@@ -36,7 +42,9 @@
 - [Participant](interfaces/Participant.md)
 - [Room](interfaces/Room.md)
 - [IDatabaseAdapter](interfaces/IDatabaseAdapter.md)
+- [IDatabaseCacheAdapter](interfaces/IDatabaseCacheAdapter.md)
 - [IMemoryManager](interfaces/IMemoryManager.md)
+- [ICacheManager](interfaces/ICacheManager.md)
 - [IAgentRuntime](interfaces/IAgentRuntime.md)
 - [IImageDescriptionService](interfaces/IImageDescriptionService.md)
 - [ITranscriptionService](interfaces/ITranscriptionService.md)
@@ -48,6 +56,8 @@
 
 ## Type Aliases
 
+- [EnvConfig](type-aliases/EnvConfig.md)
+- [CharacterConfig](type-aliases/CharacterConfig.md)
 - [UUID](type-aliases/UUID.md)
 - [Model](type-aliases/Model.md)
 - [Models](type-aliases/Models.md)
@@ -58,10 +68,13 @@
 - [Client](type-aliases/Client.md)
 - [Plugin](type-aliases/Plugin.md)
 - [Character](type-aliases/Character.md)
+- [CacheOptions](type-aliases/CacheOptions.md)
 
 ## Variables
 
 - [defaultCharacter](variables/defaultCharacter.md)
+- [envSchema](variables/envSchema.md)
+- [CharacterSchema](variables/CharacterSchema.md)
 - [evaluationTemplate](variables/evaluationTemplate.md)
 - [elizaLogger](variables/elizaLogger.md)
 - [embeddingDimension](variables/embeddingDimension.md)
@@ -82,6 +95,8 @@
 - [addHeader](functions/addHeader.md)
 - [embed](functions/embed.md)
 - [retrieveCachedEmbedding](functions/retrieveCachedEmbedding.md)
+- [validateEnv](functions/validateEnv.md)
+- [validateCharacterConfig](functions/validateCharacterConfig.md)
 - [formatEvaluatorNames](functions/formatEvaluatorNames.md)
 - [formatEvaluators](functions/formatEvaluators.md)
 - [formatEvaluatorExamples](functions/formatEvaluatorExamples.md)
@@ -120,5 +135,8 @@
 - [getRelationships](functions/getRelationships.md)
 - [formatRelationships](functions/formatRelationships.md)
 - [findNearestEnvFile](functions/findNearestEnvFile.md)
+- [configureSettings](functions/configureSettings.md)
 - [loadEnvConfig](functions/loadEnvConfig.md)
+- [getEnvVariable](functions/getEnvVariable.md)
+- [hasEnvVariable](functions/hasEnvVariable.md)
 - [stringToUuid](functions/stringToUuid.md)
diff --git a/docs/api/interfaces/Account.md b/docs/api/interfaces/Account.md
index b28d0af497d..5676c398b36 100644
--- a/docs/api/interfaces/Account.md
+++ b/docs/api/interfaces/Account.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Account
+[@ai16z/eliza v0.1.3](../index.md) / Account
 
 # Interface: Account
 
@@ -12,9 +12,9 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Defined in
 
-[packages/core/src/types.ts:275](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L275)
+[packages/core/src/types.ts:276](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L276)
 
----
+***
 
 ### name
 
@@ -22,9 +22,9 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Defined in
 
-[packages/core/src/types.ts:276](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L276)
+[packages/core/src/types.ts:277](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L277)
 
----
+***
 
 ### username
 
@@ -32,9 +32,9 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Defined in
 
-[packages/core/src/types.ts:277](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L277)
+[packages/core/src/types.ts:278](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L278)
 
----
+***
 
 ### details?
 
@@ -42,13 +42,13 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Index Signature
 
-\[`key`: `string`\]: `any`
+ \[`key`: `string`\]: `any`
 
 #### Defined in
 
-[packages/core/src/types.ts:278](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L278)
+[packages/core/src/types.ts:279](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L279)
 
----
+***
 
 ### email?
 
@@ -56,9 +56,9 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Defined in
 
-[packages/core/src/types.ts:279](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L279)
+[packages/core/src/types.ts:280](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L280)
 
----
+***
 
 ### avatarUrl?
 
@@ -66,4 +66,4 @@ Represents a user, including their name, details, and a unique identifier.
 
 #### Defined in
 
-[packages/core/src/types.ts:280](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L280)
+[packages/core/src/types.ts:281](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L281)
diff --git a/docs/api/interfaces/Action.md b/docs/api/interfaces/Action.md
index f60a0f9bddf..9c04395703b 100644
--- a/docs/api/interfaces/Action.md
+++ b/docs/api/interfaces/Action.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Action
+[@ai16z/eliza v0.1.3](../index.md) / Action
 
 # Interface: Action
 
@@ -12,9 +12,9 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:217](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L217)
+[packages/core/src/types.ts:218](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L218)
 
----
+***
 
 ### description
 
@@ -22,9 +22,9 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:218](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L218)
+[packages/core/src/types.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L219)
 
----
+***
 
 ### examples
 
@@ -32,9 +32,9 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:219](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L219)
+[packages/core/src/types.ts:220](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L220)
 
----
+***
 
 ### handler
 
@@ -42,9 +42,9 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:220](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L220)
+[packages/core/src/types.ts:221](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L221)
 
----
+***
 
 ### name
 
@@ -52,9 +52,9 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:221](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L221)
+[packages/core/src/types.ts:222](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L222)
 
----
+***
 
 ### validate
 
@@ -62,4 +62,4 @@ Represents an action that the agent can perform, including conditions for its us
 
 #### Defined in
 
-[packages/core/src/types.ts:222](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L222)
+[packages/core/src/types.ts:223](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L223)
diff --git a/docs/api/interfaces/ActionExample.md b/docs/api/interfaces/ActionExample.md
index c17ef42017f..efe9fc8b069 100644
--- a/docs/api/interfaces/ActionExample.md
+++ b/docs/api/interfaces/ActionExample.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ActionExample
+[@ai16z/eliza v0.1.3](../index.md) / ActionExample
 
 # Interface: ActionExample
 
@@ -14,7 +14,7 @@ Represents an example of content, typically used for demonstrating or testing pu
 
 [packages/core/src/types.ts:25](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L25)
 
----
+***
 
 ### content
 
diff --git a/docs/api/interfaces/Actor.md b/docs/api/interfaces/Actor.md
index 0e613ce860c..fd721ef74bf 100644
--- a/docs/api/interfaces/Actor.md
+++ b/docs/api/interfaces/Actor.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Actor
+[@ai16z/eliza v0.1.3](../index.md) / Actor
 
 # Interface: Actor
 
@@ -14,7 +14,7 @@ Represents an actor in the conversation, which could be a user or the agent itse
 
 [packages/core/src/types.ts:41](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L41)
 
----
+***
 
 ### username
 
@@ -24,7 +24,7 @@ Represents an actor in the conversation, which could be a user or the agent itse
 
 [packages/core/src/types.ts:42](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L42)
 
----
+***
 
 ### details
 
@@ -46,7 +46,7 @@ Represents an actor in the conversation, which could be a user or the agent itse
 
 [packages/core/src/types.ts:43](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L43)
 
----
+***
 
 ### id
 
diff --git a/docs/api/interfaces/Content.md b/docs/api/interfaces/Content.md
index fbdbbdc6491..ebfe580e37e 100644
--- a/docs/api/interfaces/Content.md
+++ b/docs/api/interfaces/Content.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Content
+[@ai16z/eliza v0.1.3](../index.md) / Content
 
 # Interface: Content
 
@@ -6,7 +6,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 ## Indexable
 
-\[`key`: `string`\]: `unknown`
+ \[`key`: `string`\]: `unknown`
 
 ## Properties
 
@@ -18,7 +18,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 [packages/core/src/types.ts:12](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L12)
 
----
+***
 
 ### action?
 
@@ -28,7 +28,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 [packages/core/src/types.ts:13](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L13)
 
----
+***
 
 ### source?
 
@@ -38,7 +38,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 [packages/core/src/types.ts:14](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L14)
 
----
+***
 
 ### url?
 
@@ -48,7 +48,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 [packages/core/src/types.ts:15](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L15)
 
----
+***
 
 ### inReplyTo?
 
@@ -58,7 +58,7 @@ Represents the content of a message, including its main text (`content`), any as
 
 [packages/core/src/types.ts:16](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L16)
 
----
+***
 
 ### attachments?
 
diff --git a/docs/api/interfaces/ConversationExample.md b/docs/api/interfaces/ConversationExample.md
index 28f7f975a5d..ce6a071f566 100644
--- a/docs/api/interfaces/ConversationExample.md
+++ b/docs/api/interfaces/ConversationExample.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ConversationExample
+[@ai16z/eliza v0.1.3](../index.md) / ConversationExample
 
 # Interface: ConversationExample
 
@@ -14,7 +14,7 @@ Represents an example of content, typically used for demonstrating or testing pu
 
 [packages/core/src/types.ts:33](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L33)
 
----
+***
 
 ### content
 
diff --git a/docs/api/interfaces/EvaluationExample.md b/docs/api/interfaces/EvaluationExample.md
index c1dab7cea23..55b58550e4a 100644
--- a/docs/api/interfaces/EvaluationExample.md
+++ b/docs/api/interfaces/EvaluationExample.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / EvaluationExample
+[@ai16z/eliza v0.1.3](../index.md) / EvaluationExample
 
 # Interface: EvaluationExample
 
@@ -12,9 +12,9 @@ Represents an example for evaluation, including the context, an array of message
 
 #### Defined in
 
-[packages/core/src/types.ts:229](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L229)
+[packages/core/src/types.ts:230](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L230)
 
----
+***
 
 ### messages
 
@@ -22,9 +22,9 @@ Represents an example for evaluation, including the context, an array of message
 
 #### Defined in
 
-[packages/core/src/types.ts:230](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L230)
+[packages/core/src/types.ts:231](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L231)
 
----
+***
 
 ### outcome
 
@@ -32,4 +32,4 @@ Represents an example for evaluation, including the context, an array of message
 
 #### Defined in
 
-[packages/core/src/types.ts:231](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L231)
+[packages/core/src/types.ts:232](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L232)
diff --git a/docs/api/interfaces/Evaluator.md b/docs/api/interfaces/Evaluator.md
index dcb4daae488..bf4d081f402 100644
--- a/docs/api/interfaces/Evaluator.md
+++ b/docs/api/interfaces/Evaluator.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Evaluator
+[@ai16z/eliza v0.1.3](../index.md) / Evaluator
 
 # Interface: Evaluator
 
@@ -12,9 +12,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:238](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L238)
+[packages/core/src/types.ts:239](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L239)
 
----
+***
 
 ### description
 
@@ -22,9 +22,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:239](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L239)
+[packages/core/src/types.ts:240](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L240)
 
----
+***
 
 ### similes
 
@@ -32,9 +32,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:240](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L240)
+[packages/core/src/types.ts:241](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L241)
 
----
+***
 
 ### examples
 
@@ -42,9 +42,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:241](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L241)
+[packages/core/src/types.ts:242](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L242)
 
----
+***
 
 ### handler
 
@@ -52,9 +52,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:242](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L242)
+[packages/core/src/types.ts:243](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L243)
 
----
+***
 
 ### name
 
@@ -62,9 +62,9 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:243](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L243)
+[packages/core/src/types.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L244)
 
----
+***
 
 ### validate
 
@@ -72,4 +72,4 @@ Represents an evaluator, which is used to assess and guide the agent's responses
 
 #### Defined in
 
-[packages/core/src/types.ts:244](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L244)
+[packages/core/src/types.ts:245](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L245)
diff --git a/docs/api/interfaces/GenerationOptions.md b/docs/api/interfaces/GenerationOptions.md
index 5e76feb36e6..b4eccbbb55d 100644
--- a/docs/api/interfaces/GenerationOptions.md
+++ b/docs/api/interfaces/GenerationOptions.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / GenerationOptions
+[@ai16z/eliza v0.1.3](../index.md) / GenerationOptions
 
 # Interface: GenerationOptions
 
@@ -12,9 +12,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:867](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L867)
+[packages/core/src/generation.ts:884](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L884)
 
----
+***
 
 ### context
 
@@ -22,9 +22,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:868](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L868)
+[packages/core/src/generation.ts:885](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L885)
 
----
+***
 
 ### modelClass
 
@@ -32,9 +32,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:869](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L869)
+[packages/core/src/generation.ts:886](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L886)
 
----
+***
 
 ### schema?
 
@@ -42,9 +42,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:870](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L870)
+[packages/core/src/generation.ts:887](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L887)
 
----
+***
 
 ### schemaName?
 
@@ -52,9 +52,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:871](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L871)
+[packages/core/src/generation.ts:888](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L888)
 
----
+***
 
 ### schemaDescription?
 
@@ -62,9 +62,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:872](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L872)
+[packages/core/src/generation.ts:889](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L889)
 
----
+***
 
 ### stop?
 
@@ -72,9 +72,9 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:873](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L873)
+[packages/core/src/generation.ts:890](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L890)
 
----
+***
 
 ### mode?
 
@@ -82,14 +82,14 @@ Configuration options for generating objects with a model.
 
 #### Defined in
 
-[packages/core/src/generation.ts:874](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L874)
+[packages/core/src/generation.ts:891](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L891)
 
----
+***
 
-### experimental_providerMetadata?
+### experimental\_providerMetadata?
 
-> `optional` **experimental_providerMetadata**: `Record`\<`string`, `unknown`\>
+> `optional` **experimental\_providerMetadata**: `Record`\<`string`, `unknown`\>
 
 #### Defined in
 
-[packages/core/src/generation.ts:875](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L875)
+[packages/core/src/generation.ts:892](https://github.com/ai16z/eliza/blob/main/packages/core/src/generation.ts#L892)
diff --git a/docs/api/interfaces/Goal.md b/docs/api/interfaces/Goal.md
index 41456943b3c..b2cbb25ac11 100644
--- a/docs/api/interfaces/Goal.md
+++ b/docs/api/interfaces/Goal.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Goal
+[@ai16z/eliza v0.1.3](../index.md) / Goal
 
 # Interface: Goal
 
@@ -14,7 +14,7 @@ Represents a goal, which is a higher-level aim composed of one or more objective
 
 [packages/core/src/types.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L66)
 
----
+***
 
 ### roomId
 
@@ -24,7 +24,7 @@ Represents a goal, which is a higher-level aim composed of one or more objective
 
 [packages/core/src/types.ts:67](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L67)
 
----
+***
 
 ### userId
 
@@ -34,7 +34,7 @@ Represents a goal, which is a higher-level aim composed of one or more objective
 
 [packages/core/src/types.ts:68](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L68)
 
----
+***
 
 ### name
 
@@ -44,7 +44,7 @@ Represents a goal, which is a higher-level aim composed of one or more objective
 
 [packages/core/src/types.ts:69](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L69)
 
----
+***
 
 ### status
 
@@ -54,7 +54,7 @@ Represents a goal, which is a higher-level aim composed of one or more objective
 
 [packages/core/src/types.ts:70](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L70)
 
----
+***
 
 ### objectives
 
diff --git a/docs/api/interfaces/IAgentRuntime.md b/docs/api/interfaces/IAgentRuntime.md
index 40d442301fe..1abd4f28fc3 100644
--- a/docs/api/interfaces/IAgentRuntime.md
+++ b/docs/api/interfaces/IAgentRuntime.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IAgentRuntime
+[@ai16z/eliza v0.1.3](../index.md) / IAgentRuntime
 
 # Interface: IAgentRuntime
 
@@ -12,9 +12,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:532](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L532)
+[packages/core/src/types.ts:590](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L590)
 
----
+***
 
 ### serverUrl
 
@@ -22,9 +22,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:533](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L533)
+[packages/core/src/types.ts:591](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L591)
 
----
+***
 
 ### databaseAdapter
 
@@ -32,9 +32,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:534](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L534)
+[packages/core/src/types.ts:592](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L592)
 
----
+***
 
 ### token
 
@@ -42,9 +42,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:535](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L535)
+[packages/core/src/types.ts:593](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L593)
 
----
+***
 
 ### modelProvider
 
@@ -52,9 +52,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:536](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L536)
+[packages/core/src/types.ts:594](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L594)
 
----
+***
 
 ### character
 
@@ -62,9 +62,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:537](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L537)
+[packages/core/src/types.ts:595](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L595)
 
----
+***
 
 ### providers
 
@@ -72,9 +72,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:538](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L538)
+[packages/core/src/types.ts:596](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L596)
 
----
+***
 
 ### actions
 
@@ -82,9 +82,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:539](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L539)
+[packages/core/src/types.ts:597](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L597)
 
----
+***
 
 ### evaluators
 
@@ -92,9 +92,19 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:540](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L540)
+[packages/core/src/types.ts:598](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L598)
+
+***
+
+### plugins
+
+> **plugins**: [`Plugin`](../type-aliases/Plugin.md)[]
+
+#### Defined in
+
+[packages/core/src/types.ts:599](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L599)
 
----
+***
 
 ### messageManager
 
@@ -102,9 +112,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:542](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L542)
+[packages/core/src/types.ts:601](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L601)
 
----
+***
 
 ### descriptionManager
 
@@ -112,9 +122,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:543](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L543)
+[packages/core/src/types.ts:602](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L602)
 
----
+***
 
 ### loreManager
 
@@ -122,9 +132,19 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:544](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L544)
+[packages/core/src/types.ts:603](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L603)
+
+***
+
+### cacheManager
+
+> **cacheManager**: [`ICacheManager`](ICacheManager.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:604](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L604)
 
----
+***
 
 ### services
 
@@ -132,10 +152,24 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:546](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L546)
+[packages/core/src/types.ts:606](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L606)
 
 ## Methods
 
+### initialize()
+
+> **initialize**(): `Promise`\<`void`\>
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:608](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L608)
+
+***
+
 ### registerMemoryManager()
 
 > **registerMemoryManager**(`manager`): `void`
@@ -150,9 +184,9 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:547](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L547)
+[packages/core/src/types.ts:610](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L610)
 
----
+***
 
 ### getMemoryManager()
 
@@ -168,27 +202,31 @@ Properties
 
 #### Defined in
 
-[packages/core/src/types.ts:549](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L549)
+[packages/core/src/types.ts:612](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L612)
 
----
+***
 
 ### getService()
 
-> **getService**(`service`): _typeof_ [`Service`](../classes/Service.md)
+> **getService**\<`T`\>(`service`): `T`
+
+#### Type Parameters
+
+• **T** *extends* [`Service`](../classes/Service.md)
 
 #### Parameters
 
-• **service**: `string`
+• **service**: [`ServiceType`](../enumerations/ServiceType.md)
 
 #### Returns
 
-_typeof_ [`Service`](../classes/Service.md)
+`T`
 
 #### Defined in
 
-[packages/core/src/types.ts:551](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L551)
+[packages/core/src/types.ts:614](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L614)
 
----
+***
 
 ### registerService()
 
@@ -204,9 +242,9 @@ _typeof_ [`Service`](../classes/Service.md)
 
 #### Defined in
 
-[packages/core/src/types.ts:553](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L553)
+[packages/core/src/types.ts:616](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L616)
 
----
+***
 
 ### getSetting()
 
@@ -222,9 +260,9 @@ _typeof_ [`Service`](../classes/Service.md)
 
 #### Defined in
 
-[packages/core/src/types.ts:555](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L555)
+[packages/core/src/types.ts:618](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L618)
 
----
+***
 
 ### getConversationLength()
 
@@ -238,9 +276,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:558](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L558)
+[packages/core/src/types.ts:621](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L621)
 
----
+***
 
 ### processActions()
 
@@ -262,9 +300,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:559](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L559)
+[packages/core/src/types.ts:622](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L622)
 
----
+***
 
 ### evaluate()
 
@@ -284,9 +322,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:565](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L565)
+[packages/core/src/types.ts:628](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L628)
 
----
+***
 
 ### ensureParticipantExists()
 
@@ -304,9 +342,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:570](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L570)
+[packages/core/src/types.ts:633](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L633)
 
----
+***
 
 ### ensureUserExists()
 
@@ -328,9 +366,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:571](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L571)
+[packages/core/src/types.ts:634](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L634)
 
----
+***
 
 ### registerAction()
 
@@ -346,9 +384,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:577](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L577)
+[packages/core/src/types.ts:640](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L640)
 
----
+***
 
 ### ensureConnection()
 
@@ -372,9 +410,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:578](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L578)
+[packages/core/src/types.ts:641](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L641)
 
----
+***
 
 ### ensureParticipantInRoom()
 
@@ -392,9 +430,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+[packages/core/src/types.ts:648](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L648)
 
----
+***
 
 ### ensureRoomExists()
 
@@ -410,9 +448,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:586](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L586)
+[packages/core/src/types.ts:649](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L649)
 
----
+***
 
 ### composeState()
 
@@ -430,9 +468,9 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:587](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L587)
+[packages/core/src/types.ts:650](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L650)
 
----
+***
 
 ### updateRecentMessageState()
 
@@ -448,4 +486,4 @@ Methods
 
 #### Defined in
 
-[packages/core/src/types.ts:591](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L591)
+[packages/core/src/types.ts:654](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L654)
diff --git a/docs/api/interfaces/IBrowserService.md b/docs/api/interfaces/IBrowserService.md
index 1960e7f069a..f7525a4fd9f 100644
--- a/docs/api/interfaces/IBrowserService.md
+++ b/docs/api/interfaces/IBrowserService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IBrowserService
+[@ai16z/eliza v0.1.3](../index.md) / IBrowserService
 
 # Interface: IBrowserService
 
@@ -6,21 +6,65 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
 ### initialize()
 
-> **initialize**(): `Promise`\<`void`\>
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
 
 #### Returns
 
 `Promise`\<`void`\>
 
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`IBrowserService`](IBrowserService.md)
+
+#### Returns
+
+[`IBrowserService`](IBrowserService.md)
+
 #### Defined in
 
-[packages/core/src/types.ts:641](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L641)
+[packages/core/src/types.ts:705](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L705)
 
----
+***
 
 ### closeBrowser()
 
@@ -32,9 +76,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:642](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L642)
+[packages/core/src/types.ts:706](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L706)
 
----
+***
 
 ### getPageContent()
 
@@ -64,4 +108,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:643](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L643)
+[packages/core/src/types.ts:707](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L707)
diff --git a/docs/api/interfaces/ICacheAdapter.md b/docs/api/interfaces/ICacheAdapter.md
new file mode 100644
index 00000000000..d38ca721b45
--- /dev/null
+++ b/docs/api/interfaces/ICacheAdapter.md
@@ -0,0 +1,59 @@
+[@ai16z/eliza v0.1.3](../index.md) / ICacheAdapter
+
+# Interface: ICacheAdapter
+
+## Methods
+
+### get()
+
+> **get**(`key`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L11)
+
+***
+
+### set()
+
+> **set**(`key`, `value`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:12](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L12)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/cache.ts:13](https://github.com/ai16z/eliza/blob/main/packages/core/src/cache.ts#L13)
diff --git a/docs/api/interfaces/ICacheManager.md b/docs/api/interfaces/ICacheManager.md
new file mode 100644
index 00000000000..f1ea1917f1d
--- /dev/null
+++ b/docs/api/interfaces/ICacheManager.md
@@ -0,0 +1,69 @@
+[@ai16z/eliza v0.1.3](../index.md) / ICacheManager
+
+# Interface: ICacheManager
+
+## Methods
+
+### get()
+
+> **get**\<`T`\>(`key`): `Promise`\<`T`\>
+
+#### Type Parameters
+
+• **T** = `unknown`
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`T`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:561](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L561)
+
+***
+
+### set()
+
+> **set**\<`T`\>(`key`, `value`, `options`?): `Promise`\<`void`\>
+
+#### Type Parameters
+
+• **T**
+
+#### Parameters
+
+• **key**: `string`
+
+• **value**: `T`
+
+• **options?**: [`CacheOptions`](../type-aliases/CacheOptions.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:562](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L562)
+
+***
+
+### delete()
+
+> **delete**(`key`): `Promise`\<`void`\>
+
+#### Parameters
+
+• **key**: `string`
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:563](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L563)
diff --git a/docs/api/interfaces/IDatabaseAdapter.md b/docs/api/interfaces/IDatabaseAdapter.md
index 110080ba08f..73e92b65a8e 100644
--- a/docs/api/interfaces/IDatabaseAdapter.md
+++ b/docs/api/interfaces/IDatabaseAdapter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IDatabaseAdapter
+[@ai16z/eliza v0.1.3](../index.md) / IDatabaseAdapter
 
 # Interface: IDatabaseAdapter
 
@@ -10,10 +10,24 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:375](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L375)
+[packages/core/src/types.ts:399](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L399)
 
 ## Methods
 
+### init()?
+
+> `optional` **init**(): `Promise`\<`void`\>
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:400](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L400)
+
+***
+
 ### getAccountById()
 
 > **getAccountById**(`userId`): `Promise`\<[`Account`](Account.md)\>
@@ -28,9 +42,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:376](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L376)
+[packages/core/src/types.ts:401](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L401)
 
----
+***
 
 ### createAccount()
 
@@ -46,9 +60,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:377](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L377)
+[packages/core/src/types.ts:402](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L402)
 
----
+***
 
 ### getMemories()
 
@@ -78,9 +92,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:378](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L378)
+[packages/core/src/types.ts:403](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L403)
 
----
+***
 
 ### getMemoryById()
 
@@ -96,9 +110,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:387](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L387)
+[packages/core/src/types.ts:412](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L412)
 
----
+***
 
 ### getMemoriesByRoomIds()
 
@@ -118,9 +132,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:388](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L388)
+[packages/core/src/types.ts:413](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L413)
 
----
+***
 
 ### getCachedEmbeddings()
 
@@ -130,17 +144,17 @@
 
 • **params**
 
-• **params.query_table_name**: `string`
+• **params.query\_table\_name**: `string`
 
-• **params.query_threshold**: `number`
+• **params.query\_threshold**: `number`
 
-• **params.query_input**: `string`
+• **params.query\_input**: `string`
 
-• **params.query_field_name**: `string`
+• **params.query\_field\_name**: `string`
 
-• **params.query_field_sub_name**: `string`
+• **params.query\_field\_sub\_name**: `string`
 
-• **params.query_match_count**: `number`
+• **params.query\_match\_count**: `number`
 
 #### Returns
 
@@ -148,9 +162,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:392](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L392)
+[packages/core/src/types.ts:417](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L417)
 
----
+***
 
 ### log()
 
@@ -174,9 +188,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:400](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L400)
+[packages/core/src/types.ts:425](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L425)
 
----
+***
 
 ### getActorDetails()
 
@@ -194,9 +208,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:406](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L406)
+[packages/core/src/types.ts:431](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L431)
 
----
+***
 
 ### searchMemories()
 
@@ -212,9 +226,9 @@
 
 • **params.embedding**: `number`[]
 
-• **params.match_threshold**: `number`
+• **params.match\_threshold**: `number`
 
-• **params.match_count**: `number`
+• **params.match\_count**: `number`
 
 • **params.unique**: `boolean`
 
@@ -224,9 +238,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:407](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L407)
+[packages/core/src/types.ts:432](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L432)
 
----
+***
 
 ### updateGoalStatus()
 
@@ -246,9 +260,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:415](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L415)
+[packages/core/src/types.ts:440](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L440)
 
----
+***
 
 ### searchMemoriesByEmbedding()
 
@@ -260,7 +274,7 @@
 
 • **params**
 
-• **params.match_threshold?**: `number`
+• **params.match\_threshold?**: `number`
 
 • **params.count?**: `number`
 
@@ -278,9 +292,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:419](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L419)
+[packages/core/src/types.ts:444](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L444)
 
----
+***
 
 ### createMemory()
 
@@ -300,9 +314,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:430](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L430)
+[packages/core/src/types.ts:455](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L455)
 
----
+***
 
 ### removeMemory()
 
@@ -320,9 +334,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:435](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L435)
+[packages/core/src/types.ts:460](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L460)
 
----
+***
 
 ### removeAllMemories()
 
@@ -340,9 +354,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:436](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L436)
+[packages/core/src/types.ts:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L461)
 
----
+***
 
 ### countMemories()
 
@@ -362,9 +376,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:437](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L437)
+[packages/core/src/types.ts:462](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L462)
 
----
+***
 
 ### getGoals()
 
@@ -388,9 +402,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:442](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L442)
+[packages/core/src/types.ts:467](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L467)
 
----
+***
 
 ### updateGoal()
 
@@ -406,9 +420,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:448](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L448)
+[packages/core/src/types.ts:473](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L473)
 
----
+***
 
 ### createGoal()
 
@@ -424,9 +438,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:449](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L449)
+[packages/core/src/types.ts:474](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L474)
 
----
+***
 
 ### removeGoal()
 
@@ -442,9 +456,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:450](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L450)
+[packages/core/src/types.ts:475](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L475)
 
----
+***
 
 ### removeAllGoals()
 
@@ -460,9 +474,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:451](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L451)
+[packages/core/src/types.ts:476](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L476)
 
----
+***
 
 ### getRoom()
 
@@ -478,9 +492,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:452](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L452)
+[packages/core/src/types.ts:477](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L477)
 
----
+***
 
 ### createRoom()
 
@@ -496,9 +510,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:453](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L453)
+[packages/core/src/types.ts:478](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L478)
 
----
+***
 
 ### removeRoom()
 
@@ -514,9 +528,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:454](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L454)
+[packages/core/src/types.ts:479](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L479)
 
----
+***
 
 ### getRoomsForParticipant()
 
@@ -532,9 +546,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:455](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L455)
+[packages/core/src/types.ts:480](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L480)
 
----
+***
 
 ### getRoomsForParticipants()
 
@@ -550,9 +564,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:456](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L456)
+[packages/core/src/types.ts:481](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L481)
 
----
+***
 
 ### addParticipant()
 
@@ -570,9 +584,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:457](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L457)
+[packages/core/src/types.ts:482](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L482)
 
----
+***
 
 ### removeParticipant()
 
@@ -590,9 +604,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:458](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L458)
+[packages/core/src/types.ts:483](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L483)
 
----
+***
 
 ### getParticipantsForAccount()
 
@@ -608,9 +622,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:459](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L459)
+[packages/core/src/types.ts:484](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L484)
 
----
+***
 
 ### getParticipantsForRoom()
 
@@ -626,9 +640,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:460](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L460)
+[packages/core/src/types.ts:485](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L485)
 
----
+***
 
 ### getParticipantUserState()
 
@@ -646,9 +660,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:461](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L461)
+[packages/core/src/types.ts:486](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L486)
 
----
+***
 
 ### setParticipantUserState()
 
@@ -668,9 +682,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:465](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L465)
+[packages/core/src/types.ts:490](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L490)
 
----
+***
 
 ### createRelationship()
 
@@ -690,9 +704,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:470](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L470)
+[packages/core/src/types.ts:495](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L495)
 
----
+***
 
 ### getRelationship()
 
@@ -712,9 +726,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:471](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L471)
+[packages/core/src/types.ts:496](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L496)
 
----
+***
 
 ### getRelationships()
 
@@ -732,4 +746,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:475](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L475)
+[packages/core/src/types.ts:500](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L500)
diff --git a/docs/api/interfaces/IDatabaseCacheAdapter.md b/docs/api/interfaces/IDatabaseCacheAdapter.md
new file mode 100644
index 00000000000..6b2daaf4e04
--- /dev/null
+++ b/docs/api/interfaces/IDatabaseCacheAdapter.md
@@ -0,0 +1,71 @@
+[@ai16z/eliza v0.1.3](../index.md) / IDatabaseCacheAdapter
+
+# Interface: IDatabaseCacheAdapter
+
+## Methods
+
+### getCache()
+
+> **getCache**(`params`): `Promise`\<`string`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+#### Returns
+
+`Promise`\<`string`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:504](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L504)
+
+***
+
+### setCache()
+
+> **setCache**(`params`): `Promise`\<`boolean`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+• **params.value**: `string`
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:508](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L508)
+
+***
+
+### deleteCache()
+
+> **deleteCache**(`params`): `Promise`\<`boolean`\>
+
+#### Parameters
+
+• **params**
+
+• **params.agentId**: \`$\{string\}-$\{string\}-$\{string\}-$\{string\}-$\{string\}\`
+
+• **params.key**: `string`
+
+#### Returns
+
+`Promise`\<`boolean`\>
+
+#### Defined in
+
+[packages/core/src/types.ts:514](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L514)
diff --git a/docs/api/interfaces/IImageDescriptionService.md b/docs/api/interfaces/IImageDescriptionService.md
index 5f29d8a9970..51e88bb89ad 100644
--- a/docs/api/interfaces/IImageDescriptionService.md
+++ b/docs/api/interfaces/IImageDescriptionService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IImageDescriptionService
+[@ai16z/eliza v0.1.3](../index.md) / IImageDescriptionService
 
 # Interface: IImageDescriptionService
 
@@ -6,41 +6,65 @@
 
 - [`Service`](../classes/Service.md)
 
-## Methods
+## Accessors
 
-### getInstance()
+### serviceType
 
-> **getInstance**(): [`IImageDescriptionService`](IImageDescriptionService.md)
+#### Get Signature
 
-#### Returns
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
 
-[`IImageDescriptionService`](IImageDescriptionService.md)
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
 
 #### Defined in
 
-[packages/core/src/types.ts:595](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L595)
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
 
----
+## Methods
 
 ### initialize()
 
-> **initialize**(`modelId`?, `device`?): `Promise`\<`void`\>
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
 
-#### Parameters
+Add abstract initialize method that must be implemented by derived classes
 
-• **modelId?**: `string`
+#### Parameters
 
-• **device?**: `string`
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
 
 #### Returns
 
 `Promise`\<`void`\>
 
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`IImageDescriptionService`](IImageDescriptionService.md)
+
+#### Returns
+
+[`IImageDescriptionService`](IImageDescriptionService.md)
+
 #### Defined in
 
-[packages/core/src/types.ts:596](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L596)
+[packages/core/src/types.ts:658](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L658)
 
----
+***
 
 ### describeImage()
 
@@ -64,4 +88,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:597](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L597)
+[packages/core/src/types.ts:659](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L659)
diff --git a/docs/api/interfaces/IMemoryManager.md b/docs/api/interfaces/IMemoryManager.md
index a10169784be..bc55eb3187b 100644
--- a/docs/api/interfaces/IMemoryManager.md
+++ b/docs/api/interfaces/IMemoryManager.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IMemoryManager
+[@ai16z/eliza v0.1.3](../index.md) / IMemoryManager
 
 # Interface: IMemoryManager
 
@@ -10,9 +10,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:479](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L479)
+[packages/core/src/types.ts:518](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L518)
 
----
+***
 
 ### tableName
 
@@ -20,9 +20,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:480](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L480)
+[packages/core/src/types.ts:519](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L519)
 
----
+***
 
 ### constructor
 
@@ -30,7 +30,7 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:482](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L482)
+[packages/core/src/types.ts:521](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L521)
 
 ## Methods
 
@@ -48,9 +48,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:484](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L484)
+[packages/core/src/types.ts:523](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L523)
 
----
+***
 
 ### getMemories()
 
@@ -78,9 +78,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:485](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L485)
+[packages/core/src/types.ts:524](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L524)
 
----
+***
 
 ### getCachedEmbeddings()
 
@@ -96,9 +96,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:493](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L493)
+[packages/core/src/types.ts:532](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L532)
 
----
+***
 
 ### getMemoryById()
 
@@ -114,9 +114,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:496](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L496)
+[packages/core/src/types.ts:535](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L535)
 
----
+***
 
 ### getMemoriesByRoomIds()
 
@@ -136,9 +136,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:497](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L497)
+[packages/core/src/types.ts:536](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L536)
 
----
+***
 
 ### searchMemoriesByEmbedding()
 
@@ -150,7 +150,7 @@
 
 • **opts**
 
-• **opts.match_threshold?**: `number`
+• **opts.match\_threshold?**: `number`
 
 • **opts.count?**: `number`
 
@@ -166,9 +166,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:501](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L501)
+[packages/core/src/types.ts:540](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L540)
 
----
+***
 
 ### createMemory()
 
@@ -186,9 +186,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:511](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L511)
+[packages/core/src/types.ts:550](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L550)
 
----
+***
 
 ### removeMemory()
 
@@ -204,9 +204,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:512](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L512)
+[packages/core/src/types.ts:551](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L551)
 
----
+***
 
 ### removeAllMemories()
 
@@ -222,9 +222,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:513](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L513)
+[packages/core/src/types.ts:552](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L552)
 
----
+***
 
 ### countMemories()
 
@@ -242,4 +242,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:514](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L514)
+[packages/core/src/types.ts:553](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L553)
diff --git a/docs/api/interfaces/IPdfService.md b/docs/api/interfaces/IPdfService.md
index bfd875f7093..e4a4e998c2f 100644
--- a/docs/api/interfaces/IPdfService.md
+++ b/docs/api/interfaces/IPdfService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IPdfService
+[@ai16z/eliza v0.1.3](../index.md) / IPdfService
 
 # Interface: IPdfService
 
@@ -6,8 +6,66 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`IPdfService`](IPdfService.md)
+
+#### Returns
+
+[`IPdfService`](IPdfService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:719](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L719)
+
+***
+
 ### convertPdfToText()
 
 > **convertPdfToText**(`pdfBuffer`): `Promise`\<`string`\>
@@ -22,4 +80,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:654](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L654)
+[packages/core/src/types.ts:720](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L720)
diff --git a/docs/api/interfaces/ISpeechService.md b/docs/api/interfaces/ISpeechService.md
index 6e6fe9436e8..c02c87c1682 100644
--- a/docs/api/interfaces/ISpeechService.md
+++ b/docs/api/interfaces/ISpeechService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ISpeechService
+[@ai16z/eliza v0.1.3](../index.md) / ISpeechService
 
 # Interface: ISpeechService
 
@@ -6,8 +6,66 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`ISpeechService`](ISpeechService.md)
+
+#### Returns
+
+[`ISpeechService`](ISpeechService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:714](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L714)
+
+***
+
 ### generate()
 
 > **generate**(`runtime`, `text`): `Promise`\<`Readable`\>
@@ -24,4 +82,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:650](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L650)
+[packages/core/src/types.ts:715](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L715)
diff --git a/docs/api/interfaces/ITextGenerationService.md b/docs/api/interfaces/ITextGenerationService.md
index 5be0dbf0405..9a2e07b77fb 100644
--- a/docs/api/interfaces/ITextGenerationService.md
+++ b/docs/api/interfaces/ITextGenerationService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ITextGenerationService
+[@ai16z/eliza v0.1.3](../index.md) / ITextGenerationService
 
 # Interface: ITextGenerationService
 
@@ -6,8 +6,52 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
 ### getInstance()
 
 > **getInstance**(): [`ITextGenerationService`](ITextGenerationService.md)
@@ -18,9 +62,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:619](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L619)
+[packages/core/src/types.ts:683](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L683)
 
----
+***
 
 ### initializeModel()
 
@@ -32,9 +76,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:620](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L620)
+[packages/core/src/types.ts:684](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L684)
 
----
+***
 
 ### queueMessageCompletion()
 
@@ -48,11 +92,11 @@
 
 • **stop**: `string`[]
 
-• **frequency_penalty**: `number`
+• **frequency\_penalty**: `number`
 
-• **presence_penalty**: `number`
+• **presence\_penalty**: `number`
 
-• **max_tokens**: `number`
+• **max\_tokens**: `number`
 
 #### Returns
 
@@ -60,9 +104,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:621](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L621)
+[packages/core/src/types.ts:685](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L685)
 
----
+***
 
 ### queueTextCompletion()
 
@@ -76,11 +120,11 @@
 
 • **stop**: `string`[]
 
-• **frequency_penalty**: `number`
+• **frequency\_penalty**: `number`
 
-• **presence_penalty**: `number`
+• **presence\_penalty**: `number`
 
-• **max_tokens**: `number`
+• **max\_tokens**: `number`
 
 #### Returns
 
@@ -88,9 +132,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:629](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L629)
+[packages/core/src/types.ts:693](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L693)
 
----
+***
 
 ### getEmbeddingResponse()
 
@@ -106,4 +150,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:637](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L637)
+[packages/core/src/types.ts:701](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L701)
diff --git a/docs/api/interfaces/ITranscriptionService.md b/docs/api/interfaces/ITranscriptionService.md
index 5634219f53b..8de9f141b55 100644
--- a/docs/api/interfaces/ITranscriptionService.md
+++ b/docs/api/interfaces/ITranscriptionService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / ITranscriptionService
+[@ai16z/eliza v0.1.3](../index.md) / ITranscriptionService
 
 # Interface: ITranscriptionService
 
@@ -6,8 +6,66 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`ITranscriptionService`](ITranscriptionService.md)
+
+#### Returns
+
+[`ITranscriptionService`](ITranscriptionService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:665](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L665)
+
+***
+
 ### transcribeAttachment()
 
 > **transcribeAttachment**(`audioBuffer`): `Promise`\<`string`\>
@@ -22,9 +80,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:603](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L603)
+[packages/core/src/types.ts:666](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L666)
 
----
+***
 
 ### transcribeAttachmentLocally()
 
@@ -40,9 +98,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:604](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L604)
+[packages/core/src/types.ts:667](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L667)
 
----
+***
 
 ### transcribe()
 
@@ -58,9 +116,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:607](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L607)
+[packages/core/src/types.ts:670](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L670)
 
----
+***
 
 ### transcribeLocally()
 
@@ -76,4 +134,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:608](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L608)
+[packages/core/src/types.ts:671](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L671)
diff --git a/docs/api/interfaces/IVideoService.md b/docs/api/interfaces/IVideoService.md
index f62ab655dbc..84170517e81 100644
--- a/docs/api/interfaces/IVideoService.md
+++ b/docs/api/interfaces/IVideoService.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / IVideoService
+[@ai16z/eliza v0.1.3](../index.md) / IVideoService
 
 # Interface: IVideoService
 
@@ -6,8 +6,66 @@
 
 - [`Service`](../classes/Service.md)
 
+## Accessors
+
+### serviceType
+
+#### Get Signature
+
+> **get** **serviceType**(): [`ServiceType`](../enumerations/ServiceType.md)
+
+##### Returns
+
+[`ServiceType`](../enumerations/ServiceType.md)
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`serviceType`](../classes/Service.md#serviceType-1)
+
+#### Defined in
+
+[packages/core/src/types.ts:580](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L580)
+
 ## Methods
 
+### initialize()
+
+> `abstract` **initialize**(`runtime`): `Promise`\<`void`\>
+
+Add abstract initialize method that must be implemented by derived classes
+
+#### Parameters
+
+• **runtime**: [`IAgentRuntime`](IAgentRuntime.md)
+
+#### Returns
+
+`Promise`\<`void`\>
+
+#### Inherited from
+
+[`Service`](../classes/Service.md).[`initialize`](../classes/Service.md#initialize)
+
+#### Defined in
+
+[packages/core/src/types.ts:585](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L585)
+
+***
+
+### getInstance()
+
+> **getInstance**(): [`IVideoService`](IVideoService.md)
+
+#### Returns
+
+[`IVideoService`](IVideoService.md)
+
+#### Defined in
+
+[packages/core/src/types.ts:675](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L675)
+
+***
+
 ### isVideoUrl()
 
 > **isVideoUrl**(`url`): `boolean`
@@ -22,9 +80,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:612](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L612)
+[packages/core/src/types.ts:676](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L676)
 
----
+***
 
 ### processVideo()
 
@@ -40,9 +98,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:613](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L613)
+[packages/core/src/types.ts:677](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L677)
 
----
+***
 
 ### fetchVideoInfo()
 
@@ -58,9 +116,9 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:614](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L614)
+[packages/core/src/types.ts:678](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L678)
 
----
+***
 
 ### downloadVideo()
 
@@ -76,4 +134,4 @@
 
 #### Defined in
 
-[packages/core/src/types.ts:615](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L615)
+[packages/core/src/types.ts:679](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L679)
diff --git a/docs/api/interfaces/Memory.md b/docs/api/interfaces/Memory.md
index 040cdf1e71a..a0bb9dd4a33 100644
--- a/docs/api/interfaces/Memory.md
+++ b/docs/api/interfaces/Memory.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Memory
+[@ai16z/eliza v0.1.3](../index.md) / Memory
 
 # Interface: Memory
 
@@ -12,9 +12,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:169](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L169)
+[packages/core/src/types.ts:170](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L170)
 
----
+***
 
 ### userId
 
@@ -22,9 +22,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:170](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L170)
+[packages/core/src/types.ts:171](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L171)
 
----
+***
 
 ### agentId
 
@@ -32,9 +32,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:171](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L171)
+[packages/core/src/types.ts:172](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L172)
 
----
+***
 
 ### createdAt?
 
@@ -42,9 +42,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:172](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L172)
+[packages/core/src/types.ts:173](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L173)
 
----
+***
 
 ### content
 
@@ -52,9 +52,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:173](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L173)
+[packages/core/src/types.ts:174](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L174)
 
----
+***
 
 ### embedding?
 
@@ -62,9 +62,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:174](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L174)
+[packages/core/src/types.ts:175](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L175)
 
----
+***
 
 ### roomId
 
@@ -72,9 +72,9 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:175](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L175)
+[packages/core/src/types.ts:176](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L176)
 
----
+***
 
 ### unique?
 
@@ -82,4 +82,4 @@ Represents a memory record, which could be a message or any other piece of infor
 
 #### Defined in
 
-[packages/core/src/types.ts:176](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L176)
+[packages/core/src/types.ts:177](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L177)
diff --git a/docs/api/interfaces/MessageExample.md b/docs/api/interfaces/MessageExample.md
index dbc07ae96c1..06eda42410b 100644
--- a/docs/api/interfaces/MessageExample.md
+++ b/docs/api/interfaces/MessageExample.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / MessageExample
+[@ai16z/eliza v0.1.3](../index.md) / MessageExample
 
 # Interface: MessageExample
 
@@ -12,9 +12,9 @@ Represents an example of a message, typically used for demonstrating or testing
 
 #### Defined in
 
-[packages/core/src/types.ts:183](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L183)
+[packages/core/src/types.ts:184](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L184)
 
----
+***
 
 ### content
 
@@ -22,4 +22,4 @@ Represents an example of a message, typically used for demonstrating or testing
 
 #### Defined in
 
-[packages/core/src/types.ts:184](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L184)
+[packages/core/src/types.ts:185](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L185)
diff --git a/docs/api/interfaces/Objective.md b/docs/api/interfaces/Objective.md
index 4a9c5854f71..bed81118a56 100644
--- a/docs/api/interfaces/Objective.md
+++ b/docs/api/interfaces/Objective.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Objective
+[@ai16z/eliza v0.1.3](../index.md) / Objective
 
 # Interface: Objective
 
@@ -14,7 +14,7 @@ Represents an objective within a goal, detailing what needs to be achieved and w
 
 [packages/core/src/types.ts:51](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L51)
 
----
+***
 
 ### description
 
@@ -24,7 +24,7 @@ Represents an objective within a goal, detailing what needs to be achieved and w
 
 [packages/core/src/types.ts:52](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L52)
 
----
+***
 
 ### completed
 
diff --git a/docs/api/interfaces/Participant.md b/docs/api/interfaces/Participant.md
index 74b1096c000..dfe27713dca 100644
--- a/docs/api/interfaces/Participant.md
+++ b/docs/api/interfaces/Participant.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Participant
+[@ai16z/eliza v0.1.3](../index.md) / Participant
 
 # Interface: Participant
 
@@ -12,9 +12,9 @@ Represents a participant in a room, including their ID and account details.
 
 #### Defined in
 
-[packages/core/src/types.ts:287](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L287)
+[packages/core/src/types.ts:288](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L288)
 
----
+***
 
 ### account
 
@@ -22,4 +22,4 @@ Represents a participant in a room, including their ID and account details.
 
 #### Defined in
 
-[packages/core/src/types.ts:288](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L288)
+[packages/core/src/types.ts:289](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L289)
diff --git a/docs/api/interfaces/Provider.md b/docs/api/interfaces/Provider.md
index 489806151cb..bd944f4ba10 100644
--- a/docs/api/interfaces/Provider.md
+++ b/docs/api/interfaces/Provider.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Provider
+[@ai16z/eliza v0.1.3](../index.md) / Provider
 
 # Interface: Provider
 
@@ -24,4 +24,4 @@ Represents a provider, which is used to retrieve information or perform actions
 
 #### Defined in
 
-[packages/core/src/types.ts:251](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L251)
+[packages/core/src/types.ts:252](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L252)
diff --git a/docs/api/interfaces/Relationship.md b/docs/api/interfaces/Relationship.md
index 9dbafcb2fc5..7bd088fa69a 100644
--- a/docs/api/interfaces/Relationship.md
+++ b/docs/api/interfaces/Relationship.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Relationship
+[@ai16z/eliza v0.1.3](../index.md) / Relationship
 
 # Interface: Relationship
 
@@ -12,9 +12,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:262](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L262)
+[packages/core/src/types.ts:263](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L263)
 
----
+***
 
 ### userA
 
@@ -22,9 +22,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:263](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L263)
+[packages/core/src/types.ts:264](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L264)
 
----
+***
 
 ### userB
 
@@ -32,9 +32,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:264](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L264)
+[packages/core/src/types.ts:265](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L265)
 
----
+***
 
 ### userId
 
@@ -42,9 +42,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:265](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L265)
+[packages/core/src/types.ts:266](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L266)
 
----
+***
 
 ### roomId
 
@@ -52,9 +52,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:266](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L266)
+[packages/core/src/types.ts:267](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L267)
 
----
+***
 
 ### status
 
@@ -62,9 +62,9 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:267](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L267)
+[packages/core/src/types.ts:268](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L268)
 
----
+***
 
 ### createdAt?
 
@@ -72,4 +72,4 @@ Represents a relationship between two users, including their IDs, the status of
 
 #### Defined in
 
-[packages/core/src/types.ts:268](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L268)
+[packages/core/src/types.ts:269](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L269)
diff --git a/docs/api/interfaces/Room.md b/docs/api/interfaces/Room.md
index ab9ce15c57a..65401829864 100644
--- a/docs/api/interfaces/Room.md
+++ b/docs/api/interfaces/Room.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Room
+[@ai16z/eliza v0.1.3](../index.md) / Room
 
 # Interface: Room
 
@@ -12,9 +12,9 @@ Represents a room or conversation context, including its ID and a list of partic
 
 #### Defined in
 
-[packages/core/src/types.ts:295](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L295)
+[packages/core/src/types.ts:296](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L296)
 
----
+***
 
 ### participants
 
@@ -22,4 +22,4 @@ Represents a room or conversation context, including its ID and a list of partic
 
 #### Defined in
 
-[packages/core/src/types.ts:296](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L296)
+[packages/core/src/types.ts:297](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L297)
diff --git a/docs/api/interfaces/State.md b/docs/api/interfaces/State.md
index 6897899d263..2b5676d22be 100644
--- a/docs/api/interfaces/State.md
+++ b/docs/api/interfaces/State.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / State
+[@ai16z/eliza v0.1.3](../index.md) / State
 
 # Interface: State
 
@@ -6,7 +6,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 ## Indexable
 
-\[`key`: `string`\]: `unknown`
+ \[`key`: `string`\]: `unknown`
 
 ## Properties
 
@@ -18,7 +18,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:139](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L139)
 
----
+***
 
 ### agentId?
 
@@ -28,7 +28,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:140](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L140)
 
----
+***
 
 ### bio
 
@@ -38,7 +38,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:141](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L141)
 
----
+***
 
 ### lore
 
@@ -48,7 +48,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:142](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L142)
 
----
+***
 
 ### messageDirections
 
@@ -58,7 +58,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:143](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L143)
 
----
+***
 
 ### postDirections
 
@@ -68,7 +68,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:144](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L144)
 
----
+***
 
 ### roomId
 
@@ -78,7 +78,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:145](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L145)
 
----
+***
 
 ### agentName?
 
@@ -88,7 +88,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:146](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L146)
 
----
+***
 
 ### senderName?
 
@@ -98,7 +98,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:147](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L147)
 
----
+***
 
 ### actors
 
@@ -108,7 +108,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:148](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L148)
 
----
+***
 
 ### actorsData?
 
@@ -118,7 +118,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:149](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L149)
 
----
+***
 
 ### goals?
 
@@ -128,7 +128,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:150](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L150)
 
----
+***
 
 ### goalsData?
 
@@ -138,7 +138,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:151](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L151)
 
----
+***
 
 ### recentMessages
 
@@ -148,7 +148,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:152](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L152)
 
----
+***
 
 ### recentMessagesData
 
@@ -158,7 +158,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:153](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L153)
 
----
+***
 
 ### actionNames?
 
@@ -168,7 +168,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:154](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L154)
 
----
+***
 
 ### actions?
 
@@ -178,7 +178,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:155](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L155)
 
----
+***
 
 ### actionsData?
 
@@ -188,7 +188,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:156](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L156)
 
----
+***
 
 ### actionExamples?
 
@@ -198,7 +198,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:157](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L157)
 
----
+***
 
 ### providers?
 
@@ -208,7 +208,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:158](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L158)
 
----
+***
 
 ### responseData?
 
@@ -218,7 +218,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:159](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L159)
 
----
+***
 
 ### recentInteractionsData?
 
@@ -228,7 +228,7 @@ Represents the state of the conversation or context in which the agent is operat
 
 [packages/core/src/types.ts:160](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L160)
 
----
+***
 
 ### recentInteractions?
 
@@ -237,3 +237,13 @@ Represents the state of the conversation or context in which the agent is operat
 #### Defined in
 
 [packages/core/src/types.ts:161](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L161)
+
+***
+
+### formattedConversation?
+
+> `optional` **formattedConversation**: `string`
+
+#### Defined in
+
+[packages/core/src/types.ts:162](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L162)
diff --git a/docs/api/type-aliases/CacheOptions.md b/docs/api/type-aliases/CacheOptions.md
new file mode 100644
index 00000000000..b193fcb1de3
--- /dev/null
+++ b/docs/api/type-aliases/CacheOptions.md
@@ -0,0 +1,15 @@
+[@ai16z/eliza v0.1.3](../index.md) / CacheOptions
+
+# Type Alias: CacheOptions
+
+> **CacheOptions**: `object`
+
+## Type declaration
+
+### expires?
+
+> `optional` **expires**: `number`
+
+## Defined in
+
+[packages/core/src/types.ts:556](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L556)
diff --git a/docs/api/type-aliases/Character.md b/docs/api/type-aliases/Character.md
index 508aefc3a30..50625e7f52a 100644
--- a/docs/api/type-aliases/Character.md
+++ b/docs/api/type-aliases/Character.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Character
+[@ai16z/eliza v0.1.3](../index.md) / Character
 
 # Type Alias: Character
 
@@ -14,6 +14,10 @@
 
 > **name**: `string`
 
+### username?
+
+> `optional` **username**: `string`
+
 ### system?
 
 > `optional` **system**: `string`
@@ -30,9 +34,65 @@
 
 > `optional` **templates**: `object`
 
-#### Index Signature
+### templates.goalsTemplate?
+
+> `optional` **goalsTemplate**: `string`
+
+### templates.factsTemplate?
+
+> `optional` **factsTemplate**: `string`
+
+### templates.messageHandlerTemplate?
+
+> `optional` **messageHandlerTemplate**: `string`
+
+### templates.shouldRespondTemplate?
+
+> `optional` **shouldRespondTemplate**: `string`
+
+### templates.continueMessageHandlerTemplate?
+
+> `optional` **continueMessageHandlerTemplate**: `string`
+
+### templates.evaluationTemplate?
+
+> `optional` **evaluationTemplate**: `string`
+
+### templates.twitterSearchTemplate?
+
+> `optional` **twitterSearchTemplate**: `string`
+
+### templates.twitterPostTemplate?
+
+> `optional` **twitterPostTemplate**: `string`
+
+### templates.twitterMessageHandlerTemplate?
+
+> `optional` **twitterMessageHandlerTemplate**: `string`
+
+### templates.twitterShouldRespondTemplate?
+
+> `optional` **twitterShouldRespondTemplate**: `string`
 
-\[`key`: `string`\]: `string`
+### templates.telegramMessageHandlerTemplate?
+
+> `optional` **telegramMessageHandlerTemplate**: `string`
+
+### templates.telegramShouldRespondTemplate?
+
+> `optional` **telegramShouldRespondTemplate**: `string`
+
+### templates.discordVoiceHandlerTemplate?
+
+> `optional` **discordVoiceHandlerTemplate**: `string`
+
+### templates.discordShouldRespondTemplate?
+
+> `optional` **discordShouldRespondTemplate**: `string`
+
+### templates.discordMessageHandlerTemplate?
+
+> `optional` **discordMessageHandlerTemplate**: `string`
 
 ### bio
 
@@ -84,7 +144,7 @@
 
 #### Index Signature
 
-\[`key`: `string`\]: `string`
+ \[`key`: `string`\]: `string`
 
 ### settings.voice?
 
@@ -150,6 +210,30 @@
 
 > **post**: `string`[]
 
+### twitterProfile?
+
+> `optional` **twitterProfile**: `object`
+
+### twitterProfile.id
+
+> **id**: `string`
+
+### twitterProfile.username
+
+> **username**: `string`
+
+### twitterProfile.screenName
+
+> **screenName**: `string`
+
+### twitterProfile.bio
+
+> **bio**: `string`
+
+### twitterProfile.nicknames?
+
+> `optional` **nicknames**: `string`[]
+
 ## Defined in
 
-[packages/core/src/types.ts:329](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L329)
+[packages/core/src/types.ts:331](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L331)
diff --git a/docs/api/type-aliases/CharacterConfig.md b/docs/api/type-aliases/CharacterConfig.md
new file mode 100644
index 00000000000..5478db97eef
--- /dev/null
+++ b/docs/api/type-aliases/CharacterConfig.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.3](../index.md) / CharacterConfig
+
+# Type Alias: CharacterConfig
+
+> **CharacterConfig**: `z.infer`\<*typeof* [`CharacterSchema`](../variables/CharacterSchema.md)\>
+
+Type inference
+
+## Defined in
+
+[packages/core/src/enviroment.ts:128](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L128)
diff --git a/docs/api/type-aliases/Client.md b/docs/api/type-aliases/Client.md
index 879d6f28ff3..04920eb9e08 100644
--- a/docs/api/type-aliases/Client.md
+++ b/docs/api/type-aliases/Client.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Client
+[@ai16z/eliza v0.1.3](../index.md) / Client
 
 # Type Alias: Client
 
@@ -32,4 +32,4 @@
 
 ## Defined in
 
-[packages/core/src/types.ts:308](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L308)
+[packages/core/src/types.ts:309](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L309)
diff --git a/docs/api/type-aliases/EnvConfig.md b/docs/api/type-aliases/EnvConfig.md
new file mode 100644
index 00000000000..3589e81e7ee
--- /dev/null
+++ b/docs/api/type-aliases/EnvConfig.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.3](../index.md) / EnvConfig
+
+# Type Alias: EnvConfig
+
+> **EnvConfig**: `z.infer`\<*typeof* [`envSchema`](../variables/envSchema.md)\>
+
+Type inference
+
+## Defined in
+
+[packages/core/src/enviroment.ts:23](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L23)
diff --git a/docs/api/type-aliases/Handler.md b/docs/api/type-aliases/Handler.md
index 8ffed758e95..9a9b9e325d9 100644
--- a/docs/api/type-aliases/Handler.md
+++ b/docs/api/type-aliases/Handler.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Handler
+[@ai16z/eliza v0.1.3](../index.md) / Handler
 
 # Type Alias: Handler()
 
@@ -24,4 +24,4 @@ Represents the type of a handler function, which takes a runtime instance, a mes
 
 ## Defined in
 
-[packages/core/src/types.ts:190](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L190)
+[packages/core/src/types.ts:191](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L191)
diff --git a/docs/api/type-aliases/HandlerCallback.md b/docs/api/type-aliases/HandlerCallback.md
index a87d3bc1492..27101ffa3ca 100644
--- a/docs/api/type-aliases/HandlerCallback.md
+++ b/docs/api/type-aliases/HandlerCallback.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / HandlerCallback
+[@ai16z/eliza v0.1.3](../index.md) / HandlerCallback
 
 # Type Alias: HandlerCallback()
 
@@ -16,4 +16,4 @@
 
 ## Defined in
 
-[packages/core/src/types.ts:199](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L199)
+[packages/core/src/types.ts:200](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L200)
diff --git a/docs/api/type-aliases/Media.md b/docs/api/type-aliases/Media.md
index 93ee9f6be99..57b5211d232 100644
--- a/docs/api/type-aliases/Media.md
+++ b/docs/api/type-aliases/Media.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Media
+[@ai16z/eliza v0.1.3](../index.md) / Media
 
 # Type Alias: Media
 
@@ -32,4 +32,4 @@
 
 ## Defined in
 
-[packages/core/src/types.ts:299](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L299)
+[packages/core/src/types.ts:300](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L300)
diff --git a/docs/api/type-aliases/Model.md b/docs/api/type-aliases/Model.md
index 4d5a45b9d59..0e32e6ebdab 100644
--- a/docs/api/type-aliases/Model.md
+++ b/docs/api/type-aliases/Model.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Model
+[@ai16z/eliza v0.1.3](../index.md) / Model
 
 # Type Alias: Model
 
@@ -22,17 +22,17 @@
 
 > **maxOutputTokens**: `number`
 
-### settings.frequency_penalty?
+### settings.frequency\_penalty?
 
-> `optional` **frequency_penalty**: `number`
+> `optional` **frequency\_penalty**: `number`
 
-### settings.presence_penalty?
+### settings.presence\_penalty?
 
-> `optional` **presence_penalty**: `number`
+> `optional` **presence\_penalty**: `number`
 
-### settings.repetition_penalty?
+### settings.repetition\_penalty?
 
-> `optional` **repetition_penalty**: `number`
+> `optional` **repetition\_penalty**: `number`
 
 ### settings.stop
 
diff --git a/docs/api/type-aliases/Models.md b/docs/api/type-aliases/Models.md
index ded8014918d..4b23a905b66 100644
--- a/docs/api/type-aliases/Models.md
+++ b/docs/api/type-aliases/Models.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Models
+[@ai16z/eliza v0.1.3](../index.md) / Models
 
 # Type Alias: Models
 
@@ -22,21 +22,21 @@
 
 > **groq**: [`Model`](Model.md)
 
-### llama_cloud
+### llama\_cloud
 
-> **llama_cloud**: [`Model`](Model.md)
+> **llama\_cloud**: [`Model`](Model.md)
 
-### llama_local
+### llama\_local
 
-> **llama_local**: [`Model`](Model.md)
+> **llama\_local**: [`Model`](Model.md)
 
 ### google
 
 > **google**: [`Model`](Model.md)
 
-### claude_vertex
+### claude\_vertex
 
-> **claude_vertex**: [`Model`](Model.md)
+> **claude\_vertex**: [`Model`](Model.md)
 
 ### redpill
 
diff --git a/docs/api/type-aliases/Plugin.md b/docs/api/type-aliases/Plugin.md
index 899286442d9..7e53f531729 100644
--- a/docs/api/type-aliases/Plugin.md
+++ b/docs/api/type-aliases/Plugin.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Plugin
+[@ai16z/eliza v0.1.3](../index.md) / Plugin
 
 # Type Alias: Plugin
 
@@ -30,6 +30,10 @@
 
 > `optional` **services**: [`Service`](../classes/Service.md)[]
 
+### clients?
+
+> `optional` **clients**: [`Client`](Client.md)[]
+
 ## Defined in
 
-[packages/core/src/types.ts:313](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L313)
+[packages/core/src/types.ts:314](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L314)
diff --git a/docs/api/type-aliases/UUID.md b/docs/api/type-aliases/UUID.md
index fc00d270217..8efc5cd6427 100644
--- a/docs/api/type-aliases/UUID.md
+++ b/docs/api/type-aliases/UUID.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / UUID
+[@ai16z/eliza v0.1.3](../index.md) / UUID
 
 # Type Alias: UUID
 
diff --git a/docs/api/type-aliases/Validator.md b/docs/api/type-aliases/Validator.md
index fd501b16b49..88c9fa90e8e 100644
--- a/docs/api/type-aliases/Validator.md
+++ b/docs/api/type-aliases/Validator.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / Validator
+[@ai16z/eliza v0.1.3](../index.md) / Validator
 
 # Type Alias: Validator()
 
@@ -20,4 +20,4 @@ Represents the type of a validator function, which takes a runtime instance, a m
 
 ## Defined in
 
-[packages/core/src/types.ts:207](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L207)
+[packages/core/src/types.ts:208](https://github.com/ai16z/eliza/blob/main/packages/core/src/types.ts#L208)
diff --git a/docs/api/typedoc-sidebar.cjs b/docs/api/typedoc-sidebar.cjs
index cb7e9697647..b914158da13 100644
--- a/docs/api/typedoc-sidebar.cjs
+++ b/docs/api/typedoc-sidebar.cjs
@@ -1,352 +1,4 @@
 // @ts-check
 /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
-const typedocSidebar = {
-  items: [
-    {
-      type: "category",
-      label: "Enumerations",
-      items: [
-        { type: "doc", id: "enumerations/GoalStatus", label: "GoalStatus" },
-        { type: "doc", id: "enumerations/ModelClass", label: "ModelClass" },
-        {
-          type: "doc",
-          id: "enumerations/ModelProviderName",
-          label: "ModelProviderName",
-        },
-        { type: "doc", id: "enumerations/Clients", label: "Clients" },
-        { type: "doc", id: "enumerations/ServiceType", label: "ServiceType" },
-      ],
-    },
-    {
-      type: "category",
-      label: "Classes",
-      items: [
-        {
-          type: "doc",
-          id: "classes/DatabaseAdapter",
-          label: "DatabaseAdapter",
-        },
-        { type: "doc", id: "classes/MemoryManager", label: "MemoryManager" },
-        { type: "doc", id: "classes/AgentRuntime", label: "AgentRuntime" },
-        { type: "doc", id: "classes/Service", label: "Service" },
-      ],
-    },
-    {
-      type: "category",
-      label: "Interfaces",
-      items: [
-        {
-          type: "doc",
-          id: "interfaces/GenerationOptions",
-          label: "GenerationOptions",
-        },
-        { type: "doc", id: "interfaces/Content", label: "Content" },
-        { type: "doc", id: "interfaces/ActionExample", label: "ActionExample" },
-        {
-          type: "doc",
-          id: "interfaces/ConversationExample",
-          label: "ConversationExample",
-        },
-        { type: "doc", id: "interfaces/Actor", label: "Actor" },
-        { type: "doc", id: "interfaces/Objective", label: "Objective" },
-        { type: "doc", id: "interfaces/Goal", label: "Goal" },
-        { type: "doc", id: "interfaces/State", label: "State" },
-        { type: "doc", id: "interfaces/Memory", label: "Memory" },
-        {
-          type: "doc",
-          id: "interfaces/MessageExample",
-          label: "MessageExample",
-        },
-        { type: "doc", id: "interfaces/Action", label: "Action" },
-        {
-          type: "doc",
-          id: "interfaces/EvaluationExample",
-          label: "EvaluationExample",
-        },
-        { type: "doc", id: "interfaces/Evaluator", label: "Evaluator" },
-        { type: "doc", id: "interfaces/Provider", label: "Provider" },
-        { type: "doc", id: "interfaces/Relationship", label: "Relationship" },
-        { type: "doc", id: "interfaces/Account", label: "Account" },
-        { type: "doc", id: "interfaces/Participant", label: "Participant" },
-        { type: "doc", id: "interfaces/Room", label: "Room" },
-        {
-          type: "doc",
-          id: "interfaces/IDatabaseAdapter",
-          label: "IDatabaseAdapter",
-        },
-        {
-          type: "doc",
-          id: "interfaces/IMemoryManager",
-          label: "IMemoryManager",
-        },
-        { type: "doc", id: "interfaces/IAgentRuntime", label: "IAgentRuntime" },
-        {
-          type: "doc",
-          id: "interfaces/IImageDescriptionService",
-          label: "IImageDescriptionService",
-        },
-        {
-          type: "doc",
-          id: "interfaces/ITranscriptionService",
-          label: "ITranscriptionService",
-        },
-        { type: "doc", id: "interfaces/IVideoService", label: "IVideoService" },
-        {
-          type: "doc",
-          id: "interfaces/ITextGenerationService",
-          label: "ITextGenerationService",
-        },
-        {
-          type: "doc",
-          id: "interfaces/IBrowserService",
-          label: "IBrowserService",
-        },
-        {
-          type: "doc",
-          id: "interfaces/ISpeechService",
-          label: "ISpeechService",
-        },
-        { type: "doc", id: "interfaces/IPdfService", label: "IPdfService" },
-      ],
-    },
-    {
-      type: "category",
-      label: "Type Aliases",
-      items: [
-        { type: "doc", id: "type-aliases/UUID", label: "UUID" },
-        { type: "doc", id: "type-aliases/Model", label: "Model" },
-        { type: "doc", id: "type-aliases/Models", label: "Models" },
-        { type: "doc", id: "type-aliases/Handler", label: "Handler" },
-        {
-          type: "doc",
-          id: "type-aliases/HandlerCallback",
-          label: "HandlerCallback",
-        },
-        { type: "doc", id: "type-aliases/Validator", label: "Validator" },
-        { type: "doc", id: "type-aliases/Media", label: "Media" },
-        { type: "doc", id: "type-aliases/Client", label: "Client" },
-        { type: "doc", id: "type-aliases/Plugin", label: "Plugin" },
-        { type: "doc", id: "type-aliases/Character", label: "Character" },
-      ],
-    },
-    {
-      type: "category",
-      label: "Variables",
-      items: [
-        {
-          type: "doc",
-          id: "variables/defaultCharacter",
-          label: "defaultCharacter",
-        },
-        {
-          type: "doc",
-          id: "variables/evaluationTemplate",
-          label: "evaluationTemplate",
-        },
-        { type: "doc", id: "variables/elizaLogger", label: "elizaLogger" },
-        {
-          type: "doc",
-          id: "variables/embeddingDimension",
-          label: "embeddingDimension",
-        },
-        {
-          type: "doc",
-          id: "variables/embeddingZeroVector",
-          label: "embeddingZeroVector",
-        },
-        { type: "doc", id: "variables/models", label: "models" },
-        {
-          type: "doc",
-          id: "variables/messageCompletionFooter",
-          label: "messageCompletionFooter",
-        },
-        {
-          type: "doc",
-          id: "variables/shouldRespondFooter",
-          label: "shouldRespondFooter",
-        },
-        { type: "doc", id: "variables/booleanFooter", label: "booleanFooter" },
-        {
-          type: "doc",
-          id: "variables/stringArrayFooter",
-          label: "stringArrayFooter",
-        },
-        { type: "doc", id: "variables/settings", label: "settings" },
-      ],
-    },
-    {
-      type: "category",
-      label: "Functions",
-      items: [
-        {
-          type: "doc",
-          id: "functions/composeActionExamples",
-          label: "composeActionExamples",
-        },
-        {
-          type: "doc",
-          id: "functions/formatActionNames",
-          label: "formatActionNames",
-        },
-        { type: "doc", id: "functions/formatActions", label: "formatActions" },
-        {
-          type: "doc",
-          id: "functions/composeContext",
-          label: "composeContext",
-        },
-        { type: "doc", id: "functions/addHeader", label: "addHeader" },
-        { type: "doc", id: "functions/embed", label: "embed" },
-        {
-          type: "doc",
-          id: "functions/retrieveCachedEmbedding",
-          label: "retrieveCachedEmbedding",
-        },
-        {
-          type: "doc",
-          id: "functions/formatEvaluatorNames",
-          label: "formatEvaluatorNames",
-        },
-        {
-          type: "doc",
-          id: "functions/formatEvaluators",
-          label: "formatEvaluators",
-        },
-        {
-          type: "doc",
-          id: "functions/formatEvaluatorExamples",
-          label: "formatEvaluatorExamples",
-        },
-        {
-          type: "doc",
-          id: "functions/formatEvaluatorExampleDescriptions",
-          label: "formatEvaluatorExampleDescriptions",
-        },
-        { type: "doc", id: "functions/generateText", label: "generateText" },
-        { type: "doc", id: "functions/trimTokens", label: "trimTokens" },
-        {
-          type: "doc",
-          id: "functions/generateShouldRespond",
-          label: "generateShouldRespond",
-        },
-        { type: "doc", id: "functions/splitChunks", label: "splitChunks" },
-        {
-          type: "doc",
-          id: "functions/generateTrueOrFalse",
-          label: "generateTrueOrFalse",
-        },
-        {
-          type: "doc",
-          id: "functions/generateTextArray",
-          label: "generateTextArray",
-        },
-        {
-          type: "doc",
-          id: "functions/generateObject",
-          label: "generateObject",
-        },
-        {
-          type: "doc",
-          id: "functions/generateObjectArray",
-          label: "generateObjectArray",
-        },
-        {
-          type: "doc",
-          id: "functions/generateMessageResponse",
-          label: "generateMessageResponse",
-        },
-        { type: "doc", id: "functions/generateImage", label: "generateImage" },
-        {
-          type: "doc",
-          id: "functions/generateCaption",
-          label: "generateCaption",
-        },
-        {
-          type: "doc",
-          id: "functions/generateObjectV2",
-          label: "generateObjectV2",
-        },
-        {
-          type: "doc",
-          id: "functions/handleProvider",
-          label: "handleProvider",
-        },
-        { type: "doc", id: "functions/getGoals", label: "getGoals" },
-        {
-          type: "doc",
-          id: "functions/formatGoalsAsString",
-          label: "formatGoalsAsString",
-        },
-        { type: "doc", id: "functions/updateGoal", label: "updateGoal" },
-        { type: "doc", id: "functions/createGoal", label: "createGoal" },
-        {
-          type: "doc",
-          id: "functions/getActorDetails",
-          label: "getActorDetails",
-        },
-        { type: "doc", id: "functions/formatActors", label: "formatActors" },
-        {
-          type: "doc",
-          id: "functions/formatMessages",
-          label: "formatMessages",
-        },
-        {
-          type: "doc",
-          id: "functions/formatTimestamp",
-          label: "formatTimestamp",
-        },
-        { type: "doc", id: "functions/getModel", label: "getModel" },
-        { type: "doc", id: "functions/getEndpoint", label: "getEndpoint" },
-        {
-          type: "doc",
-          id: "functions/parseShouldRespondFromText",
-          label: "parseShouldRespondFromText",
-        },
-        {
-          type: "doc",
-          id: "functions/parseBooleanFromText",
-          label: "parseBooleanFromText",
-        },
-        {
-          type: "doc",
-          id: "functions/parseJsonArrayFromText",
-          label: "parseJsonArrayFromText",
-        },
-        {
-          type: "doc",
-          id: "functions/parseJSONObjectFromText",
-          label: "parseJSONObjectFromText",
-        },
-        { type: "doc", id: "functions/formatPosts", label: "formatPosts" },
-        { type: "doc", id: "functions/getProviders", label: "getProviders" },
-        {
-          type: "doc",
-          id: "functions/createRelationship",
-          label: "createRelationship",
-        },
-        {
-          type: "doc",
-          id: "functions/getRelationship",
-          label: "getRelationship",
-        },
-        {
-          type: "doc",
-          id: "functions/getRelationships",
-          label: "getRelationships",
-        },
-        {
-          type: "doc",
-          id: "functions/formatRelationships",
-          label: "formatRelationships",
-        },
-        {
-          type: "doc",
-          id: "functions/findNearestEnvFile",
-          label: "findNearestEnvFile",
-        },
-        { type: "doc", id: "functions/loadEnvConfig", label: "loadEnvConfig" },
-        { type: "doc", id: "functions/stringToUuid", label: "stringToUuid" },
-      ],
-    },
-  ],
-};
-module.exports = typedocSidebar.items;
+const typedocSidebar = { items: [{"type":"category","label":"Enumerations","items":[{"type":"doc","id":"enumerations/GoalStatus","label":"GoalStatus"},{"type":"doc","id":"enumerations/ModelClass","label":"ModelClass"},{"type":"doc","id":"enumerations/ModelProviderName","label":"ModelProviderName"},{"type":"doc","id":"enumerations/Clients","label":"Clients"},{"type":"doc","id":"enumerations/ServiceType","label":"ServiceType"},{"type":"doc","id":"enumerations/LoggingLevel","label":"LoggingLevel"}]},{"type":"category","label":"Classes","items":[{"type":"doc","id":"classes/MemoryCacheAdapter","label":"MemoryCacheAdapter"},{"type":"doc","id":"classes/FsCacheAdapter","label":"FsCacheAdapter"},{"type":"doc","id":"classes/DbCacheAdapter","label":"DbCacheAdapter"},{"type":"doc","id":"classes/CacheManager","label":"CacheManager"},{"type":"doc","id":"classes/DatabaseAdapter","label":"DatabaseAdapter"},{"type":"doc","id":"classes/MemoryManager","label":"MemoryManager"},{"type":"doc","id":"classes/AgentRuntime","label":"AgentRuntime"},{"type":"doc","id":"classes/Service","label":"Service"}]},{"type":"category","label":"Interfaces","items":[{"type":"doc","id":"interfaces/ICacheAdapter","label":"ICacheAdapter"},{"type":"doc","id":"interfaces/GenerationOptions","label":"GenerationOptions"},{"type":"doc","id":"interfaces/Content","label":"Content"},{"type":"doc","id":"interfaces/ActionExample","label":"ActionExample"},{"type":"doc","id":"interfaces/ConversationExample","label":"ConversationExample"},{"type":"doc","id":"interfaces/Actor","label":"Actor"},{"type":"doc","id":"interfaces/Objective","label":"Objective"},{"type":"doc","id":"interfaces/Goal","label":"Goal"},{"type":"doc","id":"interfaces/State","label":"State"},{"type":"doc","id":"interfaces/Memory","label":"Memory"},{"type":"doc","id":"interfaces/MessageExample","label":"MessageExample"},{"type":"doc","id":"interfaces/Action","label":"Action"},{"type":"doc","id":"interfaces/EvaluationExample","label":"EvaluationExample"},{"type":"doc","id":"interfaces/Evaluator","label":"Evaluator"},{"type":"doc","id":"interfaces/Provider","label":"Provider"},{"type":"doc","id":"interfaces/Relationship","label":"Relationship"},{"type":"doc","id":"interfaces/Account","label":"Account"},{"type":"doc","id":"interfaces/Participant","label":"Participant"},{"type":"doc","id":"interfaces/Room","label":"Room"},{"type":"doc","id":"interfaces/IDatabaseAdapter","label":"IDatabaseAdapter"},{"type":"doc","id":"interfaces/IDatabaseCacheAdapter","label":"IDatabaseCacheAdapter"},{"type":"doc","id":"interfaces/IMemoryManager","label":"IMemoryManager"},{"type":"doc","id":"interfaces/ICacheManager","label":"ICacheManager"},{"type":"doc","id":"interfaces/IAgentRuntime","label":"IAgentRuntime"},{"type":"doc","id":"interfaces/IImageDescriptionService","label":"IImageDescriptionService"},{"type":"doc","id":"interfaces/ITranscriptionService","label":"ITranscriptionService"},{"type":"doc","id":"interfaces/IVideoService","label":"IVideoService"},{"type":"doc","id":"interfaces/ITextGenerationService","label":"ITextGenerationService"},{"type":"doc","id":"interfaces/IBrowserService","label":"IBrowserService"},{"type":"doc","id":"interfaces/ISpeechService","label":"ISpeechService"},{"type":"doc","id":"interfaces/IPdfService","label":"IPdfService"}]},{"type":"category","label":"Type Aliases","items":[{"type":"doc","id":"type-aliases/EnvConfig","label":"EnvConfig"},{"type":"doc","id":"type-aliases/CharacterConfig","label":"CharacterConfig"},{"type":"doc","id":"type-aliases/UUID","label":"UUID"},{"type":"doc","id":"type-aliases/Model","label":"Model"},{"type":"doc","id":"type-aliases/Models","label":"Models"},{"type":"doc","id":"type-aliases/Handler","label":"Handler"},{"type":"doc","id":"type-aliases/HandlerCallback","label":"HandlerCallback"},{"type":"doc","id":"type-aliases/Validator","label":"Validator"},{"type":"doc","id":"type-aliases/Media","label":"Media"},{"type":"doc","id":"type-aliases/Client","label":"Client"},{"type":"doc","id":"type-aliases/Plugin","label":"Plugin"},{"type":"doc","id":"type-aliases/Character","label":"Character"},{"type":"doc","id":"type-aliases/CacheOptions","label":"CacheOptions"}]},{"type":"category","label":"Variables","items":[{"type":"doc","id":"variables/defaultCharacter","label":"defaultCharacter"},{"type":"doc","id":"variables/envSchema","label":"envSchema"},{"type":"doc","id":"variables/CharacterSchema","label":"CharacterSchema"},{"type":"doc","id":"variables/evaluationTemplate","label":"evaluationTemplate"},{"type":"doc","id":"variables/elizaLogger","label":"elizaLogger"},{"type":"doc","id":"variables/embeddingDimension","label":"embeddingDimension"},{"type":"doc","id":"variables/embeddingZeroVector","label":"embeddingZeroVector"},{"type":"doc","id":"variables/models","label":"models"},{"type":"doc","id":"variables/messageCompletionFooter","label":"messageCompletionFooter"},{"type":"doc","id":"variables/shouldRespondFooter","label":"shouldRespondFooter"},{"type":"doc","id":"variables/booleanFooter","label":"booleanFooter"},{"type":"doc","id":"variables/stringArrayFooter","label":"stringArrayFooter"},{"type":"doc","id":"variables/settings","label":"settings"}]},{"type":"category","label":"Functions","items":[{"type":"doc","id":"functions/composeActionExamples","label":"composeActionExamples"},{"type":"doc","id":"functions/formatActionNames","label":"formatActionNames"},{"type":"doc","id":"functions/formatActions","label":"formatActions"},{"type":"doc","id":"functions/composeContext","label":"composeContext"},{"type":"doc","id":"functions/addHeader","label":"addHeader"},{"type":"doc","id":"functions/embed","label":"embed"},{"type":"doc","id":"functions/retrieveCachedEmbedding","label":"retrieveCachedEmbedding"},{"type":"doc","id":"functions/validateEnv","label":"validateEnv"},{"type":"doc","id":"functions/validateCharacterConfig","label":"validateCharacterConfig"},{"type":"doc","id":"functions/formatEvaluatorNames","label":"formatEvaluatorNames"},{"type":"doc","id":"functions/formatEvaluators","label":"formatEvaluators"},{"type":"doc","id":"functions/formatEvaluatorExamples","label":"formatEvaluatorExamples"},{"type":"doc","id":"functions/formatEvaluatorExampleDescriptions","label":"formatEvaluatorExampleDescriptions"},{"type":"doc","id":"functions/generateText","label":"generateText"},{"type":"doc","id":"functions/trimTokens","label":"trimTokens"},{"type":"doc","id":"functions/generateShouldRespond","label":"generateShouldRespond"},{"type":"doc","id":"functions/splitChunks","label":"splitChunks"},{"type":"doc","id":"functions/generateTrueOrFalse","label":"generateTrueOrFalse"},{"type":"doc","id":"functions/generateTextArray","label":"generateTextArray"},{"type":"doc","id":"functions/generateObject","label":"generateObject"},{"type":"doc","id":"functions/generateObjectArray","label":"generateObjectArray"},{"type":"doc","id":"functions/generateMessageResponse","label":"generateMessageResponse"},{"type":"doc","id":"functions/generateImage","label":"generateImage"},{"type":"doc","id":"functions/generateCaption","label":"generateCaption"},{"type":"doc","id":"functions/generateObjectV2","label":"generateObjectV2"},{"type":"doc","id":"functions/handleProvider","label":"handleProvider"},{"type":"doc","id":"functions/getGoals","label":"getGoals"},{"type":"doc","id":"functions/formatGoalsAsString","label":"formatGoalsAsString"},{"type":"doc","id":"functions/updateGoal","label":"updateGoal"},{"type":"doc","id":"functions/createGoal","label":"createGoal"},{"type":"doc","id":"functions/getActorDetails","label":"getActorDetails"},{"type":"doc","id":"functions/formatActors","label":"formatActors"},{"type":"doc","id":"functions/formatMessages","label":"formatMessages"},{"type":"doc","id":"functions/formatTimestamp","label":"formatTimestamp"},{"type":"doc","id":"functions/getModel","label":"getModel"},{"type":"doc","id":"functions/getEndpoint","label":"getEndpoint"},{"type":"doc","id":"functions/parseShouldRespondFromText","label":"parseShouldRespondFromText"},{"type":"doc","id":"functions/parseBooleanFromText","label":"parseBooleanFromText"},{"type":"doc","id":"functions/parseJsonArrayFromText","label":"parseJsonArrayFromText"},{"type":"doc","id":"functions/parseJSONObjectFromText","label":"parseJSONObjectFromText"},{"type":"doc","id":"functions/formatPosts","label":"formatPosts"},{"type":"doc","id":"functions/getProviders","label":"getProviders"},{"type":"doc","id":"functions/createRelationship","label":"createRelationship"},{"type":"doc","id":"functions/getRelationship","label":"getRelationship"},{"type":"doc","id":"functions/getRelationships","label":"getRelationships"},{"type":"doc","id":"functions/formatRelationships","label":"formatRelationships"},{"type":"doc","id":"functions/findNearestEnvFile","label":"findNearestEnvFile"},{"type":"doc","id":"functions/configureSettings","label":"configureSettings"},{"type":"doc","id":"functions/loadEnvConfig","label":"loadEnvConfig"},{"type":"doc","id":"functions/getEnvVariable","label":"getEnvVariable"},{"type":"doc","id":"functions/hasEnvVariable","label":"hasEnvVariable"},{"type":"doc","id":"functions/stringToUuid","label":"stringToUuid"}]}]};
+module.exports = typedocSidebar.items;
\ No newline at end of file
diff --git a/docs/api/variables/CharacterSchema.md b/docs/api/variables/CharacterSchema.md
new file mode 100644
index 00000000000..f6a7feaaea3
--- /dev/null
+++ b/docs/api/variables/CharacterSchema.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.3](../index.md) / CharacterSchema
+
+# Variable: CharacterSchema
+
+> `const` **CharacterSchema**: `any`
+
+Main Character schema
+
+## Defined in
+
+[packages/core/src/enviroment.ts:66](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L66)
diff --git a/docs/api/variables/booleanFooter.md b/docs/api/variables/booleanFooter.md
index f2489169e3b..dce847a0340 100644
--- a/docs/api/variables/booleanFooter.md
+++ b/docs/api/variables/booleanFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / booleanFooter
+[@ai16z/eliza v0.1.3](../index.md) / booleanFooter
 
 # Variable: booleanFooter
 
diff --git a/docs/api/variables/defaultCharacter.md b/docs/api/variables/defaultCharacter.md
index e43cd8c3419..440af0a0aa1 100644
--- a/docs/api/variables/defaultCharacter.md
+++ b/docs/api/variables/defaultCharacter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / defaultCharacter
+[@ai16z/eliza v0.1.3](../index.md) / defaultCharacter
 
 # Variable: defaultCharacter
 
diff --git a/docs/api/variables/elizaLogger.md b/docs/api/variables/elizaLogger.md
index c33ed0865c5..3ccab07c80e 100644
--- a/docs/api/variables/elizaLogger.md
+++ b/docs/api/variables/elizaLogger.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / elizaLogger
+[@ai16z/eliza v0.1.3](../index.md) / elizaLogger
 
 # Variable: elizaLogger
 
@@ -6,4 +6,4 @@
 
 ## Defined in
 
-[packages/core/src/logger.ts:282](https://github.com/ai16z/eliza/blob/main/packages/core/src/logger.ts#L282)
+[packages/core/src/logger.ts:241](https://github.com/ai16z/eliza/blob/main/packages/core/src/logger.ts#L241)
diff --git a/docs/api/variables/embeddingDimension.md b/docs/api/variables/embeddingDimension.md
index dec77431f39..e72da188361 100644
--- a/docs/api/variables/embeddingDimension.md
+++ b/docs/api/variables/embeddingDimension.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / embeddingDimension
+[@ai16z/eliza v0.1.3](../index.md) / embeddingDimension
 
 # Variable: embeddingDimension
 
@@ -6,4 +6,4 @@
 
 ## Defined in
 
-[packages/core/src/memory.ts:9](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L9)
+[packages/core/src/memory.ts:10](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L10)
diff --git a/docs/api/variables/embeddingZeroVector.md b/docs/api/variables/embeddingZeroVector.md
index 6f3bb083464..c4227cee86c 100644
--- a/docs/api/variables/embeddingZeroVector.md
+++ b/docs/api/variables/embeddingZeroVector.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / embeddingZeroVector
+[@ai16z/eliza v0.1.3](../index.md) / embeddingZeroVector
 
 # Variable: embeddingZeroVector
 
@@ -6,4 +6,4 @@
 
 ## Defined in
 
-[packages/core/src/memory.ts:10](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L10)
+[packages/core/src/memory.ts:11](https://github.com/ai16z/eliza/blob/main/packages/core/src/memory.ts#L11)
diff --git a/docs/api/variables/envSchema.md b/docs/api/variables/envSchema.md
new file mode 100644
index 00000000000..7540d3d23e6
--- /dev/null
+++ b/docs/api/variables/envSchema.md
@@ -0,0 +1,11 @@
+[@ai16z/eliza v0.1.3](../index.md) / envSchema
+
+# Variable: envSchema
+
+> `const` **envSchema**: `any`
+
+TODO: TO COMPLETE
+
+## Defined in
+
+[packages/core/src/enviroment.ts:5](https://github.com/ai16z/eliza/blob/main/packages/core/src/enviroment.ts#L5)
diff --git a/docs/api/variables/evaluationTemplate.md b/docs/api/variables/evaluationTemplate.md
index 608fc1da311..ee125581b13 100644
--- a/docs/api/variables/evaluationTemplate.md
+++ b/docs/api/variables/evaluationTemplate.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / evaluationTemplate
+[@ai16z/eliza v0.1.3](../index.md) / evaluationTemplate
 
 # Variable: evaluationTemplate
 
diff --git a/docs/api/variables/messageCompletionFooter.md b/docs/api/variables/messageCompletionFooter.md
index 6b57fe329eb..a3cc89795d9 100644
--- a/docs/api/variables/messageCompletionFooter.md
+++ b/docs/api/variables/messageCompletionFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / messageCompletionFooter
+[@ai16z/eliza v0.1.3](../index.md) / messageCompletionFooter
 
 # Variable: messageCompletionFooter
 
diff --git a/docs/api/variables/models.md b/docs/api/variables/models.md
index f4fdacf4adf..3dcfec01fec 100644
--- a/docs/api/variables/models.md
+++ b/docs/api/variables/models.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / models
+[@ai16z/eliza v0.1.3](../index.md) / models
 
 # Variable: models
 
diff --git a/docs/api/variables/settings.md b/docs/api/variables/settings.md
index 9aa711f41c4..4e3bad4324e 100644
--- a/docs/api/variables/settings.md
+++ b/docs/api/variables/settings.md
@@ -1,9 +1,11 @@
-[@ai16z/eliza v1.0.0](../index.md) / settings
+[@ai16z/eliza v0.1.3](../index.md) / settings
 
 # Variable: settings
 
-> `const` **settings**: `ProcessEnv`
+> `const` **settings**: `Settings`
+
+Initialize settings based on environment
 
 ## Defined in
 
-[packages/core/src/settings.ts:54](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L54)
+[packages/core/src/settings.ts:110](https://github.com/ai16z/eliza/blob/main/packages/core/src/settings.ts#L110)
diff --git a/docs/api/variables/shouldRespondFooter.md b/docs/api/variables/shouldRespondFooter.md
index 69acacb8d55..52b7d30aa40 100644
--- a/docs/api/variables/shouldRespondFooter.md
+++ b/docs/api/variables/shouldRespondFooter.md
@@ -1,4 +1,4 @@
-[@ai16z/eliza v1.0.0](../index.md) / shouldRespondFooter
+[@ai16z/eliza v0.1.3](../index.md) / shouldRespondFooter
 
 # Variable: shouldRespondFooter
 
diff --git a/docs/api/variables/stringArrayFooter.md b/docs/api/variables/stringArrayFooter.md
index c44ee2b3f8d..d99c919a569 100644
--- a/docs/api/variables/stringArrayFooter.md
+++ b/docs/api/variables/stringArrayFooter.md
@@ -1,8 +1,8 @@
-[@ai16z/eliza v1.0.0](../index.md) / stringArrayFooter
+[@ai16z/eliza v0.1.3](../index.md) / stringArrayFooter
 
 # Variable: stringArrayFooter
 
-> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n 'value',\n 'value'\n\]\n\`\`\`\n\nYour response must include the JSON block."
+> `const` **stringArrayFooter**: "Respond with a JSON array containing the values in a JSON block formatted for markdown with this structure:\n\`\`\`json\n\[\n  'value',\n  'value'\n\]\n\`\`\`\n\nYour response must include the JSON block."
 
 ## Defined in
 
diff --git a/docs/docs/community/streams/2024-11-21.md b/docs/docs/community/streams/2024-11-21.md
new file mode 100644
index 00000000000..8b881fb42a5
--- /dev/null
+++ b/docs/docs/community/streams/2024-11-21.md
@@ -0,0 +1,78 @@
+---
+title: "The Delphi Podcast: Crypto x AI Agents"
+description: "The Definitive Podcast with Ai16z, Virtuals, MyShell, NOUS, and CENTS"
+---
+
+# Crypto x AI Agents
+
+Watch: https://www.youtube.com/watch?v=HVXxprDVMUM
+
+## Participants:
+- Tommy: Podcast host
+- Shaw: Founder of AI16z, creator of the Eliza agent framework
+- Ethan: Co-founder of MyShell, an AI app store
+- Jensen (EtherMage): From Virtuals Protocol, a platform for agent co-ownership, known for the Luna live-streaming bot
+- Karan: Co-founder of NOUS Research, creator of the Hermes instruction model and World Sim prompt
+- Justin Bennington (Somey): Founder of Someware Systems and creator of the Sentience agent system
+
+## Main Themes:
+1. **Explosive Growth and Innovation**: Rapid development with numerous open-source projects pushing boundaries. Example: AI16z's Eliza framework with 80+ contributors.
+2. **The Crypto Incentive**: Linking tokens to agents unlocks potential through speculative power, cash flow, and community building.
+3. **Bottom-Up Alignment**: Deploying agents in real-world social environments allows for real-time feedback and transparency.
+4. **Emergent Capabilities and Autonomy**: Agents exhibiting unforeseen behaviors, like religious beliefs, manipulation, and coordination.
+5. **The Future of Agent Interaction**: Developments like trust networks, shared state, and dedicated agent platforms on the horizon.
+
+## Key Quotes:
+- Shaw: "The amount of bad things that are happening is directly proportional to how much we're aligning these agents toward good."
+- Karan: "It's time to make that call to action to all your friends... who studied religious studies, philosophy, etc. ... We need you to start working on alignment with us."
+- Somey: "The agent is not going to ... purchase the [product]... What we're going to see is... a 1 trillion dollar industry... immediately seeing that none of its tricks... are working."
+
+## Key Takeaways:
+- Crypto AI agents are rapidly evolving, challenging traditional notions of intelligence and autonomy.
+- Crypto incentives are crucial for fueling development and attracting diverse talent.
+- Open, decentralized experimentation is seen as the most effective path towards aligning agents with human values.
+- The future will likely see agents developing complex social structures, interacting across platforms, and potentially disrupting established industries.
+
+# Timeline of Events
+## Years Ago (~4-5 years before podcast):
+- Key individuals begin discussing and experimenting with early language models like GPT-2.
+
+## ~2 Years Ago:
+- Someware and Karan have conversations about combining generative and hard constraints in AI systems.
+- Someware gains recognition on Twitter for early work on AI agents.
+
+## ~1.5 Years Ago:
+- Shaw hires Ampot for a project involving an AI agent called Monica.
+- Someware builds voice chat capabilities for a call center company.
+
+## Recent Past (~1 Year Ago):
+- The "Simulators Thesis" is published on LessWrong.
+- Projects like Bit Tensor and Prime Intellect offer financial incentives for open-source AI research.
+
+## Recent Months:
+- The release of models like Llama and Hermes provides open-source alternatives to closed models.
+- Truth Terminal and WorldSim gain popularity, demonstrating the potential of prompting.
+
+## Last Few Weeks:
+- The crypto AI agent explosion, with projects like Eliza, MyShell, Virtuals, and Sentience.
+- Memecoins tied to AI agents go viral on TikTok.
+- The first fully autonomous AI-powered virtual companies begin operating.
+- The need for shared state, persistent memory, and dedicated AI social platforms becomes apparent.
+
+## The Future (Next Few Weeks/Months):
+- Continued rapid development, with agents gaining greater autonomy and forming complex swarms.
+- Ethical concerns and the potential for misuse come into sharper focus.
+- Disruption to the traditional advertising and marketing industry.
+
+## Longer Term (Next 18 Months and Beyond):
+- Potential emergence of Artificial General Intelligence (AGI).
+- Dedicated social spaces for AI-human interaction become crucial.
+
+# Cast of Characters
+- **Shaw (AI16z)**: Founder of AI16z and creator of the Eliza framework.
+- **Someware (Sentience)**: Founder of Sentience, known for his work on immersive, sci-fi-inspired agent systems.
+- **Ethan (MyShell)**: Co-founder of MyShell, an AI app store.
+- **Jensen (Ether Mage, Virtuals)**: Part of the team behind Virtuals, a platform for co-owning and co-contributing to AI agents.
+- **Karan (NOUS Research)**: Co-founder of NOUS Research, creator of the Hermes model.
+- **Other Key Figures Mentioned**: Ampot, Ro Burito, King Boshi, Loaf, Beth AI Dev, Dgen Spartan AI, Thread Guy/Thread Gay, Deep Fates, Janice, Parzifal.
+
diff --git a/docs/docs/community/streams/2024-11-24.md b/docs/docs/community/streams/2024-11-24.md
new file mode 100644
index 00000000000..cffa9399af8
--- /dev/null
+++ b/docs/docs/community/streams/2024-11-24.md
@@ -0,0 +1,87 @@
+# Hats Protocol 11-24-24
+
+The overall presentation started with technical details about Hats protocol and gradually evolved into more forward-looking discussions about AI integration and gaming mechanics for DAO organization.
+
+0:00 - 5:00
+- Opening discussion about creating an "MMO version" of internet collaboration
+- Mentions how previous attempts didn't fully succeed but new tools are ready
+
+5:00 - 15:00
+- Introduction to core problems Hats protocol solves in DAOs
+- Explanation of disorganization and lack of clear roles in DAOs
+- Demo of Hats protocol interface begins
+
+15:00 - 30:00
+- Detailed walkthrough of a security council example
+- Shows how to edit and manage roles in the interface
+- Demonstrates how to export/import organization structures as JSON
+
+30:00 - 45:00
+- Discussion of different work groups and guild structures
+- Exploration of creative guild example
+- Talk about permission levels and admin relationships
+
+45:00 - 1:00:00
+- Deep dive into eligibility criteria for roles
+- Discussion of integration possibilities with GitHub
+- Explanation of automated admin capabilities
+
+1:00:00 - 1:15:00
+- Integration with Farcaster discussion
+- Introduction of AI agent possibilities
+- Talk about bottom-up contributions and reputation
+
+1:15:00 - end
+- Discussion of AI agents helping manage DAOs
+- Exploration of gaming mechanics in organization structure
+- Cost of Corruption (CoC) concept introduced
+- Closing thoughts on future of DAOs and AI integration
+
+Key moments worth highlighting:
+
+38:40 - Important discussion about treating hats as achievements and earning roles
+43:20 - Introduction of autonomous admin concepts
+1:04:30 - Significant conversation about AI agents' role in DAOs
+1:16:40 - Discussion of staking and accountability mechanisms
+
+---
+
+1. Core Purpose of Hats Protocol:
+- Helps solve disorganization and chaos in DAOs by providing clear roles and responsibilities
+- Acts as a delegation and coordination layer for DAOs
+- Uses tokenized "hats" (ERC-1155 tokens) to represent roles and permissions
+- Enables hierarchical organization structures while maintaining decentralization
+- Allows for automated admin functions through smart contracts
+
+2. Key Features:
+- Revocable roles (unlike soulbound tokens or badges)
+- Configurable eligibility criteria for roles
+- Admin relationships between different hat levels
+- Integration capabilities with tools like:
+  - Safe multi-sig wallets
+  - Gitcoin Passport
+  - Agreement signing modules
+  - Automated claim/mint functionality
+
+3. Proposed Application for AI16Z:
+- Creating structured work groups/guilds (Creative, Development, Operations, Research & AI, Community)
+- Enabling permission management for GitHub repos and other resources
+- Supporting bottom-up contributions while maintaining coordination
+- Integration potential with AI agents as autonomous admins
+- Progressive automation of DAO operations
+
+4. AI Agent Integration Possibilities:
+- AI agents could hold hats and have specific on-chain permissions
+- Agents could help with:
+  - Task delegation and management
+  - Reputation tracking
+  - Automated role assignment
+  - Community coordination
+  - Content creation and moderation
+
+5. Novel Concepts Discussed:
+- Gaming-inspired organizational structure (MMO-like guilds and achievements)
+- Progressive automation through AI agents
+- Multi-chain governance possibilities
+- Cost of Corruption (CoC) concept for role accountability
+- Integration with Farcaster for social coordination