@basicbit/vrchat-mcp 0.1.5 → 0.1.6

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 (94) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +39 -9
  3. package/dist/package.json +8 -2
  4. package/dist/src/auth/index.js +65 -3
  5. package/dist/src/auth/index.js.map +1 -1
  6. package/dist/src/config/defaults.json +4 -2
  7. package/dist/src/config/index.js +23 -12
  8. package/dist/src/config/index.js.map +1 -1
  9. package/dist/src/core/client.js +27 -4
  10. package/dist/src/core/client.js.map +1 -1
  11. package/dist/src/core/generatedOperations.js +133 -0
  12. package/dist/src/core/generatedOperations.js.map +1 -0
  13. package/dist/src/core/generatedToolDescriptions.js +26 -0
  14. package/dist/src/core/generatedToolDescriptions.js.map +1 -0
  15. package/dist/src/core/generatedToolOverrides.js +19 -61
  16. package/dist/src/core/generatedToolOverrides.js.map +1 -1
  17. package/dist/src/core/generatedToolSkips.js +6 -23
  18. package/dist/src/core/generatedToolSkips.js.map +1 -1
  19. package/dist/src/core/operationDetails.js +96 -0
  20. package/dist/src/core/operationDetails.js.map +1 -0
  21. package/dist/src/core/operationPolicy.js +32 -0
  22. package/dist/src/core/operationPolicy.js.map +1 -0
  23. package/dist/src/core/readToolRegistry.js +35 -81
  24. package/dist/src/core/readToolRegistry.js.map +1 -1
  25. package/dist/src/core/writeToolRegistry.js +59 -101
  26. package/dist/src/core/writeToolRegistry.js.map +1 -1
  27. package/dist/src/models/avatars.js +2 -1
  28. package/dist/src/models/avatars.js.map +1 -1
  29. package/dist/src/models/common.js +4 -0
  30. package/dist/src/models/common.js.map +1 -0
  31. package/dist/src/models/events.js +5 -4
  32. package/dist/src/models/events.js.map +1 -1
  33. package/dist/src/models/favorites.js +120 -0
  34. package/dist/src/models/favorites.js.map +1 -0
  35. package/dist/src/models/friends.js +7 -6
  36. package/dist/src/models/friends.js.map +1 -1
  37. package/dist/src/models/groups.js +91 -5
  38. package/dist/src/models/groups.js.map +1 -1
  39. package/dist/src/models/invites.js +81 -3
  40. package/dist/src/models/invites.js.map +1 -1
  41. package/dist/src/models/statusPage.js +9 -0
  42. package/dist/src/models/statusPage.js.map +1 -1
  43. package/dist/src/models/users.js +3 -2
  44. package/dist/src/models/users.js.map +1 -1
  45. package/dist/src/models/worlds.js +2 -1
  46. package/dist/src/models/worlds.js.map +1 -1
  47. package/dist/src/schemas/read.js +22 -9
  48. package/dist/src/schemas/read.js.map +1 -1
  49. package/dist/src/schemas/write.js +17 -3
  50. package/dist/src/schemas/write.js.map +1 -1
  51. package/dist/src/services/api/client.js +20 -0
  52. package/dist/src/services/api/client.js.map +1 -1
  53. package/dist/src/services/favorites/index.js +106 -0
  54. package/dist/src/services/favorites/index.js.map +1 -0
  55. package/dist/src/services/groups/index.js +1 -0
  56. package/dist/src/services/groups/index.js.map +1 -1
  57. package/dist/src/services/groups/roles.js +75 -0
  58. package/dist/src/services/groups/roles.js.map +1 -0
  59. package/dist/src/services/invites/bulk.js +310 -0
  60. package/dist/src/services/invites/bulk.js.map +1 -0
  61. package/dist/src/services/invites/curated.js +203 -5
  62. package/dist/src/services/invites/curated.js.map +1 -1
  63. package/dist/src/services/invites/messages.js +65 -0
  64. package/dist/src/services/invites/messages.js.map +1 -0
  65. package/dist/src/services/statusPage/curated.js +42 -5
  66. package/dist/src/services/statusPage/curated.js.map +1 -1
  67. package/dist/src/tools/auth.js +4 -4
  68. package/dist/src/tools/auth.js.map +1 -1
  69. package/dist/src/tools/curated/favorites.js +79 -0
  70. package/dist/src/tools/curated/favorites.js.map +1 -0
  71. package/dist/src/tools/curated/groups.js +88 -3
  72. package/dist/src/tools/curated/groups.js.map +1 -1
  73. package/dist/src/tools/curated/invites.js +78 -2
  74. package/dist/src/tools/curated/invites.js.map +1 -1
  75. package/dist/src/tools/generated.js +4 -4
  76. package/dist/src/tools/generated.js.map +1 -1
  77. package/dist/src/tools/raw.js +4 -7
  78. package/dist/src/tools/raw.js.map +1 -1
  79. package/dist/src/tools/read/system.js +98 -0
  80. package/dist/src/tools/read/system.js.map +1 -1
  81. package/dist/src/tools/registerAllTools.js +2 -0
  82. package/dist/src/tools/registerAllTools.js.map +1 -1
  83. package/dist/src/utils/toolNames.js +0 -6
  84. package/dist/src/utils/toolNames.js.map +1 -1
  85. package/docs/architecture.md +1 -1
  86. package/docs/curated-tools.md +28 -5
  87. package/docs/privacy.md +23 -0
  88. package/docs/robust-notes.md +29 -0
  89. package/docs/tools-guide.md +9 -3
  90. package/docs/tools.md +3631 -8201
  91. package/docs/vrcx.md +1 -1
  92. package/package.json +8 -2
  93. package/server.json +3 -3
  94. package/skills/vrchat-mcp/SKILL.md +16 -0
@@ -1,4 +1,8 @@
1
- import { callReadOperationParsed, callWriteOperationParsed, } from '../api/client.js';
1
+ import { callOperation } from '../../core/client.js';
2
+ import { callReadOperationParsed, callWriteOperationParsed } from '../api/client.js';
3
+ import { checkGroupAllowed, resolveGroupId } from '../groups/index.js';
4
+ import { collectRequiredUserTargets, collectTargetInputs, executeBulkUserWrites, executeResolvedUserWrites, getContinueOnError, getDryRun, normalizeRetryOptions, resolveUserTargets, summarizeBulk, } from './bulk.js';
5
+ import { resolveInviteMessagePlan } from './messages.js';
2
6
  export function resolveInviteLocation(args) {
3
7
  if (args.location) {
4
8
  const parts = args.location.split(':');
@@ -52,10 +56,11 @@ export async function sendUserInvite(userId, request) {
52
56
  const result = await callWriteOperationParsed('inviteUser', { userId }, request);
53
57
  return result.data ?? null;
54
58
  }
55
- export async function resolveCurrentInviteLocation() {
59
+ async function resolveCurrentInviteContext() {
56
60
  const currentResult = await callReadOperationParsed('getCurrentUser', {});
57
61
  const currentUser = currentResult.data;
58
62
  const location = typeof currentUser?.location === 'string' ? currentUser.location : '';
63
+ const userId = typeof currentUser?.id === 'string' ? currentUser.id : undefined;
59
64
  if (!location?.includes(':')) {
60
65
  throw new Error('Could not determine your current joinable instance from location. Join an instance first or provide instanceId/location explicitly via vrchat_invite_user.');
61
66
  }
@@ -65,10 +70,14 @@ export async function resolveCurrentInviteLocation() {
65
70
  if (!worldId || !instanceId) {
66
71
  throw new Error('Current location is malformed; unable to extract worldId/instanceId. Use vrchat_invite_user with explicit instanceId/location.');
67
72
  }
73
+ return { worldId, instanceId, location, userId };
74
+ }
75
+ export async function resolveCurrentInviteLocation() {
76
+ const current = await resolveCurrentInviteContext();
68
77
  return {
69
- worldId,
70
- instanceId,
71
- location,
78
+ worldId: current.worldId,
79
+ instanceId: current.instanceId,
80
+ location: current.location,
72
81
  };
73
82
  }
74
83
  export async function inviteUserToCurrentInstance(input) {
@@ -87,4 +96,193 @@ export async function inviteUserToCurrentInstance(input) {
87
96
  notification,
88
97
  };
89
98
  }
99
+ async function resolveInviteDestination(input) {
100
+ const hasHere = input.here === true;
101
+ const hasLocation = typeof input.location === 'string' && input.location.trim().length > 0;
102
+ const hasWorldId = typeof input.worldId === 'string' && input.worldId.trim().length > 0;
103
+ const hasInstanceId = typeof input.instanceId === 'string' && input.instanceId.trim().length > 0;
104
+ const styles = [hasHere, hasLocation, hasWorldId || hasInstanceId].filter(Boolean).length;
105
+ if (styles !== 1) {
106
+ throw new Error('Provide exactly one destination: here=true, location="wrld_:instance", worldId + instanceId, or bare instanceId for user invites.');
107
+ }
108
+ if (hasWorldId && !hasInstanceId) {
109
+ throw new Error('worldId requires instanceId.');
110
+ }
111
+ if (!hasWorldId && hasInstanceId) {
112
+ if (input.self) {
113
+ throw new Error('Self-invite requires a full destination because VRChat needs worldId and instanceId. Use here=true, location="wrld_:instance", or worldId + instanceId. Bare instanceId is only valid when inviting other users.');
114
+ }
115
+ return { destination: { kind: 'instance', instanceId: input.instanceId } };
116
+ }
117
+ if (hasWorldId && hasInstanceId) {
118
+ return {
119
+ destination: {
120
+ kind: 'world_instance',
121
+ worldId: input.worldId,
122
+ instanceId: input.instanceId,
123
+ location: `${input.worldId}:${input.instanceId}`,
124
+ },
125
+ };
126
+ }
127
+ if (hasLocation) {
128
+ const location = input.location?.trim() ?? '';
129
+ if (!location.includes(':')) {
130
+ throw new Error('location must be a full VRChat location string like "wrld_:instance". Use instanceId for bare instance IDs.');
131
+ }
132
+ const parts = location.split(':');
133
+ const worldId = parts[0];
134
+ const instanceId = parts.slice(1).join(':');
135
+ if (!worldId || !instanceId) {
136
+ throw new Error('location must include both worldId and instanceId, like "wrld_:instance".');
137
+ }
138
+ return { destination: { kind: 'location', location, worldId, instanceId } };
139
+ }
140
+ const current = await resolveCurrentInviteContext();
141
+ return {
142
+ destination: {
143
+ kind: 'here',
144
+ location: current.location,
145
+ worldId: current.worldId,
146
+ instanceId: current.instanceId,
147
+ },
148
+ currentUserId: current.userId,
149
+ };
150
+ }
151
+ function inviteRequestForDestination(destination, messagePlan) {
152
+ if (!destination.instanceId) {
153
+ throw new Error('Unable to resolve invite instanceId.');
154
+ }
155
+ const request = { instanceId: destination.instanceId };
156
+ if (typeof messagePlan?.slot === 'number')
157
+ request.messageSlot = messagePlan.slot;
158
+ return request;
159
+ }
160
+ function assertSelfInviteDestination(destination) {
161
+ if (!destination.worldId || !destination.instanceId) {
162
+ throw new Error('Self-invite requires here=true, location="wrld_:instance", or worldId + instanceId.');
163
+ }
164
+ }
165
+ export async function inviteUsers(input) {
166
+ const dryRun = getDryRun(input);
167
+ const continueOnError = getContinueOnError(input);
168
+ const retry = normalizeRetryOptions(input);
169
+ const destinationContext = await resolveInviteDestination(input);
170
+ const { destination } = destinationContext;
171
+ const targetInputs = collectTargetInputs(input);
172
+ if (input.self) {
173
+ if (input.message || typeof input.overwriteMessageSlot === 'number') {
174
+ throw new Error('Self-invite cannot use message or overwriteMessageSlot.');
175
+ }
176
+ assertSelfInviteDestination(destination);
177
+ const result = {
178
+ target: 'self',
179
+ status: dryRun ? 'would_send' : 'sent',
180
+ attempts: dryRun ? 0 : 1,
181
+ };
182
+ if (!dryRun) {
183
+ const notification = await sendSelfInvite({
184
+ worldId: destination.worldId,
185
+ instanceId: destination.instanceId,
186
+ });
187
+ if (notification)
188
+ result.notification = notification;
189
+ }
190
+ return {
191
+ ...summarizeBulk({ dryRun, continueOnError, results: [result] }),
192
+ destination,
193
+ };
194
+ }
195
+ const resolution = await resolveUserTargets(targetInputs, continueOnError);
196
+ if (resolution.targets.length === 0) {
197
+ return {
198
+ ...summarizeBulk({
199
+ dryRun,
200
+ continueOnError,
201
+ results: resolution.results,
202
+ totalTargets: targetInputs.length,
203
+ stoppedAfterFailure: resolution.stopped,
204
+ }),
205
+ destination,
206
+ };
207
+ }
208
+ const messagePlan = await resolveInviteMessagePlan(input, dryRun, destinationContext.currentUserId);
209
+ const request = inviteRequestForDestination(destination, messagePlan);
210
+ const summary = await executeResolvedUserWrites({
211
+ targets: resolution.targets,
212
+ initialResults: resolution.results,
213
+ totalTargets: targetInputs.length,
214
+ stoppedAfterFailure: resolution.stopped,
215
+ dryRun,
216
+ continueOnError,
217
+ retry,
218
+ send: (target) => sendUserInvite(target.userId, request),
219
+ });
220
+ return { ...summary, destination, message: messagePlan };
221
+ }
222
+ export async function inviteUsersToGroup(input) {
223
+ const resolved = await resolveGroupId({ groupId: input.groupId, shortCode: input.shortCode });
224
+ if (!resolved.ok)
225
+ throw new Error(resolved.reason);
226
+ const allowed = checkGroupAllowed(resolved.groupId);
227
+ if (!allowed.ok)
228
+ throw new Error(allowed.reason);
229
+ const dryRun = getDryRun(input);
230
+ const continueOnError = getContinueOnError(input);
231
+ const summary = await executeBulkUserWrites({
232
+ targets: collectRequiredUserTargets(input),
233
+ dryRun,
234
+ continueOnError,
235
+ retry: normalizeRetryOptions(input),
236
+ send: async (target) => {
237
+ const result = await callOperation({
238
+ operationId: 'createGroupInvite',
239
+ params: { groupId: resolved.groupId },
240
+ body: {
241
+ userId: target.userId,
242
+ confirmOverrideBlock: input.confirmOverrideBlock === true,
243
+ },
244
+ });
245
+ return result.data ?? null;
246
+ },
247
+ });
248
+ return { ...summary, groupId: resolved.groupId };
249
+ }
250
+ export async function sendFriendRequests(input) {
251
+ return executeBulkUserWrites({
252
+ targets: collectRequiredUserTargets(input),
253
+ dryRun: getDryRun(input),
254
+ continueOnError: getContinueOnError(input),
255
+ retry: normalizeRetryOptions(input),
256
+ send: async (target) => {
257
+ const result = await callOperation({
258
+ operationId: 'friend',
259
+ params: { userId: target.userId },
260
+ });
261
+ return result.data ?? null;
262
+ },
263
+ });
264
+ }
265
+ export async function sendBoops(input) {
266
+ return executeBulkUserWrites({
267
+ targets: collectRequiredUserTargets(input),
268
+ dryRun: getDryRun(input),
269
+ continueOnError: getContinueOnError(input),
270
+ retry: normalizeRetryOptions(input),
271
+ send: async (target) => {
272
+ const body = {};
273
+ if (input.emojiId)
274
+ body.emojiId = input.emojiId;
275
+ if (typeof input.emojiVersion === 'number')
276
+ body.emojiVersion = input.emojiVersion;
277
+ if (input.inventoryItemId)
278
+ body.inventoryItemId = input.inventoryItemId;
279
+ const result = await callOperation({
280
+ operationId: 'boop',
281
+ params: { userId: target.userId },
282
+ body,
283
+ });
284
+ return result.data ?? null;
285
+ },
286
+ });
287
+ }
90
288
  //# sourceMappingURL=curated.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"curated.js","sourceRoot":"","sources":["../../../../src/services/invites/curated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curated.js","sourceRoot":"","sources":["../../../../src/services/invites/curated.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { callOperation } from '../../core/client.js';
2
+ import { asRecord } from './bulk.js';
3
+ async function getCurrentUserId() {
4
+ const result = await callOperation({ operationId: 'getCurrentUser', params: {} });
5
+ const user = asRecord(result.data);
6
+ const userId = typeof user?.id === 'string' ? user.id : '';
7
+ if (!userId)
8
+ throw new Error('Unable to resolve current user id.');
9
+ return userId;
10
+ }
11
+ function inviteMessageRecords(data) {
12
+ return Array.isArray(data)
13
+ ? data.map((entry) => asRecord(entry)).filter((entry) => Boolean(entry))
14
+ : [];
15
+ }
16
+ async function fetchInviteMessages(userId) {
17
+ const result = await callOperation({
18
+ operationId: 'getInviteMessages',
19
+ params: { userId, messageType: 'message' },
20
+ });
21
+ return inviteMessageRecords(result.data);
22
+ }
23
+ function findInviteMessageSlot(messages, message) {
24
+ const match = messages.find((entry) => entry.message === message && typeof entry.slot === 'number');
25
+ return typeof match?.slot === 'number' ? Math.floor(match.slot) : null;
26
+ }
27
+ function getMessageSlotRecord(messages, slot) {
28
+ return messages.find((entry) => entry.slot === slot) ?? null;
29
+ }
30
+ export async function resolveInviteMessagePlan(input, dryRun, currentUserId) {
31
+ const message = typeof input.message === 'string' ? input.message.trim() : '';
32
+ if (!message)
33
+ return undefined;
34
+ if (input.self) {
35
+ throw new Error('Self-invite cannot use invite messages because VRChat self-invite has no message slot body.');
36
+ }
37
+ const userId = currentUserId ?? await getCurrentUserId();
38
+ const messages = await fetchInviteMessages(userId);
39
+ const existingSlot = findInviteMessageSlot(messages, message);
40
+ if (existingSlot !== null) {
41
+ return { requested: message, slot: existingSlot, matchedExisting: true };
42
+ }
43
+ const overwriteSlot = input.overwriteMessageSlot;
44
+ if (typeof overwriteSlot !== 'number') {
45
+ throw new Error('No saved invite message exactly matches message. Provide overwriteMessageSlot (0-11) to update a saved invite message slot, then send using it. Updating a slot may be rate-limited by VRChat.');
46
+ }
47
+ const slotRecord = getMessageSlotRecord(messages, overwriteSlot);
48
+ const canBeUpdated = slotRecord?.canBeUpdated !== false;
49
+ const cooldown = typeof slotRecord?.remainingCooldownMinutes === 'number'
50
+ ? Math.floor(slotRecord.remainingCooldownMinutes)
51
+ : 0;
52
+ if (!canBeUpdated || cooldown > 0) {
53
+ throw new Error(`Invite message slot ${overwriteSlot} cannot be updated right now. Remaining cooldown: ${cooldown} minute(s).`);
54
+ }
55
+ if (dryRun) {
56
+ return { requested: message, slot: overwriteSlot, wouldOverwriteSlot: overwriteSlot };
57
+ }
58
+ await callOperation({
59
+ operationId: 'updateInviteMessage',
60
+ params: { userId, messageType: 'message', slot: overwriteSlot },
61
+ body: { message },
62
+ });
63
+ return { requested: message, slot: overwriteSlot, overwrittenSlot: overwriteSlot };
64
+ }
65
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/services/invites/messages.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { fetch } from 'undici';
2
2
  import { buildCacheKey, cacheConfig, cacheManager } from '../cache.js';
3
3
  const STATUS_PAGE_API_BASE = 'https://status.vrchat.com/api/v2';
4
4
  const DEFAULT_RECENT_HOURS = 72;
5
- const DEFAULT_MAX_ITEMS = 5;
5
+ const DEFAULT_MAX_ITEMS = 2;
6
6
  const FETCH_TIMEOUT_MS = 10_000;
7
7
  const OVERVIEW_CACHE_TTL_MS = cacheConfig.notificationsTtlMs;
8
8
  const GRAPH_DEFINITIONS = [
@@ -71,6 +71,32 @@ function mapPage(raw) {
71
71
  updatedAt: asString(page?.updated_at),
72
72
  };
73
73
  }
74
+ function mapUpdate(raw) {
75
+ const update = asRecord(raw);
76
+ if (!update)
77
+ return null;
78
+ const id = asString(update.id);
79
+ if (!id)
80
+ return null;
81
+ const displayAt = asString(update.display_at);
82
+ const updatedAt = asString(update.updated_at);
83
+ const createdAt = asString(update.created_at);
84
+ return {
85
+ update: {
86
+ id,
87
+ status: asString(update.status),
88
+ body: asString(update.body),
89
+ displayAt,
90
+ },
91
+ sortTimestamp: toTimestamp(displayAt) ?? toTimestamp(updatedAt) ?? toTimestamp(createdAt) ?? 0,
92
+ };
93
+ }
94
+ function selectLatestUpdate(rawUpdates) {
95
+ return rawUpdates
96
+ .map(mapUpdate)
97
+ .filter((entry) => Boolean(entry))
98
+ .sort((a, b) => b.sortTimestamp - a.sortTimestamp)[0]?.update;
99
+ }
74
100
  function mapIncident(raw) {
75
101
  const incident = asRecord(raw);
76
102
  if (!incident)
@@ -79,6 +105,7 @@ function mapIncident(raw) {
79
105
  const name = asString(incident.name);
80
106
  if (!id || !name)
81
107
  return null;
108
+ const updatesRaw = Array.isArray(incident.incident_updates) ? incident.incident_updates : [];
82
109
  return {
83
110
  id,
84
111
  name,
@@ -88,6 +115,7 @@ function mapIncident(raw) {
88
115
  startedAt: asString(incident.started_at),
89
116
  updatedAt: asString(incident.updated_at),
90
117
  resolvedAt: asString(incident.resolved_at),
118
+ latestUpdate: selectLatestUpdate(updatesRaw),
91
119
  };
92
120
  }
93
121
  function mapMaintenance(raw) {
@@ -98,6 +126,9 @@ function mapMaintenance(raw) {
98
126
  const name = asString(maintenance.name);
99
127
  if (!id || !name)
100
128
  return null;
129
+ const updatesRaw = Array.isArray(maintenance.incident_updates)
130
+ ? maintenance.incident_updates
131
+ : [];
101
132
  return {
102
133
  id,
103
134
  name,
@@ -107,6 +138,7 @@ function mapMaintenance(raw) {
107
138
  scheduledFor: asString(maintenance.scheduled_for),
108
139
  scheduledUntil: asString(maintenance.scheduled_until),
109
140
  updatedAt: asString(maintenance.updated_at),
141
+ latestUpdate: selectLatestUpdate(updatesRaw),
110
142
  };
111
143
  }
112
144
  function mapComponent(raw) {
@@ -118,7 +150,12 @@ function mapComponent(raw) {
118
150
  const status = asString(component.status);
119
151
  if (!id || !name || !status)
120
152
  return null;
121
- return { id, name, status };
153
+ return {
154
+ id,
155
+ name,
156
+ status,
157
+ description: asString(component.description),
158
+ };
122
159
  }
123
160
  function toTimestamp(value) {
124
161
  if (!value)
@@ -284,7 +321,7 @@ async function fetchOptionalStatusPageJson(path, notes) {
284
321
  async function buildStatusPageOverview(input) {
285
322
  const recentHours = typeof input.recentHours === 'number' ? Math.floor(input.recentHours) : DEFAULT_RECENT_HOURS;
286
323
  const maxItems = typeof input.maxItems === 'number' ? Math.floor(input.maxItems) : DEFAULT_MAX_ITEMS;
287
- const includeGraphs = input.includeGraphs !== false;
324
+ const includeGraphs = input.includeGraphs === true;
288
325
  const notes = [];
289
326
  const checkedAt = new Date().toISOString();
290
327
  const recentThresholdMs = Date.now() - recentHours * 60 * 60 * 1000;
@@ -297,7 +334,7 @@ async function buildStatusPageOverview(input) {
297
334
  includeGraphs ? buildGraphMetrics(notes) : Promise.resolve([]),
298
335
  ]);
299
336
  if (!includeGraphs) {
300
- notes.push('Graph stats omitted because includeGraphs=false.');
337
+ notes.push('Graph stats omitted; pass includeGraphs=true to include status-page chart stats.');
301
338
  }
302
339
  const status = asRecord(summaryPayload.status);
303
340
  const indicator = asString(status?.indicator);
@@ -386,7 +423,7 @@ async function buildStatusPageOverview(input) {
386
423
  export async function getStatusPageOverview(input) {
387
424
  const recentHours = typeof input.recentHours === 'number' ? Math.floor(input.recentHours) : DEFAULT_RECENT_HOURS;
388
425
  const maxItems = typeof input.maxItems === 'number' ? Math.floor(input.maxItems) : DEFAULT_MAX_ITEMS;
389
- const includeGraphs = input.includeGraphs !== false;
426
+ const includeGraphs = input.includeGraphs === true;
390
427
  const cacheKey = buildCacheKey('status-page:overview', {
391
428
  recentHours,
392
429
  maxItems,
@@ -1 +1 @@
1
- {"version":3,"file":"curated.js","sourceRoot":"","sources":["../../../../src/services/statusPage/curated.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curated.js","sourceRoot":"","sources":["../../../../src/services/statusPage/curated.ts"],"names":[],"mappings":"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"}
@@ -2,18 +2,18 @@ import { z } from 'zod';
2
2
  import { authManager } from '../auth/index.js';
3
3
  import { cacheManager } from '../services/cache.js';
4
4
  import { AuthStatusSchema } from '../schemas/auth.js';
5
- import { readOnlyToolAnnotations, writeToolAnnotations, } from '../utils/toolAnnotations.js';
5
+ import { readOnlyToolAnnotations, writeToolAnnotations } from '../utils/toolAnnotations.js';
6
6
  import { toolName } from '../utils/toolNames.js';
7
7
  export function registerAuthTools(server) {
8
8
  server.registerTool(toolName('vrchat.auth.begin'), {
9
9
  description: 'Begin login flow via local browser UI.',
10
- outputSchema: z.object({ url: z.string(), token: z.string() }),
10
+ outputSchema: z.object({ url: z.string() }),
11
11
  annotations: writeToolAnnotations,
12
12
  }, async () => {
13
- const { url, token } = await authManager.startLoginServer();
13
+ const { url } = await authManager.startLoginServer();
14
14
  return {
15
15
  content: [{ type: 'text', text: `Open in browser: ${url}` }],
16
- structuredContent: { url, token },
16
+ structuredContent: { url },
17
17
  };
18
18
  });
19
19
  server.registerTool(toolName('vrchat.auth.status'), {
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,mBAAmB,CAAC,EAC7B;QACE,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC9D,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QAC5D,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,EAAE,EAAE,CAAC;YAC5D,iBAAiB,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE;SAClC,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,oBAAoB,CAAC,EAC9B;QACE,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,uBAAuB;KACrC,EACD,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/E,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,oBAAoB,CAAC,EAC9B;QACE,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC/C,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,mBAAmB,CAAC,EAC7B;QACE,WAAW,EAAE,wCAAwC;QACrD,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3C,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,IAAI,EAAE;QACT,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,WAAW,CAAC,gBAAgB,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,oBAAoB,GAAG,EAAE,EAAE,CAAC;YAC5D,iBAAiB,EAAE,EAAE,GAAG,EAAE;SAC3B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,oBAAoB,CAAC,EAC9B;QACE,WAAW,EAAE,cAAc;QAC3B,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,uBAAuB;KACrC,EACD,GAAG,EAAE;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;YAC/E,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CACjB,QAAQ,CAAC,oBAAoB,CAAC,EAC9B;QACE,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,gBAAgB;QAC9B,WAAW,EAAE,oBAAoB;KAClC,EACD,KAAK,IAAI,EAAE;QACT,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,aAAa,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;QACvC,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YAC/C,iBAAiB,EAAE,MAAM;SAC1B,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { FavoriteAddInputSchema, FavoriteRemoveInputSchema, FavoritesReadInputSchema, FavoriteWriteOutputSchema, FavoritesReadOutputSchema, } from '../../models/favorites.js';
2
+ import { addFavorite, getFavoriteGroup, getFavoriteLimits, listFavoriteGroups, listFavorites, listFavoritedAvatars, removeFavorite, } from '../../services/favorites/index.js';
3
+ import { readOnlyToolAnnotations, destructiveToolAnnotations, writeToolAnnotations } from '../../utils/toolAnnotations.js';
4
+ import { toolName } from '../../utils/toolNames.js';
5
+ import { textContent, toolError } from '../../utils/toolResponses.js';
6
+ export function registerCuratedFavoriteTools(server) {
7
+ server.registerTool(toolName('vrchat.favorites'), {
8
+ description: 'Read favorites, favorite groups, limits, or favorited avatars with compact outputs (read-only).',
9
+ inputSchema: FavoritesReadInputSchema,
10
+ outputSchema: FavoritesReadOutputSchema,
11
+ annotations: readOnlyToolAnnotations,
12
+ }, async (args) => {
13
+ try {
14
+ const input = FavoritesReadInputSchema.parse(args ?? {});
15
+ if (input.view === 'groups') {
16
+ const result = await listFavoriteGroups(input);
17
+ const payload = { view: input.view, total: result.groups.length, page: result.page, groups: result.groups };
18
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
19
+ }
20
+ if (input.view === 'group') {
21
+ const result = await getFavoriteGroup(input);
22
+ const payload = { view: input.view, group: result.group };
23
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
24
+ }
25
+ if (input.view === 'limits') {
26
+ const result = await getFavoriteLimits();
27
+ const payload = { view: input.view, limits: result.limits };
28
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
29
+ }
30
+ if (input.view === 'avatars') {
31
+ const result = await listFavoritedAvatars(input);
32
+ const payload = { view: input.view, total: result.avatars.length, page: result.page, avatars: result.avatars };
33
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
34
+ }
35
+ const result = await listFavorites(input);
36
+ const payload = { view: input.view, total: result.favorites.length, page: result.page, favorites: result.favorites };
37
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
38
+ }
39
+ catch (err) {
40
+ const message = err instanceof Error ? err.message : 'Unknown error';
41
+ return toolError(message);
42
+ }
43
+ });
44
+ server.registerTool(toolName('vrchat.favorite.add'), {
45
+ description: 'Add a user, avatar, or world to a favorite group.',
46
+ inputSchema: FavoriteAddInputSchema,
47
+ outputSchema: FavoriteWriteOutputSchema,
48
+ annotations: writeToolAnnotations,
49
+ }, async (args) => {
50
+ try {
51
+ const input = FavoriteAddInputSchema.parse(args);
52
+ const result = await addFavorite(input);
53
+ const payload = { status: 'added', favorite: result.favorite };
54
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
55
+ }
56
+ catch (err) {
57
+ const message = err instanceof Error ? err.message : 'Unknown error';
58
+ return toolError(message);
59
+ }
60
+ });
61
+ server.registerTool(toolName('vrchat.favorite.remove'), {
62
+ description: 'Remove a favorite by favorite record ID. Use vrchat_favorites to look up favoriteRecordId first.',
63
+ inputSchema: FavoriteRemoveInputSchema,
64
+ outputSchema: FavoriteWriteOutputSchema,
65
+ annotations: destructiveToolAnnotations,
66
+ }, async (args) => {
67
+ try {
68
+ const input = FavoriteRemoveInputSchema.parse(args);
69
+ const result = await removeFavorite(input);
70
+ const payload = { status: 'removed', result: result.result };
71
+ return { content: textContent(JSON.stringify(payload, null, 2)), structuredContent: payload };
72
+ }
73
+ catch (err) {
74
+ const message = err instanceof Error ? err.message : 'Unknown error';
75
+ return toolError(message);
76
+ }
77
+ });
78
+ }
79
+ //# sourceMappingURL=favorites.js.map