foundryvtt-mcp 1.5.2 → 1.5.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.
Files changed (36) hide show
  1. package/dist/diagnostics/types.d.ts +0 -3
  2. package/dist/diagnostics/types.d.ts.map +1 -1
  3. package/dist/diagnostics/types.js +0 -3
  4. package/dist/diagnostics/types.js.map +1 -1
  5. package/dist/foundry/auth.d.ts +27 -9
  6. package/dist/foundry/auth.d.ts.map +1 -1
  7. package/dist/foundry/auth.js +42 -12
  8. package/dist/foundry/auth.js.map +1 -1
  9. package/dist/foundry/client.d.ts +4 -1
  10. package/dist/foundry/client.d.ts.map +1 -1
  11. package/dist/foundry/client.js +49 -7
  12. package/dist/foundry/client.js.map +1 -1
  13. package/dist/foundry/rest-probe.d.ts +25 -0
  14. package/dist/foundry/rest-probe.d.ts.map +1 -0
  15. package/dist/foundry/rest-probe.js +65 -0
  16. package/dist/foundry/rest-probe.js.map +1 -0
  17. package/dist/foundry/types.d.ts +9 -1
  18. package/dist/foundry/types.d.ts.map +1 -1
  19. package/dist/foundry/types.js.map +1 -1
  20. package/dist/tools/definitions.d.ts +1 -1
  21. package/dist/tools/definitions.d.ts.map +1 -1
  22. package/dist/tools/definitions.js +1 -1
  23. package/dist/tools/definitions.js.map +1 -1
  24. package/dist/tools/handlers/dice.d.ts +1 -1
  25. package/dist/tools/handlers/dice.d.ts.map +1 -1
  26. package/dist/tools/handlers/dice.js +1 -0
  27. package/dist/tools/handlers/dice.js.map +1 -1
  28. package/dist/utils/cache.d.ts +5 -0
  29. package/dist/utils/cache.d.ts.map +1 -1
  30. package/dist/utils/cache.js +14 -4
  31. package/dist/utils/cache.js.map +1 -1
  32. package/dist/utils/diagnostics.d.ts +3 -2
  33. package/dist/utils/diagnostics.d.ts.map +1 -1
  34. package/dist/utils/diagnostics.js +10 -9
  35. package/dist/utils/diagnostics.js.map +1 -1
  36. package/package.json +35 -35
@@ -408,7 +408,4 @@ export declare const ErrorDiagnosisSchema: z.ZodObject<{
408
408
  }, z.core.$strip>>;
409
409
  healthScore: z.ZodNumber;
410
410
  }, z.core.$strip>;
411
- export declare const ApiStatusResponseSchema: z.ZodObject<{
412
- status: z.ZodString;
413
- }, z.core.$strip>;
414
411
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"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"}
@@ -88,7 +88,4 @@ export const ErrorDiagnosisSchema = z.object({
88
88
  suggestions: z.array(DiagnosticSuggestionSchema),
89
89
  healthScore: z.number(),
90
90
  });
91
- export const ApiStatusResponseSchema = z.object({
92
- status: z.string(),
93
- });
94
91
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"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"}
@@ -11,23 +11,41 @@ import type { ManagerOptions, SocketOptions } from 'socket.io-client';
11
11
  /**
12
12
  * Socket.IO connection options carrying a FoundryVTT session.
13
13
  *
14
- * FoundryVTT resolves the session from the `session` **cookie** on the
15
- * handshake request; the `session` query parameter alone leaves the socket
16
- * anonymous. An anonymous socket still connects at the transport level — it
17
- * simply never answers `getJoinData` and emits `session` as `null` — so the
18
- * only symptom is a bare timeout with no `connect_error` (#206).
14
+ * The session is sent twice, and both copies are load-bearing — do not drop
15
+ * either. Per #231, FoundryVTT v14 resolves the session from the `session`
16
+ * **cookie** on the handshake request, while v13 reads it from
17
+ * `handshake.query` (not yet verified against a server; tracked in #253).
18
+ * A socket whose server finds no session still connects at the transport
19
+ * level — it simply never answers `getJoinData` and emits `session` as
20
+ * `null` — so the only symptom of losing either copy is a bare timeout with
21
+ * no `connect_error` (#206).
19
22
  *
20
23
  * `extraHeaders` is honoured by socket.io-client in Node.js for both the
21
- * WebSocket and polling handshakes; the query parameter is kept for servers
22
- * that read it.
24
+ * WebSocket and polling handshakes.
25
+ *
26
+ * `path` is the server's Socket.IO endpoint (`FOUNDRY_SOCKET_PATH`): behind a
27
+ * `routePrefix` it is `/<prefix>/socket.io/` (#231). Pair it with
28
+ * {@link socketOrigin} — the URL handed to `io()` must not carry the prefix.
29
+ */
30
+ export declare function sessionSocketOptions(session: string, path?: string): Partial<ManagerOptions & SocketOptions>;
31
+ /**
32
+ * The URL to hand `io()` for a FoundryVTT base URL: its origin only.
33
+ *
34
+ * socket.io-client reads the URL's pathname as the **namespace**, not the
35
+ * transport path, so `io('https://host/foundry')` would join namespace
36
+ * `/foundry` instead of reaching a server behind a `routePrefix` (#231). The
37
+ * prefix belongs in the `path` option ({@link sessionSocketOptions}); the
38
+ * HTTP `/join` calls keep the full base URL.
23
39
  */
24
- export declare function sessionSocketOptions(session: string): Partial<ManagerOptions & SocketOptions>;
40
+ export declare function socketOrigin(baseUrl: string): string;
25
41
  /**
26
42
  * Authenticates with FoundryVTT using the proven 4-step flow.
27
43
  *
44
+ * @param socketPath Socket.IO endpoint for the user-resolution handshake;
45
+ * defaults to `/socket.io/` (see {@link sessionSocketOptions}).
28
46
  * @returns Session cookie and resolved user document _id
29
47
  */
30
- export declare function authenticateFoundry(baseUrl: string, user: string, password: string): Promise<{
48
+ export declare function authenticateFoundry(baseUrl: string, user: string, password: string, socketPath?: string): Promise<{
31
49
  session: string;
32
50
  userId: string;
33
51
  }>;
@@ -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,CA4D9C"}
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;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,IAAI,SAAgB,GACnB,OAAO,CAAC,cAAc,GAAG,aAAa,CAAC,CAOzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEpD;AAgGD;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAqE9C"}
@@ -13,23 +13,42 @@ import { logger } from '../utils/logger.js';
13
13
  /**
14
14
  * Socket.IO connection options carrying a FoundryVTT session.
15
15
  *
16
- * FoundryVTT resolves the session from the `session` **cookie** on the
17
- * handshake request; the `session` query parameter alone leaves the socket
18
- * anonymous. An anonymous socket still connects at the transport level — it
19
- * simply never answers `getJoinData` and emits `session` as `null` — so the
20
- * only symptom is a bare timeout with no `connect_error` (#206).
16
+ * The session is sent twice, and both copies are load-bearing — do not drop
17
+ * either. Per #231, FoundryVTT v14 resolves the session from the `session`
18
+ * **cookie** on the handshake request, while v13 reads it from
19
+ * `handshake.query` (not yet verified against a server; tracked in #253).
20
+ * A socket whose server finds no session still connects at the transport
21
+ * level — it simply never answers `getJoinData` and emits `session` as
22
+ * `null` — so the only symptom of losing either copy is a bare timeout with
23
+ * no `connect_error` (#206).
21
24
  *
22
25
  * `extraHeaders` is honoured by socket.io-client in Node.js for both the
23
- * WebSocket and polling handshakes; the query parameter is kept for servers
24
- * that read it.
26
+ * WebSocket and polling handshakes.
27
+ *
28
+ * `path` is the server's Socket.IO endpoint (`FOUNDRY_SOCKET_PATH`): behind a
29
+ * `routePrefix` it is `/<prefix>/socket.io/` (#231). Pair it with
30
+ * {@link socketOrigin} — the URL handed to `io()` must not carry the prefix.
25
31
  */
26
- export function sessionSocketOptions(session) {
32
+ export function sessionSocketOptions(session, path = '/socket.io/') {
27
33
  return {
28
34
  transports: ['websocket'],
35
+ path,
29
36
  query: { session },
30
37
  extraHeaders: { Cookie: `session=${session}` },
31
38
  };
32
39
  }
40
+ /**
41
+ * The URL to hand `io()` for a FoundryVTT base URL: its origin only.
42
+ *
43
+ * socket.io-client reads the URL's pathname as the **namespace**, not the
44
+ * transport path, so `io('https://host/foundry')` would join namespace
45
+ * `/foundry` instead of reaching a server behind a `routePrefix` (#231). The
46
+ * prefix belongs in the `path` option ({@link sessionSocketOptions}); the
47
+ * HTTP `/join` calls keep the full base URL.
48
+ */
49
+ export function socketOrigin(baseUrl) {
50
+ return new URL(baseUrl).origin;
51
+ }
33
52
  /**
34
53
  * Extracts the session cookie value from a GET /join response.
35
54
  */
@@ -58,7 +77,7 @@ async function getSessionCookie(baseUrl) {
58
77
  * returns it directly. Otherwise, connects via Socket.IO and emits getJoinData
59
78
  * to look up the _id by display name.
60
79
  */
61
- async function resolveUserId(baseUrl, user, session) {
80
+ async function resolveUserId(baseUrl, user, session, socketPath) {
62
81
  // FoundryVTT document IDs are 16-character alphanumeric strings
63
82
  if (/^[a-zA-Z0-9]{16}$/.test(user)) {
64
83
  logger.debug('User identifier is already a document _id', { userId: user });
@@ -66,7 +85,7 @@ async function resolveUserId(baseUrl, user, session) {
66
85
  }
67
86
  logger.debug('Resolving display name to document _id', { displayName: user });
68
87
  return new Promise((resolve, reject) => {
69
- const socket = io(baseUrl, sessionSocketOptions(session));
88
+ const socket = io(socketOrigin(baseUrl), sessionSocketOptions(session, socketPath));
70
89
  const cleanup = () => {
71
90
  socket.off('session', onSession);
72
91
  socket.off('connect_error', onConnectError);
@@ -107,9 +126,11 @@ async function resolveUserId(baseUrl, user, session) {
107
126
  /**
108
127
  * Authenticates with FoundryVTT using the proven 4-step flow.
109
128
  *
129
+ * @param socketPath Socket.IO endpoint for the user-resolution handshake;
130
+ * defaults to `/socket.io/` (see {@link sessionSocketOptions}).
110
131
  * @returns Session cookie and resolved user document _id
111
132
  */
112
- export async function authenticateFoundry(baseUrl, user, password) {
133
+ export async function authenticateFoundry(baseUrl, user, password, socketPath) {
113
134
  // Warn when credentials are sent over plaintext HTTP to a non-localhost host
114
135
  try {
115
136
  const parsed = new URL(baseUrl);
@@ -129,11 +150,20 @@ export async function authenticateFoundry(baseUrl, user, password) {
129
150
  // Step 1: Get session cookie
130
151
  const session = await getSessionCookie(baseUrl);
131
152
  // Step 2: Resolve user to document _id
132
- const userId = await resolveUserId(baseUrl, user, session);
153
+ const userId = await resolveUserId(baseUrl, user, session, socketPath);
133
154
  // Step 3: POST /join as JSON with document _id
134
155
  const joinRes = await axios.post(`${baseUrl}/join`, {
135
156
  action: 'join',
157
+ // Both spellings are deliberate — do not "de-duplicate" them (#222).
158
+ // sessions.authenticateUser destructures the id straight off the body and
159
+ // never validates a schema, so the spelling it does not read is simply
160
+ // undefined and the other is ignored. Reading the shipped server bundles:
161
+ // v13.348 and v14.364 both take `{ userid, password }`; #222 reports
162
+ // v14.367 taking `{ userId, password }`. A key the server does not read
163
+ // yields `db.User.get(undefined)` → HTTP 401 JOIN.ErrorUserDoesNotExist,
164
+ // so sending only one spelling breaks whichever generation wants the other.
136
165
  userid: userId,
166
+ userId: userId,
137
167
  password,
138
168
  }, {
139
169
  headers: {
@@ -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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"}
@@ -5,7 +5,9 @@
5
5
  * caches worldData in memory, and serves all queries from the snapshot.
6
6
  */
7
7
  import { type AxiosRequestConfig, type AxiosResponse } from 'axios';
8
+ import { probeRestModule } from './rest-probe.js';
8
9
  import type { ActorAttributeUpdateResult, ActorItemCreateSource, ActorSearchResult, CompendiumSearchResult, DiceRoll, DocumentVisibility, FoundryActor, FoundryItem, FoundryScene, FoundryWorld, ItemSearchResult, JournalPageCreateSource, WorldActor, WorldCombat, WorldData, WorldEffect, WorldItem, WorldJournal, WorldMessage, WorldScene, WorldUser } from './types.js';
10
+ export { probeRestModule };
9
11
  export interface FoundryClientConfig {
10
12
  baseUrl: string;
11
13
  apiKey?: string;
@@ -65,7 +67,8 @@ export declare class FoundryClient {
65
67
  constructor(config: FoundryClientConfig);
66
68
  /**
67
69
  * Connects to FoundryVTT.
68
- * REST API mode: tests /api/status endpoint.
70
+ * REST API mode: probes the module's authenticated /api/world route
71
+ * (`probeRestModule`); connected only once it answers with a JSON object.
69
72
  * Socket.IO mode: authenticates and loads full worldData.
70
73
  */
71
74
  connect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/foundry/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/foundry/client.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,13 @@ import axios from 'axios';
8
8
  import { io } from 'socket.io-client';
9
9
  import { z } from 'zod';
10
10
  import { logger } from '../utils/logger.js';
11
- import { authenticateFoundry, sessionSocketOptions } from './auth.js';
11
+ import { authenticateFoundry, sessionSocketOptions, socketOrigin } from './auth.js';
12
12
  import { evaluateDiceFormula } from './dice-formula.js';
13
+ import { probeRestModule } from './rest-probe.js';
13
14
  import { VISIBILITY_LEVELS } from './types.js';
14
15
  import { applyDocumentBroadcast, applyUserActivity, parseDocumentBroadcast, parseUserActivity, } from './world-cache.js';
16
+ // Re-exported so existing importers of `client.js` keep working (#255 moved it).
17
+ export { probeRestModule };
15
18
  /** FoundryVTT document IDs are 16-character alphanumeric strings. */
16
19
  const FOUNDRY_ID_PATTERN = /^[a-zA-Z0-9]{16}$/;
17
20
  /**
@@ -89,6 +92,37 @@ const RestDiceRollSchema = z.object({
89
92
  total: z.number(),
90
93
  terms: z.array(z.object({ results: z.array(z.number()).optional() })).optional(),
91
94
  });
95
+ /**
96
+ * Loggable summary of why a REST dice call failed (#254).
97
+ *
98
+ * Reads only the HTTP status and the error code, structurally rather than via
99
+ * `axios.isAxiosError`, so nothing else on the error — in particular
100
+ * `config.headers`, which carries the `x-api-key` — reaches the log.
101
+ */
102
+ function describeRestFailure(error) {
103
+ if (error instanceof z.ZodError) {
104
+ return { reason: 'response body failed schema validation' };
105
+ }
106
+ if (typeof error !== 'object' || error === null) {
107
+ return { reason: 'request failed' };
108
+ }
109
+ const summary = {
110
+ reason: 'request failed',
111
+ };
112
+ const response = 'response' in error ? error.response : undefined;
113
+ if (typeof response === 'object' && response !== null && 'status' in response) {
114
+ const status = response.status;
115
+ if (typeof status === 'number') {
116
+ summary.status = status;
117
+ summary.reason = 'HTTP error response';
118
+ }
119
+ }
120
+ const code = 'code' in error ? error.code : undefined;
121
+ if (typeof code === 'string') {
122
+ summary.code = code;
123
+ }
124
+ return summary;
125
+ }
92
126
  /**
93
127
  * Minimal Zod schema for the WorldData Socket.IO payload.
94
128
  * Validates the required top-level array fields; extra fields pass through.
@@ -170,13 +204,14 @@ export class FoundryClient {
170
204
  }
171
205
  /**
172
206
  * Connects to FoundryVTT.
173
- * REST API mode: tests /api/status endpoint.
207
+ * REST API mode: probes the module's authenticated /api/world route
208
+ * (`probeRestModule`); connected only once it answers with a JSON object.
174
209
  * Socket.IO mode: authenticates and loads full worldData.
175
210
  */
176
211
  async connect() {
177
212
  if (this.config.apiKey) {
178
213
  try {
179
- await this.http.get('/api/status');
214
+ await probeRestModule((url) => this.http.get(url));
180
215
  this._isConnected = true;
181
216
  logger.info('Connected to FoundryVTT via REST API module');
182
217
  }
@@ -191,7 +226,7 @@ export class FoundryClient {
191
226
  throw new Error('Socket.IO mode requires username/userId and password. ' +
192
227
  'Set FOUNDRY_USERNAME + FOUNDRY_PASSWORD or FOUNDRY_USER_ID + FOUNDRY_PASSWORD.');
193
228
  }
194
- const { session } = await authenticateFoundry(this.config.baseUrl, user, this.config.password);
229
+ const { session } = await authenticateFoundry(this.config.baseUrl, user, this.config.password, this.config.socketPath);
195
230
  // Connect authenticated socket and load world data
196
231
  this.worldData = await this.connectAndLoadWorld(session);
197
232
  this.worldDataStale = false;
@@ -209,7 +244,9 @@ export class FoundryClient {
209
244
  // A previous socket must not outlive its replacement (see `detachSocket`).
210
245
  this.detachSocket();
211
246
  return new Promise((resolve, reject) => {
212
- this.socket = io(this.config.baseUrl, sessionSocketOptions(session));
247
+ // Origin + `path`, not the full baseUrl: a routePrefix in the URL would
248
+ // be read as a Socket.IO namespace (#231).
249
+ this.socket = io(socketOrigin(this.config.baseUrl), sessionSocketOptions(session, this.config.socketPath));
213
250
  const cleanup = () => {
214
251
  this.socket?.off('session', onSession);
215
252
  this.socket?.off('connect_error', onConnectError);
@@ -1290,14 +1327,18 @@ export class FoundryClient {
1290
1327
  total: rolled.total,
1291
1328
  breakdown: rolled.terms?.map((term) => term.results?.join(', ')).join(' + ') || formula,
1292
1329
  timestamp: new Date().toISOString(),
1330
+ source: 'server',
1293
1331
  };
1294
1332
  if (reason) {
1295
1333
  result.reason = reason;
1296
1334
  }
1297
1335
  return result;
1298
1336
  }
1299
- catch {
1300
- // Fall through to local roll
1337
+ catch (error) {
1338
+ // Keep the fallback, but never in silence (#254): the result is marked
1339
+ // `source: 'local'` and the failure is logged without the request
1340
+ // config, which carries the API key header.
1341
+ logger.warn('REST dice roll failed — falling back to the local roller', describeRestFailure(error));
1301
1342
  }
1302
1343
  }
1303
1344
  return this.fallbackDiceRoll(formula, reason);
@@ -1315,6 +1356,7 @@ export class FoundryClient {
1315
1356
  total,
1316
1357
  breakdown,
1317
1358
  timestamp: new Date().toISOString(),
1359
+ source: 'local',
1318
1360
  };
1319
1361
  if (reason) {
1320
1362
  result.reason = reason;