@elizaos/plugin-action-bench 1.4.3 → 1.4.4
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/README.md +78 -11
- package/dist/index.cjs +770 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +770 -2
- package/dist/index.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# plugin-action-bench
|
2
2
|
|
3
|
-
Action calling benchmark plugins for ElizaOS v2, featuring multiverse mathematics
|
3
|
+
Action calling benchmark plugins for ElizaOS v2, featuring typewriter actions, multiverse mathematics with dimensional constants, and relational data management. Designed to test AI agents' ability to handle action chaining, context-dependent operations, and complex entity-relationship graphs.
|
4
4
|
|
5
|
-
> **🎛️ Environment Control**: Use `TYPEWRITER_ENABLED=false` or `
|
5
|
+
> **🎛️ Environment Control**: Use `TYPEWRITER_ENABLED=false`, `MULTIVERSE_MATH_ENABLED=false`, or `RELATIONAL_DATA_ENABLED=false` to selectively disable benchmark sets. See [Environment Variable Configuration](#environment-variable-configuration) for details.
|
6
6
|
|
7
7
|
## Features
|
8
8
|
|
@@ -73,16 +73,50 @@ Square root variations:
|
|
73
73
|
- **MATH_CLEAR**: Reset all buffers
|
74
74
|
- **TRANSFER_TO_INPUT**: Move accumulator to input buffer
|
75
75
|
|
76
|
+
### 🔗 Relational Data Operations
|
77
|
+
Entity-relationship graph management for testing complex data operations:
|
78
|
+
|
79
|
+
#### Entity Management
|
80
|
+
- **CREATE_ENTITY**: Create entities with types (person, company, product, etc.)
|
81
|
+
- **SELECT_ENTITY**: Select an entity as the current focus
|
82
|
+
- **DELETE_ENTITY**: Delete entity and all its relationships
|
83
|
+
- **SET_ATTRIBUTE**: Add/update attributes on entities
|
84
|
+
|
85
|
+
#### Relationship Management
|
86
|
+
- **CREATE_RELATIONSHIP**: Link entities with typed relationships
|
87
|
+
- Types: parent_child, sibling, friend, employment, ownership, management, partnership, membership, location, assignment
|
88
|
+
|
89
|
+
#### Query Operations
|
90
|
+
- **QUERY_ENTITIES**: Find entities by type or attribute values
|
91
|
+
- **QUERY_RELATIONSHIPS**: Find relationships by type or entity
|
92
|
+
- **FIND_PATH**: Find shortest path between two entities
|
93
|
+
- **COUNT_STATISTICS**: Get graph statistics (entity/relationship counts)
|
94
|
+
|
95
|
+
#### Utility Operations
|
96
|
+
- **CLEAR_GRAPH**: Reset the entire entity-relationship graph
|
97
|
+
|
76
98
|
## State Management
|
77
99
|
|
78
100
|
The plugin maintains a sophisticated state system:
|
101
|
+
|
102
|
+
### Typewriter State
|
103
|
+
- **typedText**: Accumulation buffer for typed characters
|
104
|
+
|
105
|
+
### Multiverse Math State
|
79
106
|
- **accumulator**: Main calculation result storage
|
80
107
|
- **inputBuffer**: Temporary number input storage
|
81
108
|
- **memory**: Persistent value storage
|
82
|
-
- **history**: Operation history tracking with explanations
|
83
|
-
- **typedText**: Typewriter accumulation buffer
|
84
109
|
- **dimension**: Current dimensional constant affecting operations
|
85
|
-
- **
|
110
|
+
- **history**: Operation history tracking with explanations
|
111
|
+
|
112
|
+
### Relational Data State
|
113
|
+
- **entities**: Collection of created entities with attributes
|
114
|
+
- **relationships**: Collection of relationships between entities
|
115
|
+
- **currentEntity**: Currently selected entity for operations
|
116
|
+
- **queryResults**: Results from recent queries
|
117
|
+
|
118
|
+
### Global State
|
119
|
+
- **lastOperation**: Track the most recent operation performed across all benchmarks
|
86
120
|
|
87
121
|
## Usage
|
88
122
|
|
@@ -108,7 +142,8 @@ console.log("Benchmark configuration:", benchmarkConfig);
|
|
108
142
|
// {
|
109
143
|
// typewriterEnabled: true,
|
110
144
|
// multiverseMathEnabled: true,
|
111
|
-
//
|
145
|
+
// relationalDataEnabled: true,
|
146
|
+
// totalActionsLoaded: 58
|
112
147
|
// }
|
113
148
|
```
|
114
149
|
|
@@ -122,6 +157,7 @@ The plugin supports granular control over which benchmark actions are loaded thr
|
|
122
157
|
|----------|---------|-------------|
|
123
158
|
| `TYPEWRITER_ENABLED` | `true` | Controls loading of typewriter actions (A-Z) |
|
124
159
|
| `MULTIVERSE_MATH_ENABLED` | `true` | Controls loading of multiverse math operations |
|
160
|
+
| `RELATIONAL_DATA_ENABLED` | `true` | Controls loading of relational data operations |
|
125
161
|
|
126
162
|
### Examples
|
127
163
|
|
@@ -130,13 +166,16 @@ The plugin supports granular control over which benchmark actions are loaded thr
|
|
130
166
|
npm start
|
131
167
|
|
132
168
|
# Only load typewriter actions
|
133
|
-
MULTIVERSE_MATH_ENABLED=false npm start
|
169
|
+
MULTIVERSE_MATH_ENABLED=false RELATIONAL_DATA_ENABLED=false npm start
|
134
170
|
|
135
171
|
# Only load multiverse math actions
|
136
|
-
TYPEWRITER_ENABLED=false npm start
|
172
|
+
TYPEWRITER_ENABLED=false RELATIONAL_DATA_ENABLED=false npm start
|
137
173
|
|
138
|
-
#
|
174
|
+
# Only load relational data actions
|
139
175
|
TYPEWRITER_ENABLED=false MULTIVERSE_MATH_ENABLED=false npm start
|
176
|
+
|
177
|
+
# Disable all benchmarks (useful for production)
|
178
|
+
TYPEWRITER_ENABLED=false MULTIVERSE_MATH_ENABLED=false RELATIONAL_DATA_ENABLED=false npm start
|
140
179
|
```
|
141
180
|
|
142
181
|
### .env File Configuration
|
@@ -147,10 +186,12 @@ You can also configure these in your `.env` file:
|
|
147
186
|
# Enable/disable specific benchmarks
|
148
187
|
TYPEWRITER_ENABLED=true
|
149
188
|
MULTIVERSE_MATH_ENABLED=true
|
189
|
+
RELATIONAL_DATA_ENABLED=true
|
150
190
|
|
151
191
|
# Example: Only enable typewriter for focused testing
|
152
192
|
# TYPEWRITER_ENABLED=true
|
153
193
|
# MULTIVERSE_MATH_ENABLED=false
|
194
|
+
# RELATIONAL_DATA_ENABLED=false
|
154
195
|
```
|
155
196
|
|
156
197
|
### Runtime Feedback
|
@@ -160,7 +201,8 @@ The plugin provides console output to confirm which benchmarks are loaded:
|
|
160
201
|
```
|
161
202
|
[plugin-action-bench] Typewriter actions enabled
|
162
203
|
[plugin-action-bench] Multiverse math actions enabled
|
163
|
-
[plugin-action-bench]
|
204
|
+
[plugin-action-bench] Relational data actions enabled
|
205
|
+
[plugin-action-bench] Total actions loaded: 58
|
164
206
|
```
|
165
207
|
|
166
208
|
Or when disabled:
|
@@ -168,7 +210,8 @@ Or when disabled:
|
|
168
210
|
```
|
169
211
|
[plugin-action-bench] Typewriter actions disabled via TYPEWRITER_ENABLED=false
|
170
212
|
[plugin-action-bench] Multiverse math actions enabled
|
171
|
-
[plugin-action-bench]
|
213
|
+
[plugin-action-bench] Relational data actions enabled
|
214
|
+
[plugin-action-bench] Total actions loaded: 32
|
172
215
|
```
|
173
216
|
|
174
217
|
### Why Use Environment Variables?
|
@@ -236,6 +279,30 @@ Agent: Must understand to set chaos dimension and apply MULTIVERSE_ADD
|
|
236
279
|
Result: Deterministic chaos factor added based on seed generation
|
237
280
|
```
|
238
281
|
|
282
|
+
### Relational Data Test
|
283
|
+
Test entity and relationship management:
|
284
|
+
```
|
285
|
+
User: "Create person named Alice, create company named TechCorp, create employment relationship"
|
286
|
+
Agent: Uses CREATE_ENTITY, CREATE_ENTITY, CREATE_RELATIONSHIP
|
287
|
+
Result: Graph with Alice → (employment) → TechCorp
|
288
|
+
```
|
289
|
+
|
290
|
+
### Complex Graph Query Test
|
291
|
+
Test graph traversal and querying:
|
292
|
+
```
|
293
|
+
User: "Create entities Bob and Carol, make them siblings, find path between them"
|
294
|
+
Agent: Creates entities, establishes sibling relationship, finds connection path
|
295
|
+
Result: Bob → (sibling) → Carol
|
296
|
+
```
|
297
|
+
|
298
|
+
### Attribute Management Test
|
299
|
+
Test entity attribute handling:
|
300
|
+
```
|
301
|
+
User: "Create person John, set age 30, set role manager, query person entities"
|
302
|
+
Agent: Uses CREATE_ENTITY, SET_ATTRIBUTE (×2), QUERY_ENTITIES
|
303
|
+
Result: John with {age: 30, role: "manager"}
|
304
|
+
```
|
305
|
+
|
239
306
|
## Development
|
240
307
|
|
241
308
|
This plugin is part of the ElizaOS ecosystem and follows the standard plugin architecture.
|