@elizaos/plugin-roblox 2.0.0-beta.1 → 2.0.11-beta.7
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 +67 -130
- package/package.json +17 -10
- package/dist/__tests__/suite.d.ts +0 -7
- package/dist/__tests__/suite.d.ts.map +0 -1
- package/dist/actions/executeGameAction.d.ts +0 -4
- package/dist/actions/executeGameAction.d.ts.map +0 -1
- package/dist/actions/executeRobloxAction.d.ts +0 -4
- package/dist/actions/executeRobloxAction.d.ts.map +0 -1
- package/dist/actions/getPlayerInfo.d.ts +0 -4
- package/dist/actions/getPlayerInfo.d.ts.map +0 -1
- package/dist/actions/index.d.ts +0 -5
- package/dist/actions/index.d.ts.map +0 -1
- package/dist/actions/robloxAction.d.ts +0 -4
- package/dist/actions/robloxAction.d.ts.map +0 -1
- package/dist/actions/sendGameMessage.d.ts +0 -4
- package/dist/actions/sendGameMessage.d.ts.map +0 -1
- package/dist/actions/sendRobloxMessage.d.ts +0 -4
- package/dist/actions/sendRobloxMessage.d.ts.map +0 -1
- package/dist/client/RobloxClient.d.ts +0 -29
- package/dist/client/RobloxClient.d.ts.map +0 -1
- package/dist/client/index.d.ts +0 -2
- package/dist/client/index.d.ts.map +0 -1
- package/dist/generated/specs/specs.d.ts +0 -46
- package/dist/generated/specs/specs.d.ts.map +0 -1
- package/dist/index.browser.d.ts +0 -4
- package/dist/index.browser.d.ts.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -1058
- package/dist/index.js.map +0 -19
- package/dist/providers/gameStateProvider.d.ts +0 -3
- package/dist/providers/gameStateProvider.d.ts.map +0 -1
- package/dist/providers/index.d.ts +0 -5
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/robloxPlayerProvider.d.ts +0 -3
- package/dist/providers/robloxPlayerProvider.d.ts.map +0 -1
- package/dist/services/RobloxService.d.ts +0 -40
- package/dist/services/RobloxService.d.ts.map +0 -1
- package/dist/services/index.d.ts +0 -2
- package/dist/services/index.d.ts.map +0 -1
- package/dist/types/index.d.ts +0 -124
- package/dist/types/index.d.ts.map +0 -1
- package/dist/utils/config.d.ts +0 -11
- package/dist/utils/config.d.ts.map +0 -1
- package/dist/utils/index.d.ts +0 -2
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/vitest.config.d.ts +0 -3
- package/dist/vitest.config.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -1,186 +1,123 @@
|
|
|
1
1
|
# @elizaos/plugin-roblox
|
|
2
2
|
|
|
3
|
-
Roblox
|
|
3
|
+
Roblox Open Cloud integration for elizaOS agents: publish messages and game-side
|
|
4
|
+
action payloads to a Roblox experience, and look up Roblox players. Communication
|
|
5
|
+
is outbound (agent → Roblox); Open Cloud has no external subscribe endpoint, so
|
|
6
|
+
inbound player chat must be bridged from Roblox (see below).
|
|
4
7
|
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
- **Messaging Service**: Cross-server communication with Roblox games
|
|
8
|
-
- **DataStore Operations**: Persistent data storage for agents
|
|
9
|
-
- **Player Management**: Look up player information by ID or username
|
|
10
|
-
- **Game Actions**: Execute custom actions in-game
|
|
11
|
-
- **Experience Info**: Retrieve game metadata and statistics
|
|
12
|
-
|
|
13
|
-
## Installation
|
|
14
|
-
|
|
15
|
-
### TypeScript
|
|
8
|
+
## Install
|
|
16
9
|
|
|
17
10
|
```bash
|
|
18
|
-
npm install @elizaos/plugin-roblox
|
|
19
|
-
# or
|
|
20
11
|
bun add @elizaos/plugin-roblox
|
|
12
|
+
# or
|
|
13
|
+
npm install @elizaos/plugin-roblox
|
|
21
14
|
```
|
|
22
|
-
## Quick Start
|
|
23
15
|
|
|
24
|
-
|
|
16
|
+
## Use
|
|
25
17
|
|
|
26
18
|
```typescript
|
|
27
19
|
import { robloxPlugin } from "@elizaos/plugin-roblox";
|
|
28
20
|
|
|
29
|
-
// Add to your agent configuration
|
|
30
21
|
const agent = {
|
|
31
22
|
plugins: [robloxPlugin],
|
|
32
|
-
// ...
|
|
23
|
+
// ...
|
|
33
24
|
};
|
|
34
25
|
```
|
|
35
26
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
| ------------------------ | -------- | ---------------------------------------- |
|
|
40
|
-
| `ROBLOX_API_KEY` | Yes | Roblox Open Cloud API key |
|
|
41
|
-
| `ROBLOX_UNIVERSE_ID` | Yes | Universe ID of your experience |
|
|
42
|
-
| `ROBLOX_PLACE_ID` | No | Specific place ID |
|
|
43
|
-
| `ROBLOX_WEBHOOK_SECRET` | No | Secret for webhook validation |
|
|
44
|
-
| `ROBLOX_MESSAGING_TOPIC` | No | Messaging topic (default: "eliza-agent") |
|
|
45
|
-
| `ROBLOX_DRY_RUN` | No | Enable dry run mode (default: false) |
|
|
46
|
-
|
|
47
|
-
## Action
|
|
48
|
-
|
|
49
|
-
### ROBLOX_ACTION
|
|
50
|
-
|
|
51
|
-
Route Roblox game integration through one compact action surface.
|
|
52
|
-
|
|
53
|
-
Supported subactions:
|
|
54
|
-
|
|
55
|
-
- `message`: send a message to all players or target player IDs
|
|
56
|
-
- `execute`: publish a game-side action payload such as `spawn_entity`, `give_coins`, or `teleport`
|
|
57
|
-
- `get_player`: look up Roblox player information by username or user ID
|
|
58
|
-
|
|
59
|
-
**Examples:**
|
|
60
|
-
|
|
61
|
-
- "Tell everyone in the game that there's a special event happening"
|
|
62
|
-
- "Give player456 100 coins as a reward"
|
|
63
|
-
- "Who is player 12345678?"
|
|
27
|
+
The service is unavailable unless both `ROBLOX_API_KEY` and
|
|
28
|
+
`ROBLOX_UNIVERSE_ID` are set, and the `ROBLOX` action only validates when both are
|
|
29
|
+
present.
|
|
64
30
|
|
|
65
|
-
|
|
31
|
+
### Environment variables
|
|
66
32
|
|
|
67
|
-
|
|
33
|
+
| Variable | Required | Default | Description |
|
|
34
|
+
| ------------------------ | -------- | -------------- | ------------------------------------ |
|
|
35
|
+
| `ROBLOX_API_KEY` | Yes | — | Roblox Open Cloud API key |
|
|
36
|
+
| `ROBLOX_UNIVERSE_ID` | Yes | — | Universe ID of the experience |
|
|
37
|
+
| `ROBLOX_PLACE_ID` | No | — | Specific place ID |
|
|
38
|
+
| `ROBLOX_WEBHOOK_SECRET` | No | — | Secret exposed in config for external inbound bridges |
|
|
39
|
+
| `ROBLOX_MESSAGING_TOPIC` | No | `eliza-agent` | Messaging Service topic |
|
|
40
|
+
| `ROBLOX_DRY_RUN` | No | `false` | `"true"` suppresses publish calls |
|
|
68
41
|
|
|
69
|
-
|
|
42
|
+
## Plugin surface
|
|
70
43
|
|
|
71
|
-
-
|
|
72
|
-
-
|
|
73
|
-
-
|
|
74
|
-
-
|
|
75
|
-
-
|
|
44
|
+
- **Action `ROBLOX`** — routes three subactions:
|
|
45
|
+
- `message` — publish text to the messaging topic, optionally to specific player IDs (max 25)
|
|
46
|
+
- `execute` — publish a named game-side action (`move_npc`, `give_coins`, `teleport`, `spawn_entity`, `start_event`, …) with parameters; regex patterns infer common actions from natural language
|
|
47
|
+
- `get_player` — look up a Roblox user by numeric ID or username (display name, ban status, creation date, avatar headshot)
|
|
48
|
+
- **Provider `roblox-game-state`** — injects connection state and experience metadata (universe/place ID, experience name, active players, visits, creator, messaging topic, dry-run flag) into agent context.
|
|
49
|
+
- **Service `RobloxService`** — singleton holding one `RobloxAgentManager` (and `RobloxClient`) per agent UUID.
|
|
76
50
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
### RobloxService
|
|
80
|
-
|
|
81
|
-
Main service for managing Roblox connections and communication:
|
|
51
|
+
### Direct service use
|
|
82
52
|
|
|
83
53
|
```typescript
|
|
84
|
-
import { RobloxService
|
|
54
|
+
import { RobloxService } from "@elizaos/plugin-roblox";
|
|
85
55
|
|
|
86
|
-
|
|
87
|
-
const service = runtime.getService<RobloxService>(ROBLOX_SERVICE_NAME);
|
|
56
|
+
const service = runtime.getService<RobloxService>(RobloxService.serviceType);
|
|
88
57
|
|
|
89
|
-
|
|
90
|
-
await service.sendMessage(runtime.agentId, "Hello from Eliza!");
|
|
58
|
+
await service.sendMessage(runtime.agentId, "Hello from your agent!");
|
|
91
59
|
|
|
92
|
-
// Execute a game action
|
|
93
60
|
await service.executeAction(
|
|
94
61
|
runtime.agentId,
|
|
95
|
-
"
|
|
96
|
-
{
|
|
97
|
-
[12345678], //
|
|
62
|
+
"spawn_entity",
|
|
63
|
+
{ entityType: "dragon", location: "arena" },
|
|
64
|
+
[12345678], // target specific players (optional)
|
|
98
65
|
);
|
|
99
66
|
```
|
|
100
67
|
|
|
101
|
-
##
|
|
68
|
+
## Receiving payloads in Roblox
|
|
102
69
|
|
|
103
|
-
|
|
70
|
+
The agent publishes JSON to `ROBLOX_MESSAGING_TOPIC`. Subscribe in a Roblox
|
|
71
|
+
server script to react:
|
|
104
72
|
|
|
105
73
|
```lua
|
|
106
|
-
-- Server script in Roblox Studio
|
|
107
74
|
local MessagingService = game:GetService("MessagingService")
|
|
75
|
+
local HttpService = game:GetService("HttpService")
|
|
108
76
|
|
|
109
|
-
local TOPIC = "eliza-agent" --
|
|
77
|
+
local TOPIC = "eliza-agent" -- must match ROBLOX_MESSAGING_TOPIC
|
|
110
78
|
|
|
111
79
|
MessagingService:SubscribeAsync(TOPIC, function(message)
|
|
112
|
-
local data =
|
|
113
|
-
|
|
80
|
+
local data = HttpService:JSONDecode(message.Data)
|
|
114
81
|
if data.type == "agent_message" then
|
|
115
|
-
-- Handle agent message
|
|
116
82
|
print("Agent says:", data.content)
|
|
117
|
-
-- Broadcast to players, show in chat, etc.
|
|
118
83
|
elseif data.type == "agent_action" then
|
|
119
|
-
-- Handle agent action
|
|
120
84
|
print("Agent action:", data.action, data.parameters)
|
|
121
|
-
-- Execute the action in-game
|
|
122
85
|
end
|
|
123
86
|
end)
|
|
124
87
|
```
|
|
125
88
|
|
|
126
|
-
## Limitations
|
|
127
|
-
|
|
128
|
-
### Inbound messages (Roblox → agent)
|
|
129
|
-
|
|
130
|
-
Roblox Open Cloud **does not provide an external “subscribe” API** for `MessagingService`. That means:
|
|
131
|
-
|
|
132
|
-
- This plugin supports **agent → Roblox** (publish) reliably.
|
|
133
|
-
- It cannot, by itself, “listen to player chat” from outside Roblox by polling Open Cloud.
|
|
134
|
-
|
|
135
|
-
**Recommended approach**: run a small HTTP bridge server that Roblox calls via `HttpService:RequestAsync(...)` and let the agent respond. See `examples/roblox/`.
|
|
136
|
-
|
|
137
|
-
### Movement / “walking around”
|
|
89
|
+
## Limitations
|
|
138
90
|
|
|
139
|
-
|
|
91
|
+
- **Inbound is not supported by Open Cloud.** There is no external subscribe API for
|
|
92
|
+
`MessagingService`, so the plugin cannot poll player chat. To send Roblox → agent,
|
|
93
|
+
run an HTTP bridge that the experience calls via `HttpService:RequestAsync(...)`.
|
|
94
|
+
- **Movement / world changes** happen only if your experience subscribes to the topic
|
|
95
|
+
and interprets `agent_action` payloads (`move_npc`, `teleport`, …) using Roblox APIs.
|
|
96
|
+
- **No agent voice channel.** Open Cloud has none; audio playback requires game-side
|
|
97
|
+
logic and Roblox asset constraints.
|
|
140
98
|
|
|
141
|
-
|
|
142
|
-
- interprets `agent_action` payloads (e.g. `move_npc`, `teleport`)
|
|
143
|
-
- performs the movement using Roblox APIs (Humanoid / Pathfinding / TeleportService)
|
|
144
|
-
|
|
145
|
-
### Voice
|
|
146
|
-
|
|
147
|
-
Open Cloud does not provide a direct “agent voice” channel.
|
|
148
|
-
|
|
149
|
-
- You can generate audio externally, but Roblox playback requires game-side logic and Roblox’s audio constraints (assets / permissions / allowed sources).
|
|
150
|
-
- Most deployments start with **text** and add voice later with custom UI and an audio pipeline.
|
|
151
|
-
|
|
152
|
-
## Project Structure
|
|
99
|
+
## Layout
|
|
153
100
|
|
|
154
101
|
```
|
|
155
102
|
plugin-roblox/
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
│ ├── client.rs # API client
|
|
166
|
-
│ ├── service.rs # Service implementation
|
|
167
|
-
│ └── lib.rs # Crate entry point
|
|
168
|
-
├── python/ # Python implementation
|
|
169
|
-
│ └── elizaos_plugin_roblox/
|
|
170
|
-
│ ├── client.py # API client
|
|
171
|
-
│ ├── service.py # Service implementation
|
|
172
|
-
│ └── __init__.py # Package entry point
|
|
173
|
-
└── package.json # npm package configuration
|
|
103
|
+
index.ts Plugin entry (robloxPlugin, RobloxService, RobloxClient, RobloxApiError)
|
|
104
|
+
actions/ ROBLOX action router
|
|
105
|
+
providers/ roblox-game-state provider
|
|
106
|
+
services/ RobloxService (singleton)
|
|
107
|
+
client/ RobloxClient (Open Cloud + roblox.com HTTP wrapper)
|
|
108
|
+
types/ Shared type definitions
|
|
109
|
+
utils/ config.ts (hasRobloxEnabled, validateRobloxConfig)
|
|
110
|
+
prompts/ Prompt fragments (evaluators, providers)
|
|
111
|
+
__tests__/ Vitest suite
|
|
174
112
|
```
|
|
175
113
|
|
|
176
|
-
##
|
|
177
|
-
|
|
178
|
-
### Building
|
|
114
|
+
## Commands
|
|
179
115
|
|
|
180
116
|
```bash
|
|
181
|
-
#
|
|
182
|
-
bun run
|
|
183
|
-
#
|
|
184
|
-
bun run
|
|
185
|
-
|
|
186
|
-
|
|
117
|
+
bun run build # compile (build.ts)
|
|
118
|
+
bun run test # vitest run __tests__/
|
|
119
|
+
bun run typecheck # tsgo --noEmit
|
|
120
|
+
bun run lint # biome check + fix
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
See `CLAUDE.md` for agent-facing internals and extension points.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/plugin-roblox",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.11-beta.7",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -16,31 +16,37 @@
|
|
|
16
16
|
"types": "./dist/index.d.ts",
|
|
17
17
|
"default": "./dist/index.js"
|
|
18
18
|
}
|
|
19
|
+
},
|
|
20
|
+
"./*.css": "./dist/*.css",
|
|
21
|
+
"./*": {
|
|
22
|
+
"types": "./dist/*.d.ts",
|
|
23
|
+
"import": "./dist/*.js",
|
|
24
|
+
"default": "./dist/*.js"
|
|
19
25
|
}
|
|
20
26
|
},
|
|
21
27
|
"files": [
|
|
22
28
|
"dist"
|
|
23
29
|
],
|
|
24
30
|
"dependencies": {
|
|
25
|
-
"@elizaos/core": "2.0.
|
|
26
|
-
"zod": "^4.4.3"
|
|
31
|
+
"@elizaos/core": "2.0.11-beta.7"
|
|
27
32
|
},
|
|
28
33
|
"devDependencies": {
|
|
29
34
|
"@biomejs/biome": "^2.4.14",
|
|
30
35
|
"@types/node": "^25.0.3",
|
|
31
|
-
"typescript": "^6.0.3"
|
|
36
|
+
"typescript": "^6.0.3",
|
|
37
|
+
"vitest": "^4.1.4"
|
|
32
38
|
},
|
|
33
39
|
"scripts": {
|
|
34
40
|
"dev": "bun run build.ts --watch",
|
|
35
|
-
"typecheck": "
|
|
41
|
+
"typecheck": "tsgo --noEmit -p tsconfig.json",
|
|
36
42
|
"test": "vitest run __tests__/",
|
|
37
43
|
"test:unit": "vitest run __tests__/",
|
|
38
|
-
"test:integration": "echo 'Integration tests require elizaos CLI
|
|
44
|
+
"test:integration": "echo 'Integration tests require the elizaos CLI and live Roblox credentials'",
|
|
39
45
|
"lint": "bunx @biomejs/biome check --write --unsafe .",
|
|
40
|
-
"lint:check": "
|
|
46
|
+
"lint:check": "bunx @biomejs/biome check .",
|
|
41
47
|
"clean": "rm -rf dist .turbo .turbo-tsconfig.json tsconfig.tsbuildinfo",
|
|
42
|
-
"format": "biome format --write .",
|
|
43
|
-
"format:check": "biome format .",
|
|
48
|
+
"format": "bunx @biomejs/biome format --write .",
|
|
49
|
+
"format:check": "bunx @biomejs/biome format .",
|
|
44
50
|
"build": "bun run build.ts",
|
|
45
51
|
"build:ts": "bun run build.ts"
|
|
46
52
|
},
|
|
@@ -98,5 +104,6 @@
|
|
|
98
104
|
"platformDetails": {
|
|
99
105
|
"node": "ESM build available via exports.import"
|
|
100
106
|
}
|
|
101
|
-
}
|
|
107
|
+
},
|
|
108
|
+
"gitHead": "cdbc876f793d96073d7eb0d09715a031ce0cd32e"
|
|
102
109
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"suite.d.ts","sourceRoot":"","sources":["../../__tests__/suite.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,QAAQ,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAIxE,qBAAa,eAAgB,YAAW,SAAS;IAC/C,IAAI,SAAY;IAChB,WAAW,SAAkC;IAE7C,KAAK,EAAE,QAAQ,EAAE,CAkDf;CACH"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executeGameAction.d.ts","sourceRoot":"","sources":["../../actions/executeGameAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EASZ,MAAM,eAAe,CAAC;AAwIvB,QAAA,MAAM,iBAAiB,EAAE,MA0HxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"executeRobloxAction.d.ts","sourceRoot":"","sources":["../../actions/executeRobloxAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAUZ,MAAM,eAAe,CAAC;AAiMvB,eAAO,MAAM,mBAAmB,EAAE,MA2GjC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getPlayerInfo.d.ts","sourceRoot":"","sources":["../../actions/getPlayerInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EASZ,MAAM,eAAe,CAAC;AA4DvB,QAAA,MAAM,aAAa,EAAE,MAgKpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/actions/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../actions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,eAAO,MAAM,aAAa,EAAE,MAAM,EAAmB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"robloxAction.d.ts","sourceRoot":"","sources":["../../actions/robloxAction.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EAUZ,MAAM,eAAe,CAAC;AA+YvB,eAAO,MAAM,YAAY,EAAE,MAmI1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sendGameMessage.d.ts","sourceRoot":"","sources":["../../actions/sendGameMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EASZ,MAAM,eAAe,CAAC;AAuCvB,QAAA,MAAM,eAAe,EAAE,MA2HtB,CAAC;AAaF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sendRobloxMessage.d.ts","sourceRoot":"","sources":["../../actions/sendRobloxMessage.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,MAAM,EASZ,MAAM,eAAe,CAAC;AA0FvB,eAAO,MAAM,iBAAiB,EAAE,MAkG/B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { DataStoreEntry, JsonValue, JsonValueOrUndefined, MessagingServiceMessage, RobloxConfig, RobloxExperienceInfo, RobloxUser } from "../types";
|
|
2
|
-
export declare class RobloxApiError extends Error {
|
|
3
|
-
statusCode: number;
|
|
4
|
-
endpoint: string;
|
|
5
|
-
details?: JsonValue | string;
|
|
6
|
-
constructor(message: string, statusCode: number, endpoint: string, details?: JsonValue | string);
|
|
7
|
-
}
|
|
8
|
-
export declare class RobloxClient {
|
|
9
|
-
private config;
|
|
10
|
-
constructor(config: RobloxConfig);
|
|
11
|
-
private request;
|
|
12
|
-
publishMessage(topic: string, data: Record<string, JsonValueOrUndefined>, universeId?: string): Promise<void>;
|
|
13
|
-
sendAgentMessage(message: MessagingServiceMessage): Promise<void>;
|
|
14
|
-
getDataStoreEntry<T extends JsonValue = JsonValue>(datastoreName: string, key: string, scope?: string): Promise<DataStoreEntry<T> | null>;
|
|
15
|
-
setDataStoreEntry<T extends JsonValue = JsonValue>(datastoreName: string, key: string, value: T, scope?: string): Promise<DataStoreEntry<T>>;
|
|
16
|
-
deleteDataStoreEntry(datastoreName: string, key: string, scope?: string): Promise<void>;
|
|
17
|
-
listDataStoreEntries(datastoreName: string, scope?: string, prefix?: string, limit?: number): Promise<{
|
|
18
|
-
keys: string[];
|
|
19
|
-
nextPageCursor?: string;
|
|
20
|
-
}>;
|
|
21
|
-
getUserById(userId: number): Promise<RobloxUser>;
|
|
22
|
-
getUserByUsername(username: string): Promise<RobloxUser | null>;
|
|
23
|
-
getUsersByIds(userIds: number[]): Promise<RobloxUser[]>;
|
|
24
|
-
getAvatarUrl(userId: number, size?: string): Promise<string | undefined>;
|
|
25
|
-
getExperienceInfo(universeId?: string): Promise<RobloxExperienceInfo>;
|
|
26
|
-
getConfig(): Readonly<RobloxConfig>;
|
|
27
|
-
isDryRun(): boolean;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=RobloxClient.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"RobloxClient.d.ts","sourceRoot":"","sources":["../../client/RobloxClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,SAAS,EACT,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,oBAAoB,EACpB,UAAU,EACX,MAAM,UAAU,CAAC;AAKlB,qBAAa,cAAe,SAAQ,KAAK;IAG9B,UAAU,EAAE,MAAM;IAClB,QAAQ,EAAE,MAAM;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM;gBAHnC,OAAO,EAAE,MAAM,EACR,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM;CAKtC;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY;YAIlB,OAAO;IAwCf,cAAc,CAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC1C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAgBV,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAUjE,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACrD,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAiB,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;IA0B9B,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EACrD,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,KAAK,GAAE,MAAiB,GACvB,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAiCvB,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAiB,GACvB,OAAO,CAAC,IAAI,CAAC;IAYV,oBAAoB,CACxB,aAAa,EAAE,MAAM,EACrB,KAAK,GAAE,MAAiB,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,GAAE,MAAY,GAClB,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAkBjD,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBhD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAmC/D,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IA2BvD,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,MAAkB,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAgBnF,iBAAiB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2C3E,SAAS,IAAI,QAAQ,CAAC,YAAY,CAAC;IAInC,QAAQ,IAAI,OAAO;CAGpB"}
|
package/dist/client/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Auto-generated canonical action/provider docs for plugin-roblox.
|
|
3
|
-
* DO NOT EDIT - Generated from prompts/specs/**.
|
|
4
|
-
*/
|
|
5
|
-
export type ActionDoc = {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string;
|
|
8
|
-
similes?: readonly string[];
|
|
9
|
-
parameters?: readonly unknown[];
|
|
10
|
-
examples?: readonly (readonly unknown[])[];
|
|
11
|
-
};
|
|
12
|
-
export type ProviderDoc = {
|
|
13
|
-
name: string;
|
|
14
|
-
description: string;
|
|
15
|
-
position?: number;
|
|
16
|
-
dynamic?: boolean;
|
|
17
|
-
};
|
|
18
|
-
export declare const coreActionsSpec: {
|
|
19
|
-
readonly version: "1.0.0";
|
|
20
|
-
readonly actions: readonly [];
|
|
21
|
-
};
|
|
22
|
-
export declare const allActionsSpec: {
|
|
23
|
-
readonly version: "1.0.0";
|
|
24
|
-
readonly actions: readonly [];
|
|
25
|
-
};
|
|
26
|
-
export declare const coreProvidersSpec: {
|
|
27
|
-
readonly version: "1.0.0";
|
|
28
|
-
readonly providers: readonly [{
|
|
29
|
-
readonly name: "roblox-game-state";
|
|
30
|
-
readonly description: "Provides information about the connected Roblox game/experience";
|
|
31
|
-
readonly dynamic: true;
|
|
32
|
-
}];
|
|
33
|
-
};
|
|
34
|
-
export declare const allProvidersSpec: {
|
|
35
|
-
readonly version: "1.0.0";
|
|
36
|
-
readonly providers: readonly [{
|
|
37
|
-
readonly name: "roblox-game-state";
|
|
38
|
-
readonly description: "Provides information about the connected Roblox game/experience";
|
|
39
|
-
readonly dynamic: true;
|
|
40
|
-
}];
|
|
41
|
-
};
|
|
42
|
-
export declare const coreActionDocs: readonly ActionDoc[];
|
|
43
|
-
export declare const allActionDocs: readonly ActionDoc[];
|
|
44
|
-
export declare const coreProviderDocs: readonly ProviderDoc[];
|
|
45
|
-
export declare const allProviderDocs: readonly ProviderDoc[];
|
|
46
|
-
//# sourceMappingURL=specs.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"specs.d.ts","sourceRoot":"","sources":["../../../generated/specs/specs.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;IAChC,QAAQ,CAAC,EAAE,SAAS,CAAC,SAAS,OAAO,EAAE,CAAC,EAAE,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AACX,eAAO,MAAM,cAAc;;;CAGjB,CAAC;AACX,eAAO,MAAM,iBAAiB;;;;;;;CASpB,CAAC;AACX,eAAO,MAAM,gBAAgB;;;;;;;CASnB,CAAC;AAEX,eAAO,MAAM,cAAc,EAAE,SAAS,SAAS,EAA4B,CAAC;AAC5E,eAAO,MAAM,aAAa,EAAE,SAAS,SAAS,EAA2B,CAAC;AAC1E,eAAO,MAAM,gBAAgB,EAAE,SAAS,WAAW,EAAgC,CAAC;AACpF,eAAO,MAAM,eAAe,EAAE,SAAS,WAAW,EAA+B,CAAC"}
|
package/dist/index.browser.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.d.ts","sourceRoot":"","sources":["../index.browser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AAK3D,eAAO,MAAM,YAAY,EAAE,MAQ1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import type { Plugin } from "@elizaos/core";
|
|
2
|
-
export { RobloxApiError, RobloxClient } from "./client/RobloxClient";
|
|
3
|
-
export { RobloxService } from "./services/RobloxService";
|
|
4
|
-
export declare const robloxPlugin: Plugin;
|
|
5
|
-
export default robloxPlugin;
|
|
6
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,MAAM,EAAE,MAAM,eAAe,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,eAAO,MAAM,YAAY,EAAE,MAwB1B,CAAC;AAEF,eAAe,YAAY,CAAC"}
|