@elizaos/core 1.5.3-beta.3 → 1.5.5-alpha.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions.d.ts +23 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/browser/index.browser.js +172 -179
- package/dist/browser/index.browser.js.map +6 -197
- package/dist/browser/index.d.ts +2 -2
- package/dist/database.d.ts +481 -0
- package/dist/database.d.ts.map +1 -0
- package/dist/entities.d.ts +49 -0
- package/dist/entities.d.ts.map +1 -0
- package/{src/index.browser.ts → dist/index.browser.d.ts} +9 -21
- package/dist/index.browser.d.ts.map +1 -0
- package/dist/index.d.ts +27 -3
- package/dist/index.d.ts.map +1 -0
- package/{src/index.node.ts → dist/index.node.d.ts} +3 -16
- package/dist/index.node.d.ts.map +1 -0
- package/dist/logger.d.ts +47 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/node/index.d.ts +2 -2
- package/dist/node/index.node.js +15514 -439
- package/dist/node/index.node.js.map +139 -8
- package/dist/prompts.d.ts +8 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/roles.d.ts +30 -0
- package/dist/roles.d.ts.map +1 -0
- package/dist/runtime.d.ts +328 -0
- package/dist/runtime.d.ts.map +1 -0
- package/dist/schemas/character.d.ts +228 -0
- package/dist/schemas/character.d.ts.map +1 -0
- package/dist/search.d.ts +317 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/sentry/instrument.browser.d.ts +12 -0
- package/dist/sentry/instrument.browser.d.ts.map +1 -0
- package/dist/sentry/instrument.d.ts +12 -0
- package/dist/sentry/instrument.d.ts.map +1 -0
- package/dist/sentry/instrument.node.d.ts +11 -0
- package/dist/sentry/instrument.node.d.ts.map +1 -0
- package/dist/services.d.ts +49 -0
- package/dist/services.d.ts.map +1 -0
- package/dist/settings.d.ts +87 -0
- package/dist/settings.d.ts.map +1 -0
- package/{src/types/agent.ts → dist/types/agent.d.ts} +60 -74
- package/dist/types/agent.d.ts.map +1 -0
- package/dist/types/browser.d.ts +127 -0
- package/dist/types/browser.d.ts.map +1 -0
- package/dist/types/components.d.ts +135 -0
- package/dist/types/components.d.ts.map +1 -0
- package/dist/types/database.d.ts +278 -0
- package/dist/types/database.d.ts.map +1 -0
- package/dist/types/email.d.ts +143 -0
- package/dist/types/email.d.ts.map +1 -0
- package/dist/types/environment.d.ts +109 -0
- package/dist/types/environment.d.ts.map +1 -0
- package/dist/types/events.d.ts +207 -0
- package/dist/types/events.d.ts.map +1 -0
- package/{src/types/index.ts → dist/types/index.d.ts} +1 -0
- package/dist/types/index.d.ts.map +1 -0
- package/{src/types/knowledge.ts → dist/types/knowledge.d.ts} +18 -23
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/lp.d.ts +115 -0
- package/dist/types/lp.d.ts.map +1 -0
- package/{src/types/memory.ts → dist/types/memory.d.ts} +69 -132
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/message.d.ts +202 -0
- package/dist/types/message.d.ts.map +1 -0
- package/dist/types/messaging.d.ts +45 -0
- package/dist/types/messaging.d.ts.map +1 -0
- package/dist/types/model.d.ts +319 -0
- package/dist/types/model.d.ts.map +1 -0
- package/dist/types/pdf.d.ts +68 -0
- package/dist/types/pdf.d.ts.map +1 -0
- package/dist/types/plugin.d.ts +64 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/post.d.ts +242 -0
- package/dist/types/post.d.ts.map +1 -0
- package/dist/types/primitives.d.ts +72 -0
- package/dist/types/primitives.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +106 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/{src/types/service.ts → dist/types/service.d.ts} +69 -120
- package/dist/types/service.d.ts.map +1 -0
- package/dist/types/settings.d.ts +30 -0
- package/dist/types/settings.d.ts.map +1 -0
- package/{src/types/state.ts → dist/types/state.d.ts} +18 -19
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/task.d.ts +68 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/tee.d.ts +97 -0
- package/dist/types/tee.d.ts.map +1 -0
- package/dist/types/testing.d.ts +29 -0
- package/dist/types/testing.d.ts.map +1 -0
- package/dist/types/token.d.ts +73 -0
- package/dist/types/token.d.ts.map +1 -0
- package/dist/types/transcription.d.ts +108 -0
- package/dist/types/transcription.d.ts.map +1 -0
- package/dist/types/video.d.ts +93 -0
- package/dist/types/video.d.ts.map +1 -0
- package/dist/types/wallet.d.ts +49 -0
- package/dist/types/wallet.d.ts.map +1 -0
- package/dist/types/web-search.d.ts +112 -0
- package/dist/types/web-search.d.ts.map +1 -0
- package/dist/utils/buffer.d.ts +105 -0
- package/dist/utils/buffer.d.ts.map +1 -0
- package/dist/utils/environment.d.ts +106 -0
- package/dist/utils/environment.d.ts.map +1 -0
- package/dist/utils/server-health.d.ts +23 -0
- package/dist/utils/server-health.d.ts.map +1 -0
- package/dist/utils.d.ts +177 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/__tests__/action-chaining-simple.test.ts +0 -203
- package/src/__tests__/actions.test.ts +0 -218
- package/src/__tests__/buffer.test.ts +0 -337
- package/src/__tests__/character-validation.test.ts +0 -309
- package/src/__tests__/database.test.ts +0 -750
- package/src/__tests__/entities.test.ts +0 -727
- package/src/__tests__/env.test.ts +0 -23
- package/src/__tests__/environment.test.ts +0 -285
- package/src/__tests__/logger-browser-node.test.ts +0 -716
- package/src/__tests__/logger.test.ts +0 -403
- package/src/__tests__/messages.test.ts +0 -196
- package/src/__tests__/mockCharacter.ts +0 -544
- package/src/__tests__/parsing.test.ts +0 -58
- package/src/__tests__/prompts.test.ts +0 -159
- package/src/__tests__/roles.test.ts +0 -331
- package/src/__tests__/runtime-embedding.test.ts +0 -343
- package/src/__tests__/runtime.test.ts +0 -978
- package/src/__tests__/search.test.ts +0 -15
- package/src/__tests__/services-by-type.test.ts +0 -204
- package/src/__tests__/services.test.ts +0 -136
- package/src/__tests__/settings.test.ts +0 -810
- package/src/__tests__/utils.test.ts +0 -1105
- package/src/__tests__/uuid.test.ts +0 -94
- package/src/actions.ts +0 -122
- package/src/database.ts +0 -579
- package/src/entities.ts +0 -406
- package/src/index.ts +0 -50
- package/src/logger.ts +0 -527
- package/src/prompts.ts +0 -243
- package/src/roles.ts +0 -85
- package/src/runtime.ts +0 -2514
- package/src/schemas/character.ts +0 -149
- package/src/search.ts +0 -1543
- package/src/sentry/instrument.browser.ts +0 -65
- package/src/sentry/instrument.node.ts +0 -57
- package/src/sentry/instrument.ts +0 -82
- package/src/services.ts +0 -105
- package/src/settings.ts +0 -409
- package/src/test_resources/constants.ts +0 -12
- package/src/test_resources/testSetup.ts +0 -21
- package/src/test_resources/types.ts +0 -22
- package/src/types/browser.ts +0 -145
- package/src/types/components.ts +0 -184
- package/src/types/database.ts +0 -348
- package/src/types/email.ts +0 -162
- package/src/types/environment.ts +0 -129
- package/src/types/events.ts +0 -249
- package/src/types/lp.ts +0 -124
- package/src/types/message.ts +0 -233
- package/src/types/messaging.ts +0 -57
- package/src/types/model.ts +0 -359
- package/src/types/pdf.ts +0 -77
- package/src/types/plugin.ts +0 -78
- package/src/types/post.ts +0 -271
- package/src/types/primitives.ts +0 -97
- package/src/types/runtime.ts +0 -190
- package/src/types/settings.ts +0 -30
- package/src/types/task.ts +0 -72
- package/src/types/tee.ts +0 -107
- package/src/types/testing.ts +0 -30
- package/src/types/token.ts +0 -96
- package/src/types/transcription.ts +0 -133
- package/src/types/video.ts +0 -108
- package/src/types/wallet.ts +0 -56
- package/src/types/web-search.ts +0 -146
- package/src/utils/__tests__/buffer.test.ts +0 -80
- package/src/utils/__tests__/environment.test.ts +0 -58
- package/src/utils/__tests__/stringToUuid.test.ts +0 -88
- package/src/utils/buffer.ts +0 -312
- package/src/utils/environment.ts +0 -316
- package/src/utils/server-health.ts +0 -117
- package/src/utils.ts +0 -1076
package/src/types/environment.ts
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
import type { Metadata, UUID } from './primitives';
|
|
2
|
-
|
|
3
|
-
export interface Component {
|
|
4
|
-
id: UUID;
|
|
5
|
-
entityId: UUID;
|
|
6
|
-
agentId: UUID;
|
|
7
|
-
roomId: UUID;
|
|
8
|
-
worldId: UUID;
|
|
9
|
-
sourceEntityId: UUID;
|
|
10
|
-
type: string;
|
|
11
|
-
createdAt: number;
|
|
12
|
-
data: Metadata;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Represents a user account
|
|
17
|
-
*/
|
|
18
|
-
export interface Entity {
|
|
19
|
-
/** Unique identifier, optional on creation */
|
|
20
|
-
id?: UUID;
|
|
21
|
-
|
|
22
|
-
/** Names of the entity */
|
|
23
|
-
names: string[];
|
|
24
|
-
|
|
25
|
-
/** Additional metadata */
|
|
26
|
-
metadata: Metadata;
|
|
27
|
-
|
|
28
|
-
/** Agent ID this account is related to, for agents should be themselves */
|
|
29
|
-
agentId: UUID;
|
|
30
|
-
|
|
31
|
-
/** Optional array of components */
|
|
32
|
-
components?: Component[];
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Defines roles within a system, typically for access control or permissions, often within a `World`.
|
|
37
|
-
* - `OWNER`: Represents the highest level of control, typically the creator or primary administrator.
|
|
38
|
-
* - `ADMIN`: Represents administrative privileges, usually a subset of owner capabilities.
|
|
39
|
-
* - `NONE`: Indicates no specific role or default, minimal permissions.
|
|
40
|
-
* These roles are often used in `World.metadata.roles` to assign roles to entities.
|
|
41
|
-
*/
|
|
42
|
-
export enum Role {
|
|
43
|
-
OWNER = 'OWNER',
|
|
44
|
-
ADMIN = 'ADMIN',
|
|
45
|
-
NONE = 'NONE',
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
export type World = {
|
|
49
|
-
id: UUID;
|
|
50
|
-
name?: string;
|
|
51
|
-
agentId: UUID;
|
|
52
|
-
serverId: string;
|
|
53
|
-
metadata?: {
|
|
54
|
-
ownership?: {
|
|
55
|
-
ownerId: string;
|
|
56
|
-
};
|
|
57
|
-
roles?: {
|
|
58
|
-
[entityId: UUID]: Role;
|
|
59
|
-
};
|
|
60
|
-
[key: string]: unknown;
|
|
61
|
-
};
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
export enum ChannelType {
|
|
65
|
-
SELF = 'SELF', // Messages to self
|
|
66
|
-
DM = 'DM', // Direct messages between two participants
|
|
67
|
-
GROUP = 'GROUP', // Group messages with multiple participants
|
|
68
|
-
VOICE_DM = 'VOICE_DM', // Voice direct messages
|
|
69
|
-
VOICE_GROUP = 'VOICE_GROUP', // Voice channels with multiple participants
|
|
70
|
-
FEED = 'FEED', // Social media feed
|
|
71
|
-
THREAD = 'THREAD', // Threaded conversation
|
|
72
|
-
WORLD = 'WORLD', // World channel
|
|
73
|
-
FORUM = 'FORUM', // Forum discussion
|
|
74
|
-
// Legacy types - kept for backward compatibility but should be replaced
|
|
75
|
-
API = 'API', // @deprecated - Use DM or GROUP instead
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
export type Room = {
|
|
79
|
-
id: UUID;
|
|
80
|
-
name?: string;
|
|
81
|
-
agentId?: UUID;
|
|
82
|
-
source: string;
|
|
83
|
-
type: ChannelType;
|
|
84
|
-
channelId?: string;
|
|
85
|
-
serverId?: string;
|
|
86
|
-
worldId?: UUID;
|
|
87
|
-
metadata?: Metadata;
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export type RoomMetadata = {
|
|
91
|
-
[key: string]: unknown;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* Room participant with account details
|
|
96
|
-
*/
|
|
97
|
-
export interface Participant {
|
|
98
|
-
/** Unique identifier */
|
|
99
|
-
id: UUID;
|
|
100
|
-
|
|
101
|
-
/** Associated account */
|
|
102
|
-
entity: Entity;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Represents a relationship between users
|
|
107
|
-
*/
|
|
108
|
-
export interface Relationship {
|
|
109
|
-
/** Unique identifier */
|
|
110
|
-
id: UUID;
|
|
111
|
-
|
|
112
|
-
/** First user ID */
|
|
113
|
-
sourceEntityId: UUID;
|
|
114
|
-
|
|
115
|
-
/** Second user ID */
|
|
116
|
-
targetEntityId: UUID;
|
|
117
|
-
|
|
118
|
-
/** Agent ID */
|
|
119
|
-
agentId: UUID;
|
|
120
|
-
|
|
121
|
-
/** Tags for filtering/categorizing relationships */
|
|
122
|
-
tags: string[];
|
|
123
|
-
|
|
124
|
-
/** Additional metadata about the relationship */
|
|
125
|
-
metadata: Metadata;
|
|
126
|
-
|
|
127
|
-
/** Optional creation timestamp */
|
|
128
|
-
createdAt?: string;
|
|
129
|
-
}
|
package/src/types/events.ts
DELETED
|
@@ -1,249 +0,0 @@
|
|
|
1
|
-
import type { HandlerCallback } from './components';
|
|
2
|
-
import type { Entity, Room, World } from './environment';
|
|
3
|
-
import type { Memory } from './memory';
|
|
4
|
-
import type { ModelTypeName } from './model';
|
|
5
|
-
import type { Metadata, UUID } from './primitives';
|
|
6
|
-
import type { IAgentRuntime } from './runtime';
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Standard event types across all platforms
|
|
10
|
-
*/
|
|
11
|
-
export enum EventType {
|
|
12
|
-
// World events
|
|
13
|
-
WORLD_JOINED = 'WORLD_JOINED',
|
|
14
|
-
WORLD_CONNECTED = 'WORLD_CONNECTED',
|
|
15
|
-
WORLD_LEFT = 'WORLD_LEFT',
|
|
16
|
-
|
|
17
|
-
// Entity events
|
|
18
|
-
ENTITY_JOINED = 'ENTITY_JOINED',
|
|
19
|
-
ENTITY_LEFT = 'ENTITY_LEFT',
|
|
20
|
-
ENTITY_UPDATED = 'ENTITY_UPDATED',
|
|
21
|
-
|
|
22
|
-
// Room events
|
|
23
|
-
ROOM_JOINED = 'ROOM_JOINED',
|
|
24
|
-
ROOM_LEFT = 'ROOM_LEFT',
|
|
25
|
-
|
|
26
|
-
// Message events
|
|
27
|
-
MESSAGE_RECEIVED = 'MESSAGE_RECEIVED',
|
|
28
|
-
MESSAGE_SENT = 'MESSAGE_SENT',
|
|
29
|
-
MESSAGE_DELETED = 'MESSAGE_DELETED',
|
|
30
|
-
|
|
31
|
-
// Channel events
|
|
32
|
-
CHANNEL_CLEARED = 'CHANNEL_CLEARED',
|
|
33
|
-
|
|
34
|
-
// Voice events
|
|
35
|
-
VOICE_MESSAGE_RECEIVED = 'VOICE_MESSAGE_RECEIVED',
|
|
36
|
-
VOICE_MESSAGE_SENT = 'VOICE_MESSAGE_SENT',
|
|
37
|
-
|
|
38
|
-
// Interaction events
|
|
39
|
-
REACTION_RECEIVED = 'REACTION_RECEIVED',
|
|
40
|
-
POST_GENERATED = 'POST_GENERATED',
|
|
41
|
-
INTERACTION_RECEIVED = 'INTERACTION_RECEIVED',
|
|
42
|
-
|
|
43
|
-
// Run events
|
|
44
|
-
RUN_STARTED = 'RUN_STARTED',
|
|
45
|
-
RUN_ENDED = 'RUN_ENDED',
|
|
46
|
-
RUN_TIMEOUT = 'RUN_TIMEOUT',
|
|
47
|
-
|
|
48
|
-
// Action events
|
|
49
|
-
ACTION_STARTED = 'ACTION_STARTED',
|
|
50
|
-
ACTION_COMPLETED = 'ACTION_COMPLETED',
|
|
51
|
-
|
|
52
|
-
// Evaluator events
|
|
53
|
-
EVALUATOR_STARTED = 'EVALUATOR_STARTED',
|
|
54
|
-
EVALUATOR_COMPLETED = 'EVALUATOR_COMPLETED',
|
|
55
|
-
|
|
56
|
-
// Model events
|
|
57
|
-
MODEL_USED = 'MODEL_USED',
|
|
58
|
-
|
|
59
|
-
// Embedding events
|
|
60
|
-
EMBEDDING_GENERATION_REQUESTED = 'EMBEDDING_GENERATION_REQUESTED',
|
|
61
|
-
EMBEDDING_GENERATION_COMPLETED = 'EMBEDDING_GENERATION_COMPLETED',
|
|
62
|
-
EMBEDDING_GENERATION_FAILED = 'EMBEDDING_GENERATION_FAILED',
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Platform-specific event type prefix
|
|
67
|
-
*/
|
|
68
|
-
export enum PlatformPrefix {
|
|
69
|
-
DISCORD = 'DISCORD',
|
|
70
|
-
TELEGRAM = 'TELEGRAM',
|
|
71
|
-
TWITTER = 'TWITTER',
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Base payload interface for all events
|
|
76
|
-
*/
|
|
77
|
-
export interface EventPayload {
|
|
78
|
-
runtime: IAgentRuntime;
|
|
79
|
-
source: string;
|
|
80
|
-
onComplete?: () => void;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Payload for world-related events
|
|
85
|
-
*/
|
|
86
|
-
export interface WorldPayload extends EventPayload {
|
|
87
|
-
world: World;
|
|
88
|
-
rooms: Room[];
|
|
89
|
-
entities: Entity[];
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/**
|
|
93
|
-
* Payload for entity-related events
|
|
94
|
-
*/
|
|
95
|
-
export interface EntityPayload extends EventPayload {
|
|
96
|
-
entityId: UUID;
|
|
97
|
-
worldId?: UUID;
|
|
98
|
-
roomId?: UUID;
|
|
99
|
-
metadata?: {
|
|
100
|
-
orginalId: string;
|
|
101
|
-
username: string;
|
|
102
|
-
displayName?: string;
|
|
103
|
-
[key: string]: any;
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Payload for reaction-related events
|
|
109
|
-
*/
|
|
110
|
-
export interface MessagePayload extends EventPayload {
|
|
111
|
-
message: Memory;
|
|
112
|
-
callback?: HandlerCallback;
|
|
113
|
-
onComplete?: () => void;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Payload for channel cleared events
|
|
118
|
-
*/
|
|
119
|
-
export interface ChannelClearedPayload extends EventPayload {
|
|
120
|
-
roomId: UUID;
|
|
121
|
-
channelId: string;
|
|
122
|
-
memoryCount: number;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Payload for events that are invoked without a message
|
|
127
|
-
*/
|
|
128
|
-
export interface InvokePayload extends EventPayload {
|
|
129
|
-
worldId: UUID;
|
|
130
|
-
userId: string;
|
|
131
|
-
roomId: UUID;
|
|
132
|
-
callback?: HandlerCallback;
|
|
133
|
-
source: string;
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Run event payload type
|
|
138
|
-
*/
|
|
139
|
-
export interface RunEventPayload extends EventPayload {
|
|
140
|
-
runId: UUID;
|
|
141
|
-
messageId: UUID;
|
|
142
|
-
roomId: UUID;
|
|
143
|
-
entityId: UUID;
|
|
144
|
-
startTime: number;
|
|
145
|
-
status: 'started' | 'completed' | 'timeout';
|
|
146
|
-
endTime?: number;
|
|
147
|
-
duration?: number;
|
|
148
|
-
error?: string;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Action event payload type
|
|
153
|
-
*/
|
|
154
|
-
export interface ActionEventPayload extends EventPayload {
|
|
155
|
-
actionId: UUID;
|
|
156
|
-
actionName: string;
|
|
157
|
-
startTime?: number;
|
|
158
|
-
completed?: boolean;
|
|
159
|
-
error?: Error;
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
/**
|
|
163
|
-
* Evaluator event payload type
|
|
164
|
-
*/
|
|
165
|
-
export interface EvaluatorEventPayload extends EventPayload {
|
|
166
|
-
evaluatorId: UUID;
|
|
167
|
-
evaluatorName: string;
|
|
168
|
-
startTime?: number;
|
|
169
|
-
completed?: boolean;
|
|
170
|
-
error?: Error;
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
/**
|
|
174
|
-
* Model event payload type
|
|
175
|
-
*/
|
|
176
|
-
export interface ModelEventPayload extends EventPayload {
|
|
177
|
-
provider: string;
|
|
178
|
-
type: ModelTypeName;
|
|
179
|
-
prompt: string;
|
|
180
|
-
tokens?: {
|
|
181
|
-
prompt: number;
|
|
182
|
-
completion: number;
|
|
183
|
-
total: number;
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
/**
|
|
188
|
-
* Payload for embedding generation events
|
|
189
|
-
*/
|
|
190
|
-
export interface EmbeddingGenerationPayload extends EventPayload {
|
|
191
|
-
memory: Memory;
|
|
192
|
-
priority?: 'high' | 'normal' | 'low';
|
|
193
|
-
retryCount?: number;
|
|
194
|
-
maxRetries?: number;
|
|
195
|
-
embedding?: number[];
|
|
196
|
-
error?: any;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
export type MessageReceivedHandlerParams = {
|
|
200
|
-
runtime: IAgentRuntime;
|
|
201
|
-
message: Memory;
|
|
202
|
-
callback: HandlerCallback;
|
|
203
|
-
onComplete?: () => void;
|
|
204
|
-
};
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Maps event types to their corresponding payload types
|
|
208
|
-
*/
|
|
209
|
-
export interface EventPayloadMap {
|
|
210
|
-
[EventType.WORLD_JOINED]: WorldPayload;
|
|
211
|
-
[EventType.WORLD_CONNECTED]: WorldPayload;
|
|
212
|
-
[EventType.WORLD_LEFT]: WorldPayload;
|
|
213
|
-
[EventType.ENTITY_JOINED]: EntityPayload;
|
|
214
|
-
[EventType.ENTITY_LEFT]: EntityPayload;
|
|
215
|
-
[EventType.ENTITY_UPDATED]: EntityPayload;
|
|
216
|
-
[EventType.MESSAGE_RECEIVED]: MessagePayload;
|
|
217
|
-
[EventType.MESSAGE_SENT]: MessagePayload;
|
|
218
|
-
[EventType.MESSAGE_DELETED]: MessagePayload;
|
|
219
|
-
[EventType.CHANNEL_CLEARED]: ChannelClearedPayload;
|
|
220
|
-
[EventType.REACTION_RECEIVED]: MessagePayload;
|
|
221
|
-
[EventType.POST_GENERATED]: InvokePayload;
|
|
222
|
-
[EventType.INTERACTION_RECEIVED]: MessagePayload;
|
|
223
|
-
[EventType.RUN_STARTED]: RunEventPayload;
|
|
224
|
-
[EventType.RUN_ENDED]: RunEventPayload;
|
|
225
|
-
[EventType.RUN_TIMEOUT]: RunEventPayload;
|
|
226
|
-
[EventType.ACTION_STARTED]: ActionEventPayload;
|
|
227
|
-
[EventType.ACTION_COMPLETED]: ActionEventPayload;
|
|
228
|
-
[EventType.EVALUATOR_STARTED]: EvaluatorEventPayload;
|
|
229
|
-
[EventType.EVALUATOR_COMPLETED]: EvaluatorEventPayload;
|
|
230
|
-
[EventType.MODEL_USED]: ModelEventPayload;
|
|
231
|
-
[EventType.EMBEDDING_GENERATION_REQUESTED]: EmbeddingGenerationPayload;
|
|
232
|
-
[EventType.EMBEDDING_GENERATION_COMPLETED]: EmbeddingGenerationPayload;
|
|
233
|
-
[EventType.EMBEDDING_GENERATION_FAILED]: EmbeddingGenerationPayload;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
/**
|
|
237
|
-
* Event handler function type
|
|
238
|
-
*/
|
|
239
|
-
export type EventHandler<T extends keyof EventPayloadMap> = (
|
|
240
|
-
payload: EventPayloadMap[T]
|
|
241
|
-
) => Promise<void>;
|
|
242
|
-
|
|
243
|
-
/**
|
|
244
|
-
* Defines a more specific type for event handlers, expecting an `Metadata`.
|
|
245
|
-
* This aims to improve upon generic 'any' type handlers, providing a clearer contract
|
|
246
|
-
* for functions that respond to events emitted within the agent runtime (see `emitEvent` in `AgentRuntime`).
|
|
247
|
-
* Handlers can be synchronous or asynchronous.
|
|
248
|
-
*/
|
|
249
|
-
export type TypedEventHandler = (data: Metadata) => Promise<void> | void;
|
package/src/types/lp.ts
DELETED
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import type { Metadata } from './primitives';
|
|
2
|
-
import { Service } from './service';
|
|
3
|
-
import type { TokenBalance } from './token';
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* A standardized representation of a liquidity pool from any DEX.
|
|
7
|
-
*/
|
|
8
|
-
export type PoolInfo = {
|
|
9
|
-
id: string; // Unique identifier for the pool (e.g., LP token mint or a DEX-specific ID).
|
|
10
|
-
displayName?: string; // User-friendly name for the pool.
|
|
11
|
-
dex: string; // Identifier for the DEX (e.g., "orca", "raydium").
|
|
12
|
-
tokenA: {
|
|
13
|
-
mint: string;
|
|
14
|
-
symbol?: string;
|
|
15
|
-
reserve?: string;
|
|
16
|
-
decimals?: number;
|
|
17
|
-
};
|
|
18
|
-
tokenB: {
|
|
19
|
-
mint: string;
|
|
20
|
-
symbol?: string;
|
|
21
|
-
reserve?: string;
|
|
22
|
-
decimals?: number;
|
|
23
|
-
};
|
|
24
|
-
lpTokenMint?: string;
|
|
25
|
-
apr?: number; // Annual Percentage Rate.
|
|
26
|
-
apy?: number; // Annual Percentage Yield.
|
|
27
|
-
tvl?: number; // Total Value Locked in USD.
|
|
28
|
-
fee?: number; // Trading fee percentage.
|
|
29
|
-
metadata?: Metadata; // For DEX-specific extra data.
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* A standardized representation of a user's position in a liquidity pool.
|
|
34
|
-
*/
|
|
35
|
-
export type LpPositionDetails = {
|
|
36
|
-
poolId: string;
|
|
37
|
-
dex: string;
|
|
38
|
-
lpTokenBalance: TokenBalance;
|
|
39
|
-
underlyingTokens: TokenBalance[]; // Array of two token balances.
|
|
40
|
-
valueUsd?: number;
|
|
41
|
-
accruedFees?: TokenBalance[];
|
|
42
|
-
rewards?: TokenBalance[];
|
|
43
|
-
metadata?: Metadata; // For additional DEX-specific position data.
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* A standardized result for blockchain transactions.
|
|
48
|
-
*/
|
|
49
|
-
export type TransactionResult = {
|
|
50
|
-
success: boolean;
|
|
51
|
-
transactionId?: string;
|
|
52
|
-
error?: string;
|
|
53
|
-
data?: any;
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Abstract interface for a Liquidity Pool Service.
|
|
58
|
-
* DEX-specific plugins (e.g., for Orca, Raydium) must implement this service
|
|
59
|
-
* to allow the LP Manager to interact with them in a standardized way.
|
|
60
|
-
*/
|
|
61
|
-
export abstract class ILpService extends Service {
|
|
62
|
-
static override readonly serviceType = 'lp';
|
|
63
|
-
|
|
64
|
-
public readonly capabilityDescription = 'Provides standardized access to DEX liquidity pools.';
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Returns the name of the DEX this service interacts with.
|
|
68
|
-
* @returns The name of the DEX (e.g., "Orca", "Raydium").
|
|
69
|
-
*/
|
|
70
|
-
abstract getDexName(): string;
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Fetches a list of available liquidity pools from the DEX.
|
|
74
|
-
* @param tokenAMint - Optional: Filter pools by the mint address of the first token.
|
|
75
|
-
* @param tokenBMint - Optional: Filter pools by the mint address of the second token.
|
|
76
|
-
* @returns A promise that resolves to an array of standardized PoolInfo objects.
|
|
77
|
-
*/
|
|
78
|
-
abstract getPools(tokenAMint?: string, tokenBMint?: string): Promise<PoolInfo[]>;
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Adds liquidity to a specified pool.
|
|
82
|
-
* @param params - The parameters for adding liquidity.
|
|
83
|
-
* @returns A promise resolving to a transaction result, including the LP tokens received.
|
|
84
|
-
*/
|
|
85
|
-
abstract addLiquidity(params: {
|
|
86
|
-
userVault: any;
|
|
87
|
-
poolId: string;
|
|
88
|
-
tokenAAmountLamports: string;
|
|
89
|
-
tokenBAmountLamports?: string;
|
|
90
|
-
slippageBps: number;
|
|
91
|
-
tickLowerIndex?: number; // For concentrated liquidity
|
|
92
|
-
tickUpperIndex?: number; // For concentrated liquidity
|
|
93
|
-
}): Promise<TransactionResult & { lpTokensReceived?: TokenBalance }>;
|
|
94
|
-
|
|
95
|
-
/**
|
|
96
|
-
* Removes liquidity from a specified pool.
|
|
97
|
-
* @param params - The parameters for removing liquidity.
|
|
98
|
-
* @returns A promise resolving to a transaction result, including the tokens received.
|
|
99
|
-
*/
|
|
100
|
-
abstract removeLiquidity(params: {
|
|
101
|
-
userVault: any;
|
|
102
|
-
poolId: string;
|
|
103
|
-
lpTokenAmountLamports: string;
|
|
104
|
-
slippageBps: number;
|
|
105
|
-
}): Promise<TransactionResult & { tokensReceived?: TokenBalance[] }>;
|
|
106
|
-
|
|
107
|
-
/**
|
|
108
|
-
* Fetches the details of a specific LP position for a user.
|
|
109
|
-
* @param userAccountPublicKey - The user's wallet public key.
|
|
110
|
-
* @param poolOrPositionIdentifier - The identifier for the pool or a specific position (e.g., position NFT mint).
|
|
111
|
-
* @returns A promise resolving to the position details or null if not found.
|
|
112
|
-
*/
|
|
113
|
-
abstract getLpPositionDetails(
|
|
114
|
-
userAccountPublicKey: string,
|
|
115
|
-
poolOrPositionIdentifier: string
|
|
116
|
-
): Promise<LpPositionDetails | null>;
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Fetches the latest market data (e.g., APY, TVL) for a list of pools.
|
|
120
|
-
* @param poolIds - An array of pool IDs to fetch data for.
|
|
121
|
-
* @returns A promise resolving to a map of pool IDs to their partial market data.
|
|
122
|
-
*/
|
|
123
|
-
abstract getMarketDataForPools(poolIds: string[]): Promise<Record<string, Partial<PoolInfo>>>;
|
|
124
|
-
}
|