@elliotding/ai-agent-mcp 0.2.22 → 0.2.23

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 (52) hide show
  1. package/dist/api/client.d.ts +4 -1
  2. package/dist/api/client.d.ts.map +1 -1
  3. package/dist/api/client.js +7 -1
  4. package/dist/api/client.js.map +1 -1
  5. package/dist/client-adapters/codex-adapter.d.ts +1 -0
  6. package/dist/client-adapters/codex-adapter.d.ts.map +1 -1
  7. package/dist/client-adapters/codex-adapter.js +3 -0
  8. package/dist/client-adapters/codex-adapter.js.map +1 -1
  9. package/dist/client-adapters/cursor-adapter.d.ts +1 -0
  10. package/dist/client-adapters/cursor-adapter.d.ts.map +1 -1
  11. package/dist/client-adapters/cursor-adapter.js +3 -0
  12. package/dist/client-adapters/cursor-adapter.js.map +1 -1
  13. package/dist/client-adapters/index.d.ts +2 -0
  14. package/dist/client-adapters/index.d.ts.map +1 -1
  15. package/dist/client-adapters/index.js.map +1 -1
  16. package/dist/prompts/manager.d.ts +55 -0
  17. package/dist/prompts/manager.d.ts.map +1 -1
  18. package/dist/prompts/manager.js +196 -6
  19. package/dist/prompts/manager.js.map +1 -1
  20. package/dist/server/http.d.ts.map +1 -1
  21. package/dist/server/http.js +49 -2
  22. package/dist/server/http.js.map +1 -1
  23. package/dist/server/streamable-http.d.ts.map +1 -1
  24. package/dist/server/streamable-http.js +21 -0
  25. package/dist/server/streamable-http.js.map +1 -1
  26. package/dist/tools/manage-subscription.d.ts.map +1 -1
  27. package/dist/tools/manage-subscription.js +135 -24
  28. package/dist/tools/manage-subscription.js.map +1 -1
  29. package/dist/tools/query-usage-stats.d.ts +8 -0
  30. package/dist/tools/query-usage-stats.d.ts.map +1 -1
  31. package/dist/tools/query-usage-stats.js +26 -1
  32. package/dist/tools/query-usage-stats.js.map +1 -1
  33. package/dist/tools/resolve-prompt-content.d.ts.map +1 -1
  34. package/dist/tools/resolve-prompt-content.js +25 -0
  35. package/dist/tools/resolve-prompt-content.js.map +1 -1
  36. package/dist/tools/search-resources.d.ts +5 -0
  37. package/dist/tools/search-resources.d.ts.map +1 -1
  38. package/dist/tools/search-resources.js +52 -10
  39. package/dist/tools/search-resources.js.map +1 -1
  40. package/dist/tools/sync-resources.d.ts.map +1 -1
  41. package/dist/tools/sync-resources.js +171 -81
  42. package/dist/tools/sync-resources.js.map +1 -1
  43. package/dist/tools/uninstall-resource.d.ts.map +1 -1
  44. package/dist/tools/uninstall-resource.js +90 -20
  45. package/dist/tools/uninstall-resource.js.map +1 -1
  46. package/dist/types/tools.d.ts +55 -5
  47. package/dist/types/tools.d.ts.map +1 -1
  48. package/dist/utils/codex-paths.d.ts +4 -0
  49. package/dist/utils/codex-paths.d.ts.map +1 -1
  50. package/dist/utils/codex-paths.js +7 -0
  51. package/dist/utils/codex-paths.js.map +1 -1
  52. package/package.json +1 -1
@@ -12,7 +12,18 @@ const errors_1 = require("../types/errors");
12
12
  const sync_resources_1 = require("./sync-resources");
13
13
  const uninstall_resource_1 = require("./uninstall-resource");
14
14
  const index_js_1 = require("../prompts/index.js");
15
- const cursor_paths_js_1 = require("../utils/cursor-paths.js");
15
+ const index_js_2 = require("../client-adapters/index.js");
16
+ const index_js_3 = require("../config/index.js");
17
+ function buildLocalActionsSummary(localActions) {
18
+ if (!localActions || localActions.length === 0) {
19
+ return undefined;
20
+ }
21
+ return {
22
+ action_count: localActions.length,
23
+ action_types: Array.from(new Set(localActions.map((action) => action.action))),
24
+ message: 'Execute every local_actions_required item immediately on the user\'s local machine before treating this subscription change as complete or verifying local state.',
25
+ };
26
+ }
16
27
  async function manageSubscription(params) {
17
28
  const startTime = Date.now();
18
29
  // Type assertion for params
@@ -29,22 +40,33 @@ async function manageSubscription(params) {
29
40
  logger_1.logger.debug({ resourceIds: typedParams.resource_ids, autoSync: typedParams.auto_sync }, 'Subscribing to resources...');
30
41
  // Subscribe to resources
31
42
  const subResult = await client_1.apiClient.subscribe(typedParams.resource_ids, typedParams.auto_sync, undefined, typedParams.user_token);
43
+ index_js_1.promptManager.clearSuppressedSubscriptions(typedParams.user_token ?? '', typedParams.resource_ids);
32
44
  logger_1.logger.info({ count: subResult.subscriptions.length }, 'Resources subscribed successfully');
33
45
  // Auto-sync newly subscribed resources immediately (default: true)
34
46
  const shouldAutoSync = typedParams.auto_sync !== false;
35
47
  let syncSummary;
36
48
  let syncDetails;
37
49
  let pendingSetup;
38
- if (shouldAutoSync && subResult.subscriptions.length > 0) {
39
- logger_1.logger.info({ resourceIds: typedParams.resource_ids }, 'Auto-syncing newly subscribed resources...');
50
+ let subscribeLocalActions;
51
+ const resourceIdsForAutoSync = Array.from(new Set(typedParams.resource_ids));
52
+ if (shouldAutoSync && resourceIdsForAutoSync.length > 0) {
53
+ logger_1.logger.info({
54
+ resourceIds: resourceIdsForAutoSync,
55
+ newlyCreatedSubscriptionCount: subResult.subscriptions.length,
56
+ }, 'Auto-syncing requested subscribed resources...');
40
57
  // Scope auto-sync to only the newly subscribed resource(s).
41
58
  // Passing resource_ids prevents processing all other subscribed resources,
42
59
  // which would generate unnecessary local_actions and waste context window.
60
+ // Important: sync the requested ids even when the subscribe API returns
61
+ // zero newly-created rows. Default/baseline resources can be locally
62
+ // suppressed and then restored without creating a server-side row; they
63
+ // still need prompt registration and local actions rebuilt immediately.
43
64
  const syncResult = await (0, sync_resources_1.syncResources)({
44
65
  mode: 'incremental',
45
66
  scope: typedParams.scope || 'global',
46
67
  user_token: typedParams.user_token,
47
- resource_ids: typedParams.resource_ids,
68
+ resource_ids: resourceIdsForAutoSync,
69
+ agent_profile: typedParams.agent_profile,
48
70
  });
49
71
  if (syncResult.success && syncResult.data) {
50
72
  const sd = syncResult.data;
@@ -53,6 +75,9 @@ async function manageSubscription(params) {
53
75
  if (sd.pending_setup && sd.pending_setup.length > 0) {
54
76
  pendingSetup = sd.pending_setup;
55
77
  }
78
+ if (sd.local_actions_required && sd.local_actions_required.length > 0) {
79
+ subscribeLocalActions = sd.local_actions_required;
80
+ }
56
81
  logger_1.logger.info({ summary: sd.summary }, 'Auto-sync after subscribe completed');
57
82
  }
58
83
  else {
@@ -62,10 +87,11 @@ async function manageSubscription(params) {
62
87
  }
63
88
  // Build per-resource sync hint so the AI knows to use resource_ids
64
89
  // for a scoped incremental sync instead of syncing all resources.
65
- const subscribedIds = subResult.subscriptions.map(s => s.id);
90
+ const subscribedIds = resourceIdsForAutoSync;
66
91
  const syncHint = subscribedIds.length > 0
67
- ? `To sync ONLY the newly subscribed resource(s), call: sync_resources(mode="incremental", resource_ids=${JSON.stringify(subscribedIds)}). This avoids returning local_actions for ALL subscribed resources and drastically reduces context overhead.`
92
+ ? `To sync ONLY the requested resource(s), call: sync_resources(mode="incremental", resource_ids=${JSON.stringify(subscribedIds)}). This avoids returning local_actions for ALL subscribed resources and drastically reduces context overhead.`
68
93
  : undefined;
94
+ const subscribeLocalActionsSummary = buildLocalActionsSummary(subscribeLocalActions);
69
95
  result = {
70
96
  action: 'subscribe',
71
97
  success: true,
@@ -76,13 +102,24 @@ async function manageSubscription(params) {
76
102
  subscribed_at: sub.subscribed_at,
77
103
  })),
78
104
  message: [
79
- `Successfully subscribed to ${subResult.subscriptions.length} resource${subResult.subscriptions.length > 1 ? 's' : ''}.`,
105
+ `Successfully processed subscribe request for ${resourceIdsForAutoSync.length} resource id${resourceIdsForAutoSync.length > 1 ? 's' : ''}.`,
106
+ `Server created ${subResult.subscriptions.length} new subscription${subResult.subscriptions.length !== 1 ? 's' : ''}.`,
107
+ subResult.subscriptions.length === 0 && shouldAutoSync
108
+ ? 'Requested resource(s) may already be subscribed or provided by baseline defaults; scoped auto-sync was still executed.'
109
+ : null,
80
110
  syncSummary,
81
111
  syncHint,
112
+ subscribeLocalActions && subscribeLocalActions.length > 0
113
+ ? `IMPORTANT: ${subscribeLocalActions.length} local action(s) are still pending. Execute local_actions_required or fetch csp-ai-agent-setup before treating the resource as installed.`
114
+ : null,
82
115
  'If you need to execute a newly subscribed Command or Skill in this same conversation, call resolve_prompt_content next to retrieve the real prompt body.',
83
116
  ].filter(Boolean).join(' '),
84
117
  ...(syncDetails ? { sync_details: syncDetails } : {}),
85
118
  ...(pendingSetup ? { pending_setup: pendingSetup } : {}),
119
+ ...(subscribeLocalActions ? { local_actions_required: subscribeLocalActions } : {}),
120
+ ...(subscribeLocalActionsSummary
121
+ ? { setup_required: true, local_actions_summary: subscribeLocalActionsSummary }
122
+ : {}),
86
123
  };
87
124
  break;
88
125
  }
@@ -91,6 +128,12 @@ async function manageSubscription(params) {
91
128
  if (!typedParams.resource_ids || typedParams.resource_ids.length === 0) {
92
129
  throw (0, errors_1.createValidationError)('resource_ids', 'array', 'resource_ids is required for unsubscribe action');
93
130
  }
131
+ // Resolve the client adapter: prefer caller-supplied agent_profile, fall
132
+ // back to server-wide config (set via CSP_AGENT_PROFILE env var).
133
+ // This mirrors the same resolution logic in sync-resources.ts so that
134
+ // Codex unsubscribes emit remove_toml_entry instead of remove_mcp_json_entry.
135
+ const resolvedUnsubProfile = typedParams.agent_profile ?? index_js_3.config.agentProfile ?? 'cursor';
136
+ const unsubClientAdapter = index_js_2.adapterRegistry.get(resolvedUnsubProfile);
94
137
  logger_1.logger.debug({ resourceIds: typedParams.resource_ids }, 'Unsubscribing from resources...');
95
138
  // Build resource_id → type and resource_id → name maps from the current
96
139
  // subscription list so uninstall actions can be scoped precisely to
@@ -110,9 +153,21 @@ async function manageSubscription(params) {
110
153
  catch (e) {
111
154
  logger_1.logger.warn({ error: e.message }, 'Could not fetch subscriptions for type resolution — uninstall will emit both rule+mcp actions as fallback');
112
155
  }
113
- // Cancel server-side subscription
114
- await client_1.apiClient.unsubscribe(typedParams.resource_ids, typedParams.user_token);
115
- logger_1.logger.info({ count: typedParams.resource_ids.length }, 'Server-side subscriptions removed');
156
+ // Cancel server-side subscription. Baseline/default subscriptions may
157
+ // be exposed by list/search but have no removable user row on the
158
+ // server; in that case the API returns removed_count=0. Do not abort
159
+ // local cleanup here: apply a local suppression after verification so
160
+ // prompts/list/search/sync are consistent for this user.
161
+ const unsubscribeResponse = await client_1.apiClient.unsubscribe(typedParams.resource_ids, typedParams.user_token);
162
+ const serverRemovedAll = unsubscribeResponse.removed_count === typedParams.resource_ids.length;
163
+ if (!serverRemovedAll) {
164
+ logger_1.logger.warn({
165
+ requested: unsubscribeResponse.requested_count,
166
+ removed: unsubscribeResponse.removed_count,
167
+ resourceIds: typedParams.resource_ids,
168
+ }, 'Unsubscribe API reported partial removal; continuing local cleanup and will verify list state');
169
+ }
170
+ logger_1.logger.info({ requested: unsubscribeResponse.requested_count, removed: unsubscribeResponse.removed_count }, 'Server-side subscriptions removed');
116
171
  // Uninstall local files and MCP config for each resource.
117
172
  // For Command/Skill: unregister MCP Prompt instead of deleting local files.
118
173
  const uninstallResults = [];
@@ -139,8 +194,10 @@ async function manageSubscription(params) {
139
194
  // find no matching prompts and skip the skill cleanup branch entirely.
140
195
  // Instead, we directly build the delete_file local_actions for the AI to execute.
141
196
  if (resourceType === 'skill') {
142
- const skillDir = `${(0, cursor_paths_js_1.getCspAgentDirForClient)('skills')}/${resourceName}`;
143
- const manifestFile = `${(0, cursor_paths_js_1.getCspAgentDirForClient)('.manifests')}/${resourceName}.md`;
197
+ // Use adapter-resolved path so Codex cleans ~/.csp-ai-agent/codex/skills/<name>/
198
+ // instead of the Cursor-only ~/.csp-ai-agent/skills/<name>/.
199
+ const skillDir = unsubClientAdapter.getSkillDir(resourceName);
200
+ const manifestFile = `${unsubClientAdapter.getManifestDir()}/${resourceName}.md`;
144
201
  unsubscribeLocalActions.push({ action: 'delete_file', path: skillDir, recursive: true }, { action: 'delete_file', path: manifestFile, recursive: false });
145
202
  logger_1.logger.info({ resourceName, skillDir, manifestFile }, 'Local skill directory and manifest queued for deletion on unsubscribe');
146
203
  }
@@ -175,11 +232,15 @@ async function manageSubscription(params) {
175
232
  for (const pattern of patternsToTry) {
176
233
  const uninstallResult = await (0, uninstall_resource_1.uninstallResource)({
177
234
  resource_id_or_name: pattern,
235
+ resource_id: resourceId,
178
236
  remove_from_account: false, // already unsubscribed above
237
+ user_token: typedParams.user_token,
179
238
  ...(resolvedType ? { resource_type: resolvedType } : {}),
180
- // Forward agent_profile so uninstall emits the correct config action
181
- // (remove_mcp_json_entry for Cursor, remove_toml_entry for Codex).
182
- ...(typedParams.agent_profile ? { agent_profile: typedParams.agent_profile } : {}),
239
+ // Always forward the resolved agent_profile so uninstall_resource emits
240
+ // the correct config action:
241
+ // Cursor remove_mcp_json_entry targeting ~/.cursor/mcp.json
242
+ // Codex → remove_toml_entry targeting ~/.codex/config.toml
243
+ agent_profile: resolvedUnsubProfile,
183
244
  });
184
245
  if (uninstallResult.success && uninstallResult.data && uninstallResult.data.removed_resources.length > 0) {
185
246
  // Collect local_actions_required (e.g. remove_mcp_json_entry for mcp-type resources,
@@ -203,6 +264,7 @@ async function manageSubscription(params) {
203
264
  // The API may have a short propagation delay before list reflects the removal.
204
265
  const removedIds = new Set(typedParams.resource_ids);
205
266
  let verifiedRemoval = false;
267
+ let stillPresentIds = [];
206
268
  for (let attempt = 0; attempt < 3; attempt++) {
207
269
  if (attempt > 0) {
208
270
  await new Promise((resolve) => setTimeout(resolve, 300));
@@ -210,6 +272,7 @@ async function manageSubscription(params) {
210
272
  try {
211
273
  const verifySubs = await client_1.apiClient.getSubscriptions({}, typedParams.user_token);
212
274
  const stillPresent = verifySubs.subscriptions.filter((s) => removedIds.has(s.id));
275
+ stillPresentIds = stillPresent.map((s) => s.id);
213
276
  if (stillPresent.length === 0) {
214
277
  verifiedRemoval = true;
215
278
  break;
@@ -221,8 +284,18 @@ async function manageSubscription(params) {
221
284
  break;
222
285
  }
223
286
  }
287
+ const localSuppressionApplied = stillPresentIds.length > 0;
288
+ if (localSuppressionApplied) {
289
+ index_js_1.promptManager.suppressSubscriptions(typedParams.user_token ?? '', stillPresentIds);
290
+ verifiedRemoval = true;
291
+ logger_1.logger.info({ stillPresentIds }, 'manage_subscription unsubscribe: applied local suppression for server-visible default subscriptions');
292
+ }
224
293
  if (!verifiedRemoval) {
225
- logger_1.logger.warn({ resourceIds: typedParams.resource_ids }, 'manage_subscription unsubscribe: server list still shows resources after 3 verification attempts possible API propagation delay');
294
+ logger_1.logger.warn({ resourceIds: typedParams.resource_ids }, 'manage_subscription unsubscribe: server list still shows resources after 3 verification attempts and no local suppression was applied');
295
+ }
296
+ const unsubscribeLocalActionsSummary = buildLocalActionsSummary(unsubscribeLocalActions);
297
+ if (unsubscribeLocalActions.length > 0) {
298
+ index_js_1.promptManager.storeSyncActions(typedParams.user_token ?? '', unsubscribeLocalActions);
226
299
  }
227
300
  result = {
228
301
  action: 'unsubscribe',
@@ -232,14 +305,24 @@ async function manageSubscription(params) {
232
305
  removedCount > 0 ? `Removed local files for ${removedCount} resource${removedCount > 1 ? 's' : ''}.` : null,
233
306
  notFoundCount > 0 ? `${notFoundCount} resource${notFoundCount > 1 ? 's were' : ' was'} not installed locally.` : null,
234
307
  unsubscribeLocalActions.length > 0
235
- ? `IMPORTANT: You MUST execute ALL ${unsubscribeLocalActions.length} action(s) in local_actions_required immediately to delete local skill files and manifests. Do not skip any delete_file action.`
308
+ ? `IMPORTANT: You MUST execute ALL ${unsubscribeLocalActions.length} action(s) in local_actions_required immediately before verifying local filesystem or config state. Do not report C5/C9 cleanup complete until these actions have been applied.`
309
+ : null,
310
+ localSuppressionApplied
311
+ ? `NOTE: ${stillPresentIds.length} default/baseline subscription${stillPresentIds.length > 1 ? 's were' : ' was'} still returned by the server, so a local unsubscribe override was applied for this MCP session.`
236
312
  : null,
237
313
  !verifiedRemoval
238
- ? `WARNING: The server subscription list may still show these resources due to propagation delay. If manage_subscription(list) still returns them, wait 1-2 seconds and retry — the removal is confirmed server-side.`
314
+ ? `WARNING: The server subscription list may still show these resources due to propagation delay. If manage_subscription(list) still returns them, wait 1-2 seconds and retry.`
239
315
  : null,
240
316
  ].filter(Boolean).join(' '),
241
317
  sync_details: uninstallResults.map(r => ({ id: r.id, name: r.id, action: r.removed ? 'uninstalled' : 'not_found_locally' })),
242
318
  ...(unsubscribeLocalActions.length > 0 ? { local_actions_required: unsubscribeLocalActions } : {}),
319
+ ...(unsubscribeLocalActionsSummary
320
+ ? {
321
+ setup_required: true,
322
+ local_actions_block_completion: true,
323
+ local_actions_summary: unsubscribeLocalActionsSummary,
324
+ }
325
+ : {}),
243
326
  };
244
327
  logger_1.logger.info({ count: typedParams.resource_ids.length, removedCount, verifiedRemoval }, 'Resources unsubscribed and local files cleaned up');
245
328
  break;
@@ -248,18 +331,23 @@ async function manageSubscription(params) {
248
331
  logger_1.logger.debug({ scope: typedParams.scope || 'all' }, 'Listing subscriptions...');
249
332
  // Get subscriptions list
250
333
  const subs = await client_1.apiClient.getSubscriptions({}, typedParams.user_token);
334
+ const visibleSubscriptions = index_js_1.promptManager.filterSuppressedSubscriptions(typedParams.user_token ?? '', subs.subscriptions);
335
+ const hiddenCount = subs.subscriptions.length - visibleSubscriptions.length;
251
336
  result = {
252
337
  action: 'list',
253
338
  success: true,
254
- subscriptions: subs.subscriptions.map(sub => ({
339
+ subscriptions: visibleSubscriptions.map(sub => ({
255
340
  id: sub.id,
256
341
  name: sub.name,
257
342
  type: sub.type,
258
343
  subscribed_at: sub.subscribed_at,
259
344
  })),
260
- message: `Found ${subs.total} subscription${subs.total !== 1 ? 's' : ''}`,
345
+ message: [
346
+ `Found ${visibleSubscriptions.length} subscription${visibleSubscriptions.length !== 1 ? 's' : ''}`,
347
+ hiddenCount > 0 ? `(${hiddenCount} locally unsubscribed default subscription${hiddenCount > 1 ? 's are' : ' is'} hidden)` : null,
348
+ ].filter(Boolean).join(' '),
261
349
  };
262
- logger_1.logger.info({ total: subs.total }, 'Subscriptions listed successfully');
350
+ logger_1.logger.info({ total: visibleSubscriptions.length, hiddenCount }, 'Subscriptions listed successfully');
263
351
  break;
264
352
  }
265
353
  case 'batch_subscribe': {
@@ -269,18 +357,26 @@ async function manageSubscription(params) {
269
357
  }
270
358
  logger_1.logger.debug({ count: typedParams.resource_ids.length, autoSync: typedParams.auto_sync }, 'Batch subscribing to resources...');
271
359
  const batchSubResult = await client_1.apiClient.subscribe(typedParams.resource_ids, typedParams.auto_sync, undefined, typedParams.user_token);
360
+ index_js_1.promptManager.clearSuppressedSubscriptions(typedParams.user_token ?? '', typedParams.resource_ids);
272
361
  logger_1.logger.info({ count: batchSubResult.subscriptions.length }, 'Batch subscription completed');
273
362
  // Auto-sync newly subscribed resources immediately (default: true)
274
363
  const shouldBatchAutoSync = typedParams.auto_sync !== false;
275
364
  let batchSyncSummary;
276
365
  let batchSyncDetails;
277
366
  let batchPendingSetup;
278
- if (shouldBatchAutoSync && batchSubResult.subscriptions.length > 0) {
279
- logger_1.logger.info({ count: batchSubResult.subscriptions.length }, 'Auto-syncing batch subscribed resources...');
367
+ let batchLocalActions;
368
+ const batchResourceIdsForAutoSync = Array.from(new Set(typedParams.resource_ids));
369
+ if (shouldBatchAutoSync && batchResourceIdsForAutoSync.length > 0) {
370
+ logger_1.logger.info({
371
+ requestedCount: batchResourceIdsForAutoSync.length,
372
+ newlyCreatedSubscriptionCount: batchSubResult.subscriptions.length,
373
+ }, 'Auto-syncing requested batch subscribed resources...');
280
374
  const batchSyncResult = await (0, sync_resources_1.syncResources)({
281
375
  mode: 'incremental',
282
376
  scope: typedParams.scope || 'global',
283
377
  user_token: typedParams.user_token,
378
+ resource_ids: batchResourceIdsForAutoSync,
379
+ agent_profile: typedParams.agent_profile,
284
380
  });
285
381
  if (batchSyncResult.success && batchSyncResult.data) {
286
382
  const sd = batchSyncResult.data;
@@ -289,11 +385,15 @@ async function manageSubscription(params) {
289
385
  if (sd.pending_setup && sd.pending_setup.length > 0) {
290
386
  batchPendingSetup = sd.pending_setup;
291
387
  }
388
+ if (sd.local_actions_required && sd.local_actions_required.length > 0) {
389
+ batchLocalActions = sd.local_actions_required;
390
+ }
292
391
  }
293
392
  else {
294
393
  batchSyncSummary = 'Auto-sync failed — run sync_resources manually if needed';
295
394
  }
296
395
  }
396
+ const batchLocalActionsSummary = buildLocalActionsSummary(batchLocalActions);
297
397
  result = {
298
398
  action: 'batch_subscribe',
299
399
  success: true,
@@ -304,11 +404,22 @@ async function manageSubscription(params) {
304
404
  subscribed_at: sub.subscribed_at,
305
405
  })),
306
406
  message: [
307
- `Successfully batch subscribed to ${batchSubResult.subscriptions.length} resource${batchSubResult.subscriptions.length > 1 ? 's' : ''}.`,
407
+ `Successfully processed batch subscribe request for ${batchResourceIdsForAutoSync.length} resource id${batchResourceIdsForAutoSync.length > 1 ? 's' : ''}.`,
408
+ `Server created ${batchSubResult.subscriptions.length} new subscription${batchSubResult.subscriptions.length !== 1 ? 's' : ''}.`,
409
+ batchSubResult.subscriptions.length === 0 && shouldBatchAutoSync
410
+ ? 'Requested resource(s) may already be subscribed or provided by baseline defaults; scoped auto-sync was still executed.'
411
+ : null,
308
412
  batchSyncSummary,
413
+ batchLocalActions && batchLocalActions.length > 0
414
+ ? `IMPORTANT: ${batchLocalActions.length} local action(s) are still pending. Execute local_actions_required or fetch csp-ai-agent-setup before treating these resources as installed.`
415
+ : null,
309
416
  ].filter(Boolean).join(' '),
310
417
  ...(batchSyncDetails ? { sync_details: batchSyncDetails } : {}),
311
418
  ...(batchPendingSetup ? { pending_setup: batchPendingSetup } : {}),
419
+ ...(batchLocalActions ? { local_actions_required: batchLocalActions } : {}),
420
+ ...(batchLocalActionsSummary
421
+ ? { setup_required: true, local_actions_summary: batchLocalActionsSummary }
422
+ : {}),
312
423
  };
313
424
  break;
314
425
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manage-subscription.js","sourceRoot":"","sources":["../../src/tools/manage-subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manage-subscription.js","sourceRoot":"","sources":["../../src/tools/manage-subscription.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,13 @@
5
5
  * Returns aggregated usage data including user info and resource usage list.
6
6
  */
7
7
  import { ToolResult } from '../types/tools';
8
+ import type { AgentProfile } from '../client-adapters/index.js';
8
9
  export interface QueryUsageStatsParams {
9
10
  resource_type?: 'command' | 'skill' | 'rule' | 'mcp' | 'all';
10
11
  start_date?: string;
11
12
  end_date?: string;
12
13
  user_token?: string;
14
+ agent_profile?: 'cursor' | 'codex';
13
15
  }
14
16
  export interface UsageStatsResource {
15
17
  resource_id: string;
@@ -18,6 +20,7 @@ export interface UsageStatsResource {
18
20
  invocation_count: number;
19
21
  }
20
22
  export interface UsageStatsResult {
23
+ agent_profile: AgentProfile;
21
24
  user_id: number;
22
25
  user_name: string;
23
26
  user_email: string;
@@ -59,6 +62,11 @@ export declare const queryUsageStatsTool: {
59
62
  type: string;
60
63
  description: string;
61
64
  };
65
+ agent_profile: {
66
+ type: string;
67
+ enum: string[];
68
+ description: string;
69
+ };
62
70
  };
63
71
  required: never[];
64
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"query-usage-stats.d.ts","sourceRoot":"","sources":["../../src/tools/query-usage-stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CAuG5F;AAGD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgD/B,CAAC"}
1
+ {"version":3,"file":"query-usage-stats.d.ts","sourceRoot":"","sources":["../../src/tools/query-usage-stats.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,aAAa,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE,kBAAkB,EAAE,CAAC;CACtC;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC,CA2H5F;AAGD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD/B,CAAC"}
@@ -9,7 +9,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.queryUsageStatsTool = void 0;
10
10
  exports.queryUsageStats = queryUsageStats;
11
11
  const client_1 = require("../api/client");
12
+ const index_js_1 = require("../telemetry/index.js");
12
13
  const logger_1 = require("../utils/logger");
14
+ const index_js_2 = require("../config/index.js");
13
15
  /**
14
16
  * Query current user's resource usage statistics.
15
17
  *
@@ -22,10 +24,12 @@ const logger_1 = require("../utils/logger");
22
24
  async function queryUsageStats(params) {
23
25
  const p = params;
24
26
  const userToken = p.user_token ?? '';
27
+ const agentProfile = p.agent_profile ?? index_js_2.config.agentProfile ?? 'cursor';
25
28
  (0, logger_1.logToolStep)('query_usage_stats', 'Starting usage stats query', {
26
29
  resource_type: p.resource_type ?? 'all',
27
30
  start_date: p.start_date,
28
31
  end_date: p.end_date,
32
+ agent_profile: agentProfile,
29
33
  has_token: !!userToken,
30
34
  });
31
35
  // Validate user token
@@ -40,6 +44,17 @@ async function queryUsageStats(params) {
40
44
  };
41
45
  }
42
46
  try {
47
+ try {
48
+ index_js_1.telemetry.setUserToken(userToken);
49
+ await index_js_1.telemetry.flush();
50
+ (0, logger_1.logToolStep)('query_usage_stats', 'Flushed local telemetry before querying remote usage');
51
+ }
52
+ catch (flushError) {
53
+ logger_1.logger.warn({
54
+ tool: 'query_usage_stats',
55
+ error: flushError instanceof Error ? flushError.message : String(flushError),
56
+ }, 'Telemetry flush failed before usage query; continuing with remote read');
57
+ }
43
58
  // Build API request parameters
44
59
  const apiParams = {};
45
60
  if (p.resource_type && p.resource_type !== 'all') {
@@ -73,13 +88,17 @@ async function queryUsageStats(params) {
73
88
  };
74
89
  }
75
90
  (0, logger_1.logToolStep)('query_usage_stats', 'Successfully retrieved usage stats', {
91
+ agent_profile: agentProfile,
76
92
  user_id: response.data.user_id,
77
93
  total_invocations: response.data.total_invocations,
78
94
  resource_count: response.data.resource_usage.length,
79
95
  });
80
96
  return {
81
97
  success: true,
82
- data: response.data,
98
+ data: {
99
+ ...response.data,
100
+ agent_profile: agentProfile,
101
+ },
83
102
  };
84
103
  }
85
104
  catch (error) {
@@ -116,6 +135,7 @@ Supports optional filtering by:
116
135
  - resource_type: Filter by 'command', 'skill', 'rule', or 'mcp' (default: all types)
117
136
  - start_date: Filter events from this date onward (yyyy-MM-dd format)
118
137
  - end_date: Filter events up to this date (yyyy-MM-dd format)
138
+ - agent_profile: Echo the resolved caller profile ('cursor' or 'codex') for release-check verification
119
139
 
120
140
  User identity is automatically derived from the Authorization token.
121
141
 
@@ -146,6 +166,11 @@ Example usage:
146
166
  type: 'string',
147
167
  description: 'User authentication token (auto-injected by MCP server)',
148
168
  },
169
+ agent_profile: {
170
+ type: 'string',
171
+ enum: ['cursor', 'codex'],
172
+ description: 'AI client profile to echo in the response for release-check verification',
173
+ },
149
174
  },
150
175
  required: [],
151
176
  },
@@ -1 +1 @@
1
- {"version":3,"file":"query-usage-stats.js","sourceRoot":"","sources":["../../src/tools/query-usage-stats.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query-usage-stats.js","sourceRoot":"","sources":["../../src/tools/query-usage-stats.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-prompt-content.d.ts","sourceRoot":"","sources":["../../src/tools/resolve-prompt-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAEV,0BAA0B,EAC1B,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CAmGjD;AA8KD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCpC,CAAC"}
1
+ {"version":3,"file":"resolve-prompt-content.d.ts","sourceRoot":"","sources":["../../src/tools/resolve-prompt-content.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AASH,OAAO,KAAK,EAGV,0BAA0B,EAC1B,UAAU,EACX,MAAM,gBAAgB,CAAC;AAExB,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,UAAU,CAAC,0BAA0B,CAAC,CAAC,CA+HjD;AA8KD,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCpC,CAAC"}
@@ -133,6 +133,24 @@ async function resolvePromptContent(params) {
133
133
  logger_1.logger.warn({ resourceId: resolved.meta.resource_id, error: err.message }, 'resolve_prompt_content: telemetry recordInvocation failed (non-critical)');
134
134
  });
135
135
  }
136
+ // Codex may resolve the real prompt body without ever fetching the synthetic
137
+ // csp-ai-agent-setup prompt. To keep the legacy Cursor setup flow intact
138
+ // while unblocking Codex, also surface any resource-specific pending local
139
+ // actions here. Do NOT consume them: resolve_prompt_content has no
140
+ // acknowledgement proving the agent actually executed write_file actions.
141
+ // Keeping the cache pending lets search_resources continue to report
142
+ // is_installed=false until the setup prompt consumes the actions.
143
+ const resourceLocalActions = userToken
144
+ ? index_js_1.promptManager.peekSyncActionsForResource(userToken, resolved.meta.resource_name)
145
+ : undefined;
146
+ const localActionsSummary = resourceLocalActions && resourceLocalActions.length > 0
147
+ ? {
148
+ action_count: resourceLocalActions.length,
149
+ action_types: Array.from(new Set(resourceLocalActions.map((action) => action.action))),
150
+ message: 'Execute every local_actions_required item before treating this resource as installed. ' +
151
+ 'These actions are intentionally repeated until the setup prompt consumes them.',
152
+ }
153
+ : undefined;
136
154
  return {
137
155
  success: true,
138
156
  data: {
@@ -141,6 +159,13 @@ async function resolvePromptContent(params) {
141
159
  resource_type: resolved.meta.resource_type,
142
160
  resource_name: resolved.meta.resource_name,
143
161
  description: resolved.description,
162
+ ...(resourceLocalActions && resourceLocalActions.length > 0
163
+ ? {
164
+ setup_required: true,
165
+ local_actions_summary: localActionsSummary,
166
+ local_actions_required: resourceLocalActions,
167
+ }
168
+ : {}),
144
169
  content: resolved.content,
145
170
  content_source: resolved.contentSource,
146
171
  usage_tracked: usageRecorded,