foundryvtt-mcp 1.5.1 → 1.5.3
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 +23 -12
- package/dist/diagnostics/client.d.ts +8 -4
- package/dist/diagnostics/client.d.ts.map +1 -1
- package/dist/diagnostics/client.js +8 -3
- package/dist/diagnostics/client.js.map +1 -1
- package/dist/foundry/auth.d.ts.map +1 -1
- package/dist/foundry/auth.js +9 -0
- package/dist/foundry/auth.js.map +1 -1
- package/dist/foundry/client.d.ts +127 -6
- package/dist/foundry/client.d.ts.map +1 -1
- package/dist/foundry/client.js +261 -38
- package/dist/foundry/client.js.map +1 -1
- package/dist/foundry/dice-formula.d.ts +79 -0
- package/dist/foundry/dice-formula.d.ts.map +1 -0
- package/dist/foundry/dice-formula.js +154 -0
- package/dist/foundry/dice-formula.js.map +1 -0
- package/dist/foundry/types.d.ts +11 -1
- package/dist/foundry/types.d.ts.map +1 -1
- package/dist/foundry/world-cache.d.ts +22 -0
- package/dist/foundry/world-cache.d.ts.map +1 -1
- package/dist/foundry/world-cache.js +56 -0
- package/dist/foundry/world-cache.js.map +1 -1
- package/dist/tools/definitions.d.ts +9 -0
- package/dist/tools/definitions.d.ts.map +1 -1
- package/dist/tools/definitions.js +77 -54
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/handlers/combat-mutations.d.ts +14 -0
- package/dist/tools/handlers/combat-mutations.d.ts.map +1 -1
- package/dist/tools/handlers/combat-mutations.js +33 -4
- package/dist/tools/handlers/combat-mutations.js.map +1 -1
- package/dist/tools/handlers/combat-order.d.ts +69 -0
- package/dist/tools/handlers/combat-order.d.ts.map +1 -0
- package/dist/tools/handlers/combat-order.js +94 -0
- package/dist/tools/handlers/combat-order.js.map +1 -0
- package/dist/tools/handlers/combat.d.ts.map +1 -1
- package/dist/tools/handlers/combat.js +5 -2
- package/dist/tools/handlers/combat.js.map +1 -1
- package/dist/tools/handlers/diagnostics.d.ts +25 -0
- package/dist/tools/handlers/diagnostics.d.ts.map +1 -1
- package/dist/tools/handlers/diagnostics.js +152 -38
- package/dist/tools/handlers/diagnostics.js.map +1 -1
- package/dist/tools/handlers/dice.d.ts +1 -1
- package/dist/tools/handlers/dice.d.ts.map +1 -1
- package/dist/tools/handlers/dice.js +2 -1
- package/dist/tools/handlers/dice.js.map +1 -1
- package/dist/tools/handlers/resources.d.ts.map +1 -1
- package/dist/tools/handlers/resources.js +16 -1
- package/dist/tools/handlers/resources.js.map +1 -1
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -144,7 +144,7 @@ Ask your AI assistant things like:
|
|
|
144
144
|
- `get_scene_info` — current scene details
|
|
145
145
|
- `search_journals` — search notes and handouts
|
|
146
146
|
- `get_journal` — retrieve a specific journal entry
|
|
147
|
-
- `get_users` — list
|
|
147
|
+
- `get_users` — list users, roles, and live online status
|
|
148
148
|
- `get_combat_state` — combat state and initiative order
|
|
149
149
|
- `get_chat_messages` — recent chat history
|
|
150
150
|
|
|
@@ -154,9 +154,13 @@ Game-state mutations are **disabled by default**. They use the Socket.IO
|
|
|
154
154
|
`modifyDocument` protocol over an authenticated session, and the connected user
|
|
155
155
|
needs GM/owner permission. Set `FOUNDRY_WRITE_ENABLED=true` to enable them.
|
|
156
156
|
|
|
157
|
+
- `start_combat` — begin a new encounter, seeding combatants from tokens (does
|
|
158
|
+
not check for an existing combat — calling it during an active one creates a
|
|
159
|
+
second encounter)
|
|
157
160
|
- `next_turn` — advance the active combat to the next turn (wraps to the next round)
|
|
158
161
|
- `end_combat` — end (delete) the active combat encounter
|
|
159
|
-
- `set_initiative` — set a combatant's initiative in the active combat
|
|
162
|
+
- `set_initiative` — set a combatant's initiative in the active combat, moving the
|
|
163
|
+
turn marker with the acting combatant if the reorder shifts them
|
|
160
164
|
- `move_token` — move a token to new x/y coordinates on its scene
|
|
161
165
|
- `apply_status_effect` — apply or remove a status condition (e.g. prone, stunned) on a token's actor
|
|
162
166
|
- `update_actor_attributes` — patch an actor's `system` attributes (HP, currency, spell slots, …)
|
|
@@ -170,25 +174,31 @@ needs GM/owner permission. Set `FOUNDRY_WRITE_ENABLED=true` to enable them.
|
|
|
170
174
|
|
|
171
175
|
- `search_world` — full-text search across all game entities
|
|
172
176
|
- `get_world_summary` — overview of the current world state
|
|
173
|
-
- `refresh_world_data` — reload world data from FoundryVTT
|
|
177
|
+
- `refresh_world_data` — reload world data from FoundryVTT; needed after a dropped
|
|
178
|
+
connection, whose missed updates are never replayed into the cache
|
|
174
179
|
|
|
175
180
|
### Game Mechanics
|
|
176
181
|
|
|
177
|
-
- `roll_dice` — roll dice
|
|
178
|
-
|
|
182
|
+
- `roll_dice` — roll dice; dice terms (`NdS`) and whole numbers joined by `+`/`-`, with
|
|
183
|
+
unsupported notation (`4d6kh3`, `1d20r1`, `*`) rejected rather than dropped.
|
|
184
|
+
Parentheses are the one transport difference: FoundryVTT evaluates them when
|
|
185
|
+
`FOUNDRY_API_KEY` is set, the local roller rejects them otherwise
|
|
186
|
+
- `lookup_rule` — **stub**: returns a templated placeholder, consults no rules source
|
|
179
187
|
|
|
180
188
|
### Content Generation
|
|
181
189
|
|
|
182
|
-
- `generate_npc` —
|
|
183
|
-
- `generate_loot` —
|
|
190
|
+
- `generate_npc` — generate NPC text (not written to the world)
|
|
191
|
+
- `generate_loot` — generate treasure text for a level (not written to the world)
|
|
184
192
|
|
|
185
193
|
### Diagnostics (requires REST API module)
|
|
186
194
|
|
|
187
195
|
- `get_recent_logs` — retrieve filtered FoundryVTT logs
|
|
188
|
-
- `search_logs` — search logs
|
|
189
|
-
- `get_system_health` — server
|
|
190
|
-
|
|
191
|
-
- `
|
|
196
|
+
- `search_logs` — search logs by pattern, listing the matching entries
|
|
197
|
+
- `get_system_health` — server health status with versions, user/module counts, memory
|
|
198
|
+
and log error counts (no CPU or disk metrics)
|
|
199
|
+
- `diagnose_errors` — **stub**: returns a fixed "no errors detected" summary
|
|
200
|
+
- `get_health_status` — comprehensive health diagnostics; flags the world snapshot when
|
|
201
|
+
the cache has stopped following live changes
|
|
192
202
|
|
|
193
203
|
## Available Resources
|
|
194
204
|
|
|
@@ -198,7 +208,8 @@ needs GM/owner permission. Set `FOUNDRY_WRITE_ENABLED=true` to enable them.
|
|
|
198
208
|
- `foundry://scenes/current` — current active scene
|
|
199
209
|
- `foundry://journals` — all journal entries
|
|
200
210
|
- `foundry://users` — online users
|
|
201
|
-
- `foundry://combat` — active combat state
|
|
211
|
+
- `foundry://combat` — active combat state; `combatants` are in initiative order, so
|
|
212
|
+
`combat.turn` indexes them directly
|
|
202
213
|
- `foundry://world/settings` — world and campaign settings
|
|
203
214
|
- `foundry://system/diagnostics` — system diagnostics (requires REST API module)
|
|
204
215
|
|
|
@@ -110,7 +110,6 @@ export declare class DiagnosticsClient {
|
|
|
110
110
|
* console.log(`Server status: ${health.status}`);
|
|
111
111
|
* console.log(`Active users: ${health.users.active}/${health.users.total}`);
|
|
112
112
|
* console.log(`Recent errors: ${health.logs.recentErrors}`);
|
|
113
|
-
* console.log(`Health score: ${health.healthScore}%`);
|
|
114
113
|
*
|
|
115
114
|
* if (health.status === 'critical') {
|
|
116
115
|
* console.warn('Server requires immediate attention!');
|
|
@@ -162,17 +161,22 @@ export declare class DiagnosticsClient {
|
|
|
162
161
|
/**
|
|
163
162
|
* Monitor system health and return status summary
|
|
164
163
|
*
|
|
165
|
-
*
|
|
164
|
+
* Only the overall status: there is no numeric score behind it. The
|
|
165
|
+
* signature used to declare an optional `score` and the example used to show
|
|
166
|
+
* one, but nothing ever set it and {@link SystemHealth} has no such field —
|
|
167
|
+
* so a caller that read it got `undefined` from a documented field.
|
|
168
|
+
*
|
|
169
|
+
* @returns Promise resolving to the overall status, `'critical'` if health
|
|
170
|
+
* could not be retrieved at all
|
|
166
171
|
*
|
|
167
172
|
* @example
|
|
168
173
|
* ```typescript
|
|
169
174
|
* const status = await diagnostics.getHealthStatus();
|
|
170
|
-
* // Returns: { status: 'healthy' | 'warning' | 'critical'
|
|
175
|
+
* // Returns: { status: 'healthy' | 'warning' | 'critical' }
|
|
171
176
|
* ```
|
|
172
177
|
*/
|
|
173
178
|
getHealthStatus(): Promise<{
|
|
174
179
|
status: SystemHealth['status'];
|
|
175
|
-
score?: number;
|
|
176
180
|
}>;
|
|
177
181
|
/**
|
|
178
182
|
* Check if diagnostics API is available
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/diagnostics/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC/C,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACjE,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACvD,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,aAAa;IALjC;;;;OAIG;gBACiB,aAAa,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CvE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC5E
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/diagnostics/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAC7B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EACL,oBAAoB,EACpB,KAAK,cAAc,EACnB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB,KAAK,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAC/C,KAAK,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACrD,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACjE,KAAK,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACvD,KAAK,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,aAAa;IALjC;;;;OAIG;gBACiB,aAAa,EAAE,aAAa;IAEhD;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACG,aAAa,CAAC,MAAM,GAAE,eAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CvE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmC5E;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAsB9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,cAAc,CAAC,SAAS,GAAE,MAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IA0BvE;;;;;;;;;;;;;;;OAeG;IACG,aAAa,CACjB,SAAS,GAAE,MAAa,EACxB,KAAK,GAAE,QAAQ,CAAC,OAAO,CAAW,GACjC,OAAO,CAAC,QAAQ,EAAE,CAAC;IAoBtB;;;;;;;;;;;;;;;;OAgBG;IACG,eAAe,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAA;KAAE,CAAC;IAYpE;;;;;;;;;;;;OAYG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;CAStC"}
|
|
@@ -165,7 +165,6 @@ export class DiagnosticsClient {
|
|
|
165
165
|
* console.log(`Server status: ${health.status}`);
|
|
166
166
|
* console.log(`Active users: ${health.users.active}/${health.users.total}`);
|
|
167
167
|
* console.log(`Recent errors: ${health.logs.recentErrors}`);
|
|
168
|
-
* console.log(`Health score: ${health.healthScore}%`);
|
|
169
168
|
*
|
|
170
169
|
* if (health.status === 'critical') {
|
|
171
170
|
* console.warn('Server requires immediate attention!');
|
|
@@ -267,12 +266,18 @@ export class DiagnosticsClient {
|
|
|
267
266
|
/**
|
|
268
267
|
* Monitor system health and return status summary
|
|
269
268
|
*
|
|
270
|
-
*
|
|
269
|
+
* Only the overall status: there is no numeric score behind it. The
|
|
270
|
+
* signature used to declare an optional `score` and the example used to show
|
|
271
|
+
* one, but nothing ever set it and {@link SystemHealth} has no such field —
|
|
272
|
+
* so a caller that read it got `undefined` from a documented field.
|
|
273
|
+
*
|
|
274
|
+
* @returns Promise resolving to the overall status, `'critical'` if health
|
|
275
|
+
* could not be retrieved at all
|
|
271
276
|
*
|
|
272
277
|
* @example
|
|
273
278
|
* ```typescript
|
|
274
279
|
* const status = await diagnostics.getHealthStatus();
|
|
275
|
-
* // Returns: { status: 'healthy' | 'warning' | 'critical'
|
|
280
|
+
* // Returns: { status: 'healthy' | 'warning' | 'critical' }
|
|
276
281
|
* ```
|
|
277
282
|
*/
|
|
278
283
|
async getHealthStatus() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/diagnostics/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/diagnostics/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/foundry/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAM7F;AA2FD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/foundry/auth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAItE;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAM7F;AA2FD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE9C"}
|
package/dist/foundry/auth.js
CHANGED
|
@@ -133,7 +133,16 @@ export async function authenticateFoundry(baseUrl, user, password) {
|
|
|
133
133
|
// Step 3: POST /join as JSON with document _id
|
|
134
134
|
const joinRes = await axios.post(`${baseUrl}/join`, {
|
|
135
135
|
action: 'join',
|
|
136
|
+
// Both spellings are deliberate — do not "de-duplicate" them (#222).
|
|
137
|
+
// sessions.authenticateUser destructures the id straight off the body and
|
|
138
|
+
// never validates a schema, so the spelling it does not read is simply
|
|
139
|
+
// undefined and the other is ignored. Reading the shipped server bundles:
|
|
140
|
+
// v13.348 and v14.364 both take `{ userid, password }`; #222 reports
|
|
141
|
+
// v14.367 taking `{ userId, password }`. A key the server does not read
|
|
142
|
+
// yields `db.User.get(undefined)` → HTTP 401 JOIN.ErrorUserDoesNotExist,
|
|
143
|
+
// so sending only one spelling breaks whichever generation wants the other.
|
|
136
144
|
userid: userId,
|
|
145
|
+
userId: userId,
|
|
137
146
|
password,
|
|
138
147
|
}, {
|
|
139
148
|
headers: {
|
package/dist/foundry/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/foundry/auth.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/foundry/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/foundry/client.d.ts
CHANGED
|
@@ -55,6 +55,13 @@ export declare class FoundryClient {
|
|
|
55
55
|
private config;
|
|
56
56
|
private _isConnected;
|
|
57
57
|
private worldData;
|
|
58
|
+
/** Set when the socket drops with a cache still loaded (#217). */
|
|
59
|
+
private worldDataStale;
|
|
60
|
+
/**
|
|
61
|
+
* Last observed outcome of a REST request: false once one failed to reach
|
|
62
|
+
* FoundryVTT at all (#217). Unused in Socket.IO mode.
|
|
63
|
+
*/
|
|
64
|
+
private restLinkLive;
|
|
58
65
|
constructor(config: FoundryClientConfig);
|
|
59
66
|
/**
|
|
60
67
|
* Connects to FoundryVTT.
|
|
@@ -74,8 +81,89 @@ export declare class FoundryClient {
|
|
|
74
81
|
* leaves the cache untouched (and stale) rather than taking the connection down.
|
|
75
82
|
*/
|
|
76
83
|
private onDocumentBroadcast;
|
|
84
|
+
/**
|
|
85
|
+
* Applies a FoundryVTT `userActivity` broadcast to cached presence (#218).
|
|
86
|
+
*
|
|
87
|
+
* Foundry emits this on login, on logout, and on ordinary activity, and it is
|
|
88
|
+
* the only signal that moves `worldData.activeUsers` — that field is a
|
|
89
|
+
* top-level `WorldData` entry, not a document collection, so the
|
|
90
|
+
* `modifyDocument` path never touches it and `get_users` would otherwise
|
|
91
|
+
* answer "who is connected?" from the connect-time snapshot forever.
|
|
92
|
+
*
|
|
93
|
+
* Bound field rather than a method so the same reference reaches `socket.off()`.
|
|
94
|
+
* Never throws: an unrecognized payload leaves presence as it was.
|
|
95
|
+
*/
|
|
96
|
+
private onUserActivity;
|
|
97
|
+
/**
|
|
98
|
+
* Reacts to the socket dropping on its own — server restart, network loss,
|
|
99
|
+
* an idle timeout (#217).
|
|
100
|
+
*
|
|
101
|
+
* Clears the connected flag so `isConnected()` and `get_health_status` stop
|
|
102
|
+
* claiming a live link, and marks the cached snapshot stale: nothing is
|
|
103
|
+
* applying `modifyDocument` broadcasts while the socket is down, so whatever
|
|
104
|
+
* is in `worldData` from here on is a point-in-time copy, not live state.
|
|
105
|
+
* The cache is deliberately *kept* rather than dropped — a stale answer with
|
|
106
|
+
* an honest connection line beats no answer at all — and Socket.IO's own
|
|
107
|
+
* reconnect logic may bring the link back, at which point `refreshWorldData()`
|
|
108
|
+
* resyncs it.
|
|
109
|
+
*
|
|
110
|
+
* Bound field rather than a method so the same reference reaches `socket.off()`.
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* Reacts to socket.io bringing the link back up on its own (#217).
|
|
114
|
+
*
|
|
115
|
+
* `sessionSocketOptions` leaves socket.io-client's default
|
|
116
|
+
* `reconnection: true` in place, so after a transient drop the manager
|
|
117
|
+
* re-handshakes the SAME socket instance (the session cookie rides along in
|
|
118
|
+
* `extraHeaders`) and the persistent `modifyDocument`/`userActivity`
|
|
119
|
+
* listeners resume firing. Without this the connected flag would stay
|
|
120
|
+
* latched off for the rest of the process while writes and broadcasts were
|
|
121
|
+
* demonstrably working again.
|
|
122
|
+
*
|
|
123
|
+
* `worldDataStale` is deliberately *not* cleared: broadcasts emitted while
|
|
124
|
+
* the socket was down were never delivered and are not replayed, so the
|
|
125
|
+
* cache stays flagged until an explicit `refreshWorldData()`.
|
|
126
|
+
*
|
|
127
|
+
* Bound field rather than a method so the same reference reaches `socket.off()`.
|
|
128
|
+
*/
|
|
129
|
+
private onSocketConnect;
|
|
130
|
+
private onSocketDisconnect;
|
|
131
|
+
/**
|
|
132
|
+
* Closes the current socket and removes every persistent listener bound to
|
|
133
|
+
* it. Used both by `disconnect()` and before a socket is replaced: a
|
|
134
|
+
* superseded socket that kept its `disconnect` handler would otherwise clear
|
|
135
|
+
* the connected flag of the live socket that replaced it when it finally
|
|
136
|
+
* closed (`DiagnosticsClient.testAuthentication()` re-connects a live
|
|
137
|
+
* client, so this is reachable in-repo).
|
|
138
|
+
*/
|
|
139
|
+
private detachSocket;
|
|
77
140
|
disconnect(): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Reports whether the client currently has a live link to FoundryVTT (#217).
|
|
143
|
+
*
|
|
144
|
+
* Socket.IO mode answers from the socket itself rather than from a latched
|
|
145
|
+
* flag, so a link that dropped without an explicit `disconnect()` — server
|
|
146
|
+
* restart, network loss — reads as disconnected immediately, even if the
|
|
147
|
+
* `disconnect` event has not been delivered yet. It tracks the socket in both
|
|
148
|
+
* directions: an automatic reconnect (`onSocketConnect`) reads as connected
|
|
149
|
+
* again rather than staying latched off.
|
|
150
|
+
*
|
|
151
|
+
* REST API mode (`FOUNDRY_API_KEY`) has no socket to ask, so it answers from
|
|
152
|
+
* the last REST request that actually happened: a request that failed to
|
|
153
|
+
* reach FoundryVTT (connection refused, reset, timed out) reads as
|
|
154
|
+
* disconnected from then on, and the next request that gets through reads as
|
|
155
|
+
* connected again. An HTTP error status does not count as a drop — the
|
|
156
|
+
* server answered. This is a *last observed outcome*, not a live probe: it
|
|
157
|
+
* cannot notice a server that went away between requests, and it never does
|
|
158
|
+
* I/O of its own, because this accessor is synchronous and widely called.
|
|
159
|
+
*/
|
|
78
160
|
isConnected(): boolean;
|
|
161
|
+
/**
|
|
162
|
+
* True when the cached snapshot is no longer being kept live by broadcasts —
|
|
163
|
+
* i.e. the socket dropped after a world load (#217). Reads still answer from
|
|
164
|
+
* the cache; this flags that the answer is a point-in-time copy.
|
|
165
|
+
*/
|
|
166
|
+
isWorldDataStale(): boolean;
|
|
79
167
|
/**
|
|
80
168
|
* Returns true if worldData is available (Socket.IO mode connected).
|
|
81
169
|
*/
|
|
@@ -96,20 +184,21 @@ export declare class FoundryClient {
|
|
|
96
184
|
*/
|
|
97
185
|
getRawActor(actorId: string): WorldActor | undefined;
|
|
98
186
|
/**
|
|
99
|
-
* Patches attributes on an actor's `system` object (#143). WRITE —
|
|
187
|
+
* Patches attributes on an actor's `system` object (#143). WRITE — Socket.IO.
|
|
100
188
|
*
|
|
101
189
|
* `patch` keys are dot-paths into `actor.system` (e.g. `attributes.hp.value`,
|
|
102
|
-
* `currency.gp`, `spells.spell1.value`, `attributes.exhaustion`).
|
|
103
|
-
*
|
|
104
|
-
*
|
|
105
|
-
* (`Actor#update`).
|
|
190
|
+
* `currency.gp`, `spells.spell1.value`, `attributes.exhaustion`). Each key is
|
|
191
|
+
* prefixed with `system.` and sent through the Socket.IO `modifyDocument`
|
|
192
|
+
* write protocol as an `Actor` `update` — matching FoundryVTT's own document
|
|
193
|
+
* model (`Actor#update`). No REST call and no `apiKey` are involved.
|
|
106
194
|
*
|
|
107
195
|
* Client-side validation, using the actor's current data, rejects:
|
|
108
196
|
* - HP value exceeding `max + temp`,
|
|
109
197
|
* - spell-slot value exceeding its `max`,
|
|
110
198
|
* - exhaustion outside `0–10` (2024 rules) or `0–6` (2014 rules).
|
|
111
199
|
*
|
|
112
|
-
* @throws if `
|
|
200
|
+
* @throws via `assertWriteable()` if `writeEnabled` is false or the socket
|
|
201
|
+
* is not connected; also if the id is malformed, the actor/path is missing,
|
|
113
202
|
* or a validation rule is violated.
|
|
114
203
|
*/
|
|
115
204
|
updateActorAttribute(actorId: string, patch: AttributePatch): Promise<ActorAttributeUpdateResult>;
|
|
@@ -337,7 +426,39 @@ export declare class FoundryClient {
|
|
|
337
426
|
journals: WorldJournal[];
|
|
338
427
|
};
|
|
339
428
|
getWorldSummary(): Record<string, number>;
|
|
429
|
+
/**
|
|
430
|
+
* Rolls a dice formula.
|
|
431
|
+
*
|
|
432
|
+
* Validation is deliberately **per transport**, because the two transports
|
|
433
|
+
* are not equally capable (#219):
|
|
434
|
+
*
|
|
435
|
+
* - **REST (`FOUNDRY_API_KEY`)** posts the formula to `/api/dice/roll`,
|
|
436
|
+
* where FoundryVTT's own `Roll` engine evaluates it. That engine
|
|
437
|
+
* understands more than this module does — parentheses, for one — so only
|
|
438
|
+
* the `DICE_FORMULA_ALPHABET` check applies here. Imposing the local
|
|
439
|
+
* parser's narrower grammar would take away a capability the transport
|
|
440
|
+
* has. What the alphabet does refuse is refused by name and position
|
|
441
|
+
* (`unexpected "k" at position 3`, via `alphabetViolation`), so the
|
|
442
|
+
* two transports are equally specific about what they would not evaluate.
|
|
443
|
+
* - **Socket.IO / no API key** has no remote evaluator: `fallbackDiceRoll`
|
|
444
|
+
* is the roller, so the grammar its parser can represent is the grammar
|
|
445
|
+
* accepted, and that parser is the *only* gate. No alphabet pre-check runs
|
|
446
|
+
* ahead of it, so its specific message (`unexpected "k" at position 3`)
|
|
447
|
+
* reaches the caller instead of a generic `Invalid dice formula: 4d6kh3`.
|
|
448
|
+
* Nothing is ever dropped from a total in silence.
|
|
449
|
+
*
|
|
450
|
+
* The length cap is common to both. A REST roll that cannot reach FoundryVTT
|
|
451
|
+
* falls through to the local roller, which then applies the strict grammar —
|
|
452
|
+
* a formula only Foundry could evaluate errors out rather than being
|
|
453
|
+
* mis-totalled locally.
|
|
454
|
+
*/
|
|
340
455
|
rollDice(formula: string, reason?: string): Promise<DiceRoll>;
|
|
456
|
+
/**
|
|
457
|
+
* Rolls locally, when FoundryVTT is not doing it for us.
|
|
458
|
+
*
|
|
459
|
+
* Delegates the whole formula to {@link evaluateDiceFormula}, which consumes
|
|
460
|
+
* the input end to end and throws on any leftover it cannot represent (#219).
|
|
461
|
+
*/
|
|
341
462
|
private fallbackDiceRoll;
|
|
342
463
|
testConnection(): Promise<boolean>;
|
|
343
464
|
private executeWithRetry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/foundry/client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAc,EAAsB,KAAK,kBAAkB,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/foundry/client.ts"],"names":[],"mappings":"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"}
|