@blazium-games/skills 0.1.7 → 0.1.9

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blazium-games/skills",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "Agent skills for the Blazium Games platform.",
5
5
  "repository": "https://github.com/blazium-games/games_skill",
6
6
  "license": "MIT",
@@ -21,7 +21,7 @@ Summarize store page traffic for one game.
21
21
  ## 1. Fetch
22
22
 
23
23
  1. Resolve the game with `list_games` if the user did not give a `uid`.
24
- 2. Call `get_game_analytics` with `uid` (or read `blazium-games://games/{uid}/analytics`).
24
+ 2. Call `get_game_analytics` with `uid` and, when the user names a build, `build` (or read `blazium-games://games/{uid}/analytics`).
25
25
 
26
26
  ## 2. Interpret
27
27
 
@@ -37,6 +37,7 @@ Summarize store page traffic for one game.
37
37
  | `downloads.by_source[]` | `website`, `asset_library` (Godot or Blazium editor), `api`, `mcp_player`, `mcp_dev` |
38
38
  | `downloads.by_access[]` | `anonymous`, `owner`, `free`, `purchase`, `grant`, `key`, `bundle` |
39
39
  | `downloads.by_outcome[]` | Every attempt, including refusals such as `sign_in_required` and `payment_required` |
40
+ | `events[]` | Registered funnel events: `name`, `count`, `unique_devices`, and `daily`. This is not visitor or download analytics |
40
41
 
41
42
  Analytics are aggregate. Individual visitors are not identifiable through the MCP.
42
43
 
@@ -98,16 +98,7 @@ Ask before adding them if the game has no privacy policy or the user needs playe
98
98
 
99
99
  ## 4. Custom events (optional)
100
100
 
101
- ```http
102
- POST https://api.blazium.online/api/v1/public/events
103
- X-App-Id: <game uid>
104
- X-Build-Id: <build_id>
105
- Content-Type: application/json
106
-
107
- { "events": [ { "event": "level_complete", "anonymous": true, "device_uid": "<random per install>" } ] }
108
- ```
109
-
110
- Up to 100 events per request (more returns `4130`); the response is `202`. Use a random per-install id, not hardware identifiers.
101
+ Register the name first with `set_funnels`. Then record it from the signed-in client, a game server key, or a scripted lobby. Unknown names are refused. See https://docs.blazium.games/docs/progress. The six standard events stay on the public route above.
111
102
 
112
103
  ## 5. Symbols
113
104
 
@@ -50,7 +50,7 @@ Tell the user to store them as CI secrets (for example GitHub Actions secrets `B
50
50
  chauffeur reads `BLAZIUM_ACCESS_TOKEN` and `BLAZIUM_SECRET_KEY` from the environment (or `--access` and `--secret-stdin`). `chauffeur info` confirms which game the key belongs to.
51
51
 
52
52
  1. Generate `build.yml` once: `chauffeur genbuild --version 1.0.0`
53
- 2. Optionally add changelog entries: `chauffeur addchangelog --title "..." --description "..."`
53
+ 2. Optionally add changelog entries: `chauffeur addchangelog --title "..." --description "..."`. A new or changed changelog on a stable build emails the owner and accepted admins. The store page shows it, and a game pulls it from `GET /api/v1/games/{game_uid}/patch/notices` until the player acknowledges it.
54
54
  3. Register the build: `chauffeur build --asset build.yml --os windows --arch x86_64`. It prints `BLAZIUM_GAMES_APP_ID` and `BLAZIUM_GAMES_BUILD_ID`
55
55
  4. Generate `addfiles.yml`: `chauffeur setfiles --version 1.0.0 --os windows --arch x86_64 --files ./export/windows`
56
56
  5. Upload the files, and symbols if the user has them: `chauffeur addfiles --asset addfiles.yml --symbols ./symbols`
@@ -84,6 +84,7 @@ If OAuth is not possible (headless CI, remote agents), use an API key instead. S
84
84
  | Add crash reporting to a game | `blazium-games-crash-reporting` |
85
85
  | Investigate a crash | `blazium-games-debug-crash` |
86
86
  | Read visitor analytics | `blazium-games-analytics` |
87
+ | Set achievements, stats, funnels, or presence writers | `get_achievements`, `set_achievements`, `get_stats`, `set_stats`, `get_funnels`, `set_funnels`, `get_presence_writers`, `set_presence_writers` ([tools](./references/tools.md)). A game reads unlocks and stats with `progress()` and sets a client status with `set_presence` when `client` is a writer. |
87
88
  | Rotate MCP or deploy keys | `blazium-games-keys` |
88
89
  | Moderate a game's chat channel (guests, bans, mutes) | `get_game_chat`, then `set_chat_guests`, `ban_chat_user`, or `suspend_chat_user` only when the human asks ([tools](./references/tools.md)) |
89
90
  | Find, review, or play games as a player, or get a chat token | `blazium-games-player` |
@@ -6,3 +6,10 @@ description: Publish a Luau lobby pack with chauffeur and check it on the Script
6
6
  # Lobby packs
7
7
 
8
8
  `chauffeur lobby publish --dir <path>` packs `.lua` files, refuses any other script, and uploads through the uploader. `chauffeur lobby list` and `chauffeur lobby status` show the stored packs and the checksum the next lobby loads. The game editor Scripted lobby tab shows the same history. The page does not upload the pack.
9
+
10
+ A seated pack can call these on `lobby`. The host performs them. The pack never sees the host token.
11
+
12
+ - `unlock_achievement(user, slug)` and `set_stat(user, slug, value)` write progress when that definition lists `scripted_lobby`.
13
+ - `record_event(user, name, fields)` stores one registered funnel event. Slug, event, and status strings that are too long are refused before the call. `fields` is at most 4 KiB.
14
+ - `analytics(name)` reads count, unique devices, and the daily totals for one event that lists `scripted_lobby`. An optional build filter uses the same shape. It does not return visitor or download numbers.
15
+ - `set_presence(user, status)` only notifies that player's lobby connection. The host signs the notice. The launcher applies it.