@fuul/mcp-server 1.1.2 → 1.3.0

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.
@@ -26,6 +26,7 @@ export const APPROVE_PAYOUTS_DESCRIPTION = 'Approves payouts: PATCH /api/v1/proj
26
26
  export const REJECT_PAYOUTS_DESCRIPTION = 'Rejects payouts: PATCH /api/v1/projects/:projectId/payouts/reject. Same body rules as approve_payouts.';
27
27
  const RATE_LIMIT_HINT = ' If the API returns HTTP 429, wait Retry-After seconds (if present) before retrying.';
28
28
  export const GET_AFFILIATE_PORTAL_STATS_DESCRIPTION = 'Project affiliate stats for one user identifier: GET /api/v1/projects/:projectId/affiliate-portal/stats. ' +
29
+ 'Response includes active referred-user counts by multilevel depth (`active_referred_users_r2`–`r4`) scoped like volumes. ' +
29
30
  'Requires dashboard JWT (same as other project tools). Query params match the dashboard affiliate management UI. ' +
30
31
  'Example: {"project_id":"<uuid>","user_identifier":"evm:0x..."}.' +
31
32
  RATE_LIMIT_HINT;
@@ -37,4 +38,33 @@ export const GET_PROJECT_AFFILIATES_BREAKDOWN_DESCRIPTION = 'Affiliate breakdown
37
38
  'groupBy is required (audience | tier | region | status). Optional sortBy, sortOrder, date filters, and dimension filters. ' +
38
39
  'Example: {"project_id":"<uuid>","groupBy":"region","dateRange":"30d"}.' +
39
40
  RATE_LIMIT_HINT;
41
+ const PROJECT_API_KEY_HINT = ' Auth: **project API key** only (pass `project_api_key` or set env `FUUL_MCP_PROJECT_API_KEY`). Dashboard OAuth from `fuul-mcp login` is not accepted on these routes.';
42
+ export const GET_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION = 'Loads one **managed** project affiliate (full detail: tiers, protections, audiences, tax): GET /api/v1/project-affiliates/:projectAffiliateId.' +
43
+ PROJECT_API_KEY_HINT +
44
+ ' Example: {"project_affiliate_id":"<uuid>"} with key via env or `project_api_key` field.';
45
+ export const CREATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION = 'Creates a managed project affiliate: POST /api/v1/project-affiliates. Body matches server public DTO (user_identifier, user_identifier_type, optional alias, region, status, note, audiences, tier_protection, approve_project_tier_ids + reviewed_by_user_id when approving tiers).' +
46
+ PROJECT_API_KEY_HINT +
47
+ ' Use dry_run: true then confirmed: true like other write tools. Example dry_run: {"user_identifier":"0x...","user_identifier_type":"evm_address","dry_run":true}.';
48
+ export const UPDATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION = 'Updates a managed project affiliate: PATCH /api/v1/project-affiliates/:projectAffiliateId. Partial body (alias, region, status, note, audiences, tier_protection including null to clear, approve_project_tier_ids with reviewed_by_user_id).' +
49
+ PROJECT_API_KEY_HINT +
50
+ ' dry_run then confirmed. Example dry_run: {"project_affiliate_id":"<uuid>","alias":"New name","dry_run":true}.';
51
+ const EVENTS_SEND_RATE_LIMIT = ' Rate limit: 100 requests/minute.';
52
+ const EVENTS_BATCH_RATE_LIMIT = ' Rate limit: 10 requests/minute.';
53
+ export const SEND_EVENT_DESCRIPTION = 'Send one conversion event: POST /api/v1/events. Triggers real-time reward attribution. Required: name (trigger name), user_identifier, user_identifier_type, dedup_id. Optional: args, timestamp (ms). ' +
54
+ 'Duplicate dedup_id returns HTTP 409. Use check_event_status before resending. dry_run then confirmed.' +
55
+ PROJECT_API_KEY_HINT +
56
+ EVENTS_SEND_RATE_LIMIT +
57
+ RATE_LIMIT_HINT +
58
+ ' Example dry_run: {"name":"trade","user_identifier":"0x...","user_identifier_type":"evm_address","dedup_id":"uuid-here","dry_run":true}.';
59
+ export const SEND_BATCH_EVENTS_DESCRIPTION = 'Send up to 100 conversion events: POST /api/v1/events/batch. For backfills and bulk ingestion; processing is atomic (all succeed or all fail). Duplicate dedup_id values are silently ignored; response includes ingested_events count.' +
60
+ PROJECT_API_KEY_HINT +
61
+ ' dry_run then confirmed.' +
62
+ EVENTS_BATCH_RATE_LIMIT +
63
+ RATE_LIMIT_HINT +
64
+ ' Example dry_run: {"events":[{"name":"trade","user_identifier":"0x...","user_identifier_type":"evm_address","dedup_id":"id-1"}],"dry_run":true}.';
65
+ export const CHECK_EVENT_STATUS_DESCRIPTION = 'Check if an event exists for a user: GET /api/v1/events/status. Query: user_identifier, user_identifier_type, event_name (case-sensitive). Returns {"created":true} or {"created":false}.' +
66
+ PROJECT_API_KEY_HINT +
67
+ EVENTS_SEND_RATE_LIMIT +
68
+ RATE_LIMIT_HINT +
69
+ ' Example: {"user_identifier":"0x...","user_identifier_type":"evm_address","event_name":"trade"}.';
40
70
  //# sourceMappingURL=tool-descriptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../../src/tools/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gHAAgH,CAAC;AAEjJ,MAAM,CAAC,MAAM,kBAAkB,GAC7B,iLAAiL,CAAC;AAEpL,MAAM,CAAC,MAAM,uBAAuB,GAClC,kdAAkd,CAAC;AAGrd,MAAM,CAAC,MAAM,8BAA8B,GACzC,8JAA8J,CAAC;AAEjK,MAAM,CAAC,MAAM,+BAA+B,GAAG,oGAAoG,CAAC;AAEpJ,MAAM,CAAC,MAAM,yBAAyB,GACpC,0JAA0J,CAAC;AAE7J,MAAM,CAAC,MAAM,uBAAuB,GAClC,qHAAqH,CAAC;AAExH,MAAM,CAAC,MAAM,2BAA2B,GACtC,mIAAmI,CAAC;AAEtI,MAAM,CAAC,MAAM,yBAAyB,GACpC,0IAA0I,CAAC;AAE7I,MAAM,CAAC,MAAM,uBAAuB,GAClC,gLAAgL,CAAC;AAEnL,MAAM,CAAC,MAAM,8BAA8B,GACzC,yIAAyI;IACzI,kIAAkI;IAClI,iIAAiI,CAAC;AAEpI,MAAM,CAAC,MAAM,+BAA+B,GAC1C,mKAAmK;IACnK,mIAAmI,CAAC;AAEtI,MAAM,CAAC,MAAM,2BAA2B,GACtC,sRAAsR;IACtR,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,0BAA0B,GACrC,2NAA2N;IAC3N,qGAAqG,CAAC;AAExG,MAAM,CAAC,MAAM,yCAAyC,GACpD,+KAA+K,CAAC;AAElL,MAAM,CAAC,MAAM,gCAAgC,GAC3C,0LAA0L,CAAC;AAE7L,MAAM,CAAC,MAAM,2BAA2B,GACtC,uPAAuP,CAAC;AAE1P,MAAM,CAAC,MAAM,0BAA0B,GAAG,wGAAwG,CAAC;AAEnJ,MAAM,eAAe,GAAG,sFAAsF,CAAC;AAE/G,MAAM,CAAC,MAAM,sCAAsC,GACjD,2GAA2G;IAC3G,kHAAkH;IAClH,iEAAiE;IACjE,eAAe,CAAC;AAElB,MAAM,CAAC,MAAM,6CAA6C,GACxD,0GAA0G;IAC1G,yHAAyH;IACzH,gFAAgF;IAChF,eAAe,CAAC;AAElB,MAAM,CAAC,MAAM,4CAA4C,GACvD,+IAA+I;IAC/I,4HAA4H;IAC5H,wEAAwE;IACxE,eAAe,CAAC"}
1
+ {"version":3,"file":"tool-descriptions.js","sourceRoot":"","sources":["../../src/tools/tool-descriptions.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,gHAAgH,CAAC;AAEjJ,MAAM,CAAC,MAAM,kBAAkB,GAC7B,iLAAiL,CAAC;AAEpL,MAAM,CAAC,MAAM,uBAAuB,GAClC,kdAAkd,CAAC;AAErd,MAAM,CAAC,MAAM,8BAA8B,GACzC,8JAA8J,CAAC;AAEjK,MAAM,CAAC,MAAM,+BAA+B,GAAG,oGAAoG,CAAC;AAEpJ,MAAM,CAAC,MAAM,yBAAyB,GACpC,0JAA0J,CAAC;AAE7J,MAAM,CAAC,MAAM,uBAAuB,GAClC,qHAAqH,CAAC;AAExH,MAAM,CAAC,MAAM,2BAA2B,GACtC,mIAAmI,CAAC;AAEtI,MAAM,CAAC,MAAM,yBAAyB,GACpC,0IAA0I,CAAC;AAE7I,MAAM,CAAC,MAAM,uBAAuB,GAClC,gLAAgL,CAAC;AAEnL,MAAM,CAAC,MAAM,8BAA8B,GACzC,yIAAyI;IACzI,kIAAkI;IAClI,iIAAiI,CAAC;AAEpI,MAAM,CAAC,MAAM,+BAA+B,GAC1C,mKAAmK;IACnK,mIAAmI,CAAC;AAEtI,MAAM,CAAC,MAAM,2BAA2B,GACtC,sRAAsR;IACtR,sHAAsH,CAAC;AAEzH,MAAM,CAAC,MAAM,0BAA0B,GACrC,2NAA2N;IAC3N,qGAAqG,CAAC;AAExG,MAAM,CAAC,MAAM,yCAAyC,GACpD,+KAA+K,CAAC;AAElL,MAAM,CAAC,MAAM,gCAAgC,GAC3C,0LAA0L,CAAC;AAE7L,MAAM,CAAC,MAAM,2BAA2B,GACtC,uPAAuP,CAAC;AAE1P,MAAM,CAAC,MAAM,0BAA0B,GAAG,wGAAwG,CAAC;AAEnJ,MAAM,eAAe,GAAG,sFAAsF,CAAC;AAE/G,MAAM,CAAC,MAAM,sCAAsC,GACjD,2GAA2G;IAC3G,2HAA2H;IAC3H,kHAAkH;IAClH,iEAAiE;IACjE,eAAe,CAAC;AAElB,MAAM,CAAC,MAAM,6CAA6C,GACxD,0GAA0G;IAC1G,yHAAyH;IACzH,gFAAgF;IAChF,eAAe,CAAC;AAElB,MAAM,CAAC,MAAM,4CAA4C,GACvD,+IAA+I;IAC/I,4HAA4H;IAC5H,wEAAwE;IACxE,eAAe,CAAC;AAElB,MAAM,oBAAoB,GACxB,wKAAwK,CAAC;AAE3K,MAAM,CAAC,MAAM,wCAAwC,GACnD,gJAAgJ;IAChJ,oBAAoB;IACpB,0FAA0F,CAAC;AAE7F,MAAM,CAAC,MAAM,2CAA2C,GACtD,sRAAsR;IACtR,oBAAoB;IACpB,mKAAmK,CAAC;AAEtK,MAAM,CAAC,MAAM,2CAA2C,GACtD,+OAA+O;IAC/O,oBAAoB;IACpB,gHAAgH,CAAC;AAEnH,MAAM,sBAAsB,GAAG,mCAAmC,CAAC;AACnE,MAAM,uBAAuB,GAAG,kCAAkC,CAAC;AAEnE,MAAM,CAAC,MAAM,sBAAsB,GACjC,yMAAyM;IACzM,uGAAuG;IACvG,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,0IAA0I,CAAC;AAE7I,MAAM,CAAC,MAAM,6BAA6B,GACxC,yOAAyO;IACzO,oBAAoB;IACpB,0BAA0B;IAC1B,uBAAuB;IACvB,eAAe;IACf,kJAAkJ,CAAC;AAErJ,MAAM,CAAC,MAAM,8BAA8B,GACzC,2LAA2L;IAC3L,oBAAoB;IACpB,sBAAsB;IACtB,eAAe;IACf,kGAAkG,CAAC"}