@fuul/mcp-server 1.7.0 → 1.9.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.
Files changed (31) hide show
  1. package/dist/incentives/incentive-create-payload-guide.d.ts +47 -0
  2. package/dist/incentives/incentive-create-payload-guide.d.ts.map +1 -0
  3. package/dist/incentives/incentive-create-payload-guide.js +157 -0
  4. package/dist/incentives/incentive-create-payload-guide.js.map +1 -0
  5. package/dist/incentives/incentive-write-handlers.d.ts +5 -0
  6. package/dist/incentives/incentive-write-handlers.d.ts.map +1 -0
  7. package/dist/incentives/incentive-write-handlers.js +34 -0
  8. package/dist/incentives/incentive-write-handlers.js.map +1 -0
  9. package/dist/index.js +62 -5
  10. package/dist/index.js.map +1 -1
  11. package/dist/referral-attribution/referral-attribution-handlers.d.ts +6 -1
  12. package/dist/referral-attribution/referral-attribution-handlers.d.ts.map +1 -1
  13. package/dist/referral-attribution/referral-attribution-handlers.js +23 -0
  14. package/dist/referral-attribution/referral-attribution-handlers.js.map +1 -1
  15. package/dist/tools/tool-descriptions.d.ts +8 -2
  16. package/dist/tools/tool-descriptions.d.ts.map +1 -1
  17. package/dist/tools/tool-descriptions.js +49 -4
  18. package/dist/tools/tool-descriptions.js.map +1 -1
  19. package/dist/tools/tool-schemas.d.ts +206 -0
  20. package/dist/tools/tool-schemas.d.ts.map +1 -1
  21. package/dist/tools/tool-schemas.js +51 -0
  22. package/dist/tools/tool-schemas.js.map +1 -1
  23. package/dist/triggers/trigger-create-payload-guide.d.ts +33 -0
  24. package/dist/triggers/trigger-create-payload-guide.d.ts.map +1 -0
  25. package/dist/triggers/trigger-create-payload-guide.js +171 -0
  26. package/dist/triggers/trigger-create-payload-guide.js.map +1 -0
  27. package/dist/triggers/trigger-write-handlers.d.ts +5 -0
  28. package/dist/triggers/trigger-write-handlers.d.ts.map +1 -0
  29. package/dist/triggers/trigger-write-handlers.js +38 -0
  30. package/dist/triggers/trigger-write-handlers.js.map +1 -0
  31. package/package.json +1 -1
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Maps webapp reward types to POST /incentives body (CreateIncentiveDto + payout_terms[]).
3
+ * Aligned with fuul-webapp conversions/infra/encode.ts (mapToIncentiveTypeMapper).
4
+ */
5
+ export type IncentiveRewardTypeId = 'fixed-reward' | 'variable-reward' | 'proportional-pool' | 'leaderboard';
6
+ export declare const CREATE_INCENTIVE_GLOBAL_GUIDE: {
7
+ readonly endpoint: "POST /api/v1/projects/:projectId/incentives";
8
+ readonly body_shape: {
9
+ readonly name: "string (incentive / conversion name)";
10
+ readonly trigger_ids: "uuid[] (draft_trigger_id from create_trigger or get_project; min 1)";
11
+ readonly payout_terms: "array of PayoutTermDto objects (min 1); one term per reward configuration";
12
+ };
13
+ readonly reward_types: {
14
+ readonly 'fixed-reward': {
15
+ readonly webapp_mapper: "mapToFixedIncentiveDTO";
16
+ readonly scheme: "pay-per-attribution";
17
+ readonly calculation_strategy: "fixed";
18
+ readonly notes: string;
19
+ };
20
+ readonly 'variable-reward': {
21
+ readonly webapp_mapper: "mapToVariableIncentiveDTO";
22
+ readonly scheme: "pay-per-attribution";
23
+ readonly calculation_strategy: "variable";
24
+ readonly notes: string;
25
+ };
26
+ readonly 'proportional-pool': {
27
+ readonly webapp_mapper: "mapToPoolIncentiveDTO";
28
+ readonly scheme: "pool";
29
+ readonly notes: string;
30
+ };
31
+ readonly leaderboard: {
32
+ readonly webapp_mapper: "mapToLeaderboardIncentiveDTO";
33
+ readonly scheme: "rank";
34
+ readonly notes: string;
35
+ };
36
+ };
37
+ readonly workflow: readonly ["Call list_payout_schemas (enriched with reward_types and create_payload_example).", "Create or pick draft triggers (create_trigger); collect draft_trigger_id values.", "Build payout_terms[] for the chosen reward type; create_incentive with dry_run then confirmed."];
38
+ readonly mcp_normalization: "create_incentive runs normalizePayoutTermBodyForPatch on each payout term (variable: maps referral_amount aliases to *_percentage).";
39
+ readonly reference: "fuul-webapp src/modules/conversions/infra/encode.ts";
40
+ };
41
+ /** Minimal create_incentive examples; replace TRIGGER_UUID. */
42
+ export declare const CREATE_INCENTIVE_EXAMPLES: Record<IncentiveRewardTypeId, {
43
+ description: string;
44
+ payload: Record<string, unknown>;
45
+ }>;
46
+ export declare function enrichPayoutSchemasResponse(raw: unknown): unknown;
47
+ //# sourceMappingURL=incentive-create-payload-guide.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incentive-create-payload-guide.d.ts","sourceRoot":"","sources":["../../src/incentives/incentive-create-payload-guide.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,qBAAqB,GAAG,cAAc,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,aAAa,CAAC;AAE7G,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+ChC,CAAC;AAEX,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,qBAAqB,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CA0F9H,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAkBjE"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * Maps webapp reward types to POST /incentives body (CreateIncentiveDto + payout_terms[]).
3
+ * Aligned with fuul-webapp conversions/infra/encode.ts (mapToIncentiveTypeMapper).
4
+ */
5
+ export const CREATE_INCENTIVE_GLOBAL_GUIDE = {
6
+ endpoint: 'POST /api/v1/projects/:projectId/incentives',
7
+ body_shape: {
8
+ name: 'string (incentive / conversion name)',
9
+ trigger_ids: 'uuid[] (draft_trigger_id from create_trigger or get_project; min 1)',
10
+ payout_terms: 'array of PayoutTermDto objects (min 1); one term per reward configuration',
11
+ },
12
+ reward_types: {
13
+ 'fixed-reward': {
14
+ webapp_mapper: 'mapToFixedIncentiveDTO',
15
+ scheme: 'pay-per-attribution',
16
+ calculation_strategy: 'fixed',
17
+ notes: 'Use referral_amount / referrer_amount (wei strings for onchain-currency, plain strings for point). ' +
18
+ 'type "point" uses payout_currency_address 0x0..0 and chain_id 0.',
19
+ },
20
+ 'variable-reward': {
21
+ webapp_mapper: 'mapToVariableIncentiveDTO',
22
+ scheme: 'pay-per-attribution',
23
+ calculation_strategy: 'variable',
24
+ notes: 'Use referrer_amount_percentage / referral_amount_percentage (0–1 for % of revenue, or unit amounts when base_currency is not "none"). ' +
25
+ 'Requires trigger_amount_source (e.g. "volume"). base_currency "none" = % of revenue mode.',
26
+ },
27
+ 'proportional-pool': {
28
+ webapp_mapper: 'mapToPoolIncentiveDTO',
29
+ scheme: 'pool',
30
+ notes: 'Requires amount_source, pool_amount, pool_duration (hours), pool_calculation_day_cron (e.g. "*" for daily). ' +
31
+ 'Optional pool_start_date, pool_end_date, pool_distribution_mode ("linear" | "square_root").',
32
+ },
33
+ leaderboard: {
34
+ webapp_mapper: 'mapToLeaderboardIncentiveDTO',
35
+ scheme: 'rank',
36
+ notes: 'Requires rank_scheme_config.ranks (position -> { prizeAmount }), amount_source, pool_amount (total), ' +
37
+ 'pool_duration, pool_calculation_day_cron, pool_start_date, pool_end_date.',
38
+ },
39
+ },
40
+ workflow: [
41
+ 'Call list_payout_schemas (enriched with reward_types and create_payload_example).',
42
+ 'Create or pick draft triggers (create_trigger); collect draft_trigger_id values.',
43
+ 'Build payout_terms[] for the chosen reward type; create_incentive with dry_run then confirmed.',
44
+ ],
45
+ mcp_normalization: 'create_incentive runs normalizePayoutTermBodyForPatch on each payout term (variable: maps referral_amount aliases to *_percentage).',
46
+ reference: 'fuul-webapp src/modules/conversions/infra/encode.ts',
47
+ };
48
+ /** Minimal create_incentive examples; replace TRIGGER_UUID. */
49
+ export const CREATE_INCENTIVE_EXAMPLES = {
50
+ 'fixed-reward': {
51
+ description: 'Fixed points to affiliate per attribution',
52
+ payload: {
53
+ name: 'MCP fixed points incentive',
54
+ trigger_ids: ['<TRIGGER_UUID>'],
55
+ payout_terms: [
56
+ {
57
+ scheme: 'pay-per-attribution',
58
+ type: 'point',
59
+ calculation_strategy: 'fixed',
60
+ payee_type: 'affiliate',
61
+ require_affiliate: true,
62
+ require_approval: false,
63
+ referral_amount: '0',
64
+ referrer_amount: '10',
65
+ },
66
+ ],
67
+ },
68
+ },
69
+ 'variable-reward': {
70
+ description: 'Variable % of volume to affiliate',
71
+ payload: {
72
+ name: 'MCP variable incentive',
73
+ trigger_ids: ['<TRIGGER_UUID>'],
74
+ payout_terms: [
75
+ {
76
+ scheme: 'pay-per-attribution',
77
+ type: 'point',
78
+ calculation_strategy: 'variable',
79
+ payee_type: 'affiliate',
80
+ require_affiliate: true,
81
+ require_approval: false,
82
+ trigger_amount_source: 'volume',
83
+ base_currency: 'none',
84
+ referrer_amount_percentage: 0.1,
85
+ referral_amount_percentage: 0,
86
+ },
87
+ ],
88
+ },
89
+ },
90
+ 'proportional-pool': {
91
+ description: 'Proportional pool distributed by volume',
92
+ payload: {
93
+ name: 'MCP pool incentive',
94
+ trigger_ids: ['<TRIGGER_UUID>'],
95
+ payout_terms: [
96
+ {
97
+ scheme: 'pool',
98
+ type: 'point',
99
+ payee_type: 'affiliate',
100
+ require_affiliate: true,
101
+ require_approval: false,
102
+ amount_source: 'volume',
103
+ pool_amount: '1000',
104
+ pool_duration: 168,
105
+ pool_calculation_day_cron: '*',
106
+ pool_distribution_mode: 'linear',
107
+ },
108
+ ],
109
+ },
110
+ },
111
+ leaderboard: {
112
+ description: 'Rank leaderboard with prizes for top positions',
113
+ payload: {
114
+ name: 'MCP leaderboard incentive',
115
+ trigger_ids: ['<TRIGGER_UUID>'],
116
+ payout_terms: [
117
+ {
118
+ scheme: 'rank',
119
+ type: 'point',
120
+ payee_type: 'affiliate',
121
+ require_affiliate: true,
122
+ require_approval: false,
123
+ amount_source: 'volume',
124
+ pool_amount: '100',
125
+ rank_scheme_config: {
126
+ ranks: {
127
+ '1': { prizeAmount: '60' },
128
+ '2': { prizeAmount: '40' },
129
+ },
130
+ },
131
+ pool_duration: 168,
132
+ pool_calculation_day_cron: '1',
133
+ pool_start_date: '2026-05-29T00:00:00.000Z',
134
+ pool_end_date: '2026-06-05T00:00:00.000Z',
135
+ },
136
+ ],
137
+ },
138
+ },
139
+ };
140
+ export function enrichPayoutSchemasResponse(raw) {
141
+ if (!raw || typeof raw !== 'object') {
142
+ return raw;
143
+ }
144
+ const payload = raw;
145
+ const reward_types = Object.keys(CREATE_INCENTIVE_EXAMPLES).map((id) => ({
146
+ id,
147
+ ...CREATE_INCENTIVE_GLOBAL_GUIDE.reward_types[id === 'leaderboard' ? 'leaderboard' : id],
148
+ create_payload_example: CREATE_INCENTIVE_EXAMPLES[id].payload,
149
+ example_description: CREATE_INCENTIVE_EXAMPLES[id].description,
150
+ }));
151
+ return {
152
+ ...payload,
153
+ create_incentive_payload_guide: CREATE_INCENTIVE_GLOBAL_GUIDE,
154
+ reward_types,
155
+ };
156
+ }
157
+ //# sourceMappingURL=incentive-create-payload-guide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incentive-create-payload-guide.js","sourceRoot":"","sources":["../../src/incentives/incentive-create-payload-guide.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { FuulApiClient } from '../http/fuul-api-client.js';
2
+ import type { CreateIncentiveInput, DeleteIncentiveInput } from '../tools/tool-schemas.js';
3
+ export declare function runCreateIncentive(api: FuulApiClient, input: CreateIncentiveInput): Promise<unknown>;
4
+ export declare function runDeleteIncentive(api: FuulApiClient, input: DeleteIncentiveInput): Promise<unknown>;
5
+ //# sourceMappingURL=incentive-write-handlers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incentive-write-handlers.d.ts","sourceRoot":"","sources":["../../src/incentives/incentive-write-handlers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAU3F,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAc1G;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAY1G"}
@@ -0,0 +1,34 @@
1
+ import { assertWriteConfirmedOrDryRun } from '../agent/write-confirmation.js';
2
+ import { normalizePayoutTermBodyForPatch } from '../payouts/normalize-payout-term-body.js';
3
+ function buildCreateIncentiveBody(input) {
4
+ return {
5
+ name: input.name,
6
+ trigger_ids: input.trigger_ids,
7
+ payout_terms: input.payout_terms.map((term) => normalizePayoutTermBodyForPatch(term)),
8
+ };
9
+ }
10
+ export async function runCreateIncentive(api, input) {
11
+ assertWriteConfirmedOrDryRun(input);
12
+ const path = `/api/v1/projects/${input.project_id}/incentives`;
13
+ const body = buildCreateIncentiveBody(input);
14
+ if (input.dry_run === true) {
15
+ return {
16
+ dry_run: true,
17
+ would_post: path,
18
+ body,
19
+ };
20
+ }
21
+ return api.postJson(path, body);
22
+ }
23
+ export async function runDeleteIncentive(api, input) {
24
+ assertWriteConfirmedOrDryRun(input);
25
+ const path = `/api/v1/projects/${input.project_id}/incentives/${input.conversion_id}`;
26
+ if (input.dry_run === true) {
27
+ return {
28
+ dry_run: true,
29
+ would_delete: path,
30
+ };
31
+ }
32
+ return api.deleteJson(path);
33
+ }
34
+ //# sourceMappingURL=incentive-write-handlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"incentive-write-handlers.js","sourceRoot":"","sources":["../../src/incentives/incentive-write-handlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AAE9E,OAAO,EAAE,+BAA+B,EAAE,MAAM,0CAA0C,CAAC;AAG3F,SAAS,wBAAwB,CAAC,KAA2B;IAC3D,OAAO;QACL,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,+BAA+B,CAAC,IAA+B,CAAC,CAAC;KACjH,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAkB,EAAE,KAA2B;IACtF,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,oBAAoB,KAAK,CAAC,UAAU,aAAa,CAAC;IAC/D,MAAM,IAAI,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,IAAI;SACL,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,GAAkB,EAAE,KAA2B;IACtF,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,oBAAoB,KAAK,CAAC,UAAU,eAAe,KAAK,CAAC,aAAa,EAAE,CAAC;IAEtF,IAAI,KAAK,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC"}
package/dist/index.js CHANGED
@@ -9,13 +9,17 @@ import { loadEnv } from './config/env.js';
9
9
  import { runCheckEventStatus, runSendBatchEvents, runSendEvent } from './events/events-handlers.js';
10
10
  import { ApiRequestError, FuulApiClient, NotLoggedInError } from './http/fuul-api-client.js';
11
11
  import { MissingProjectApiKeyError, resolveProjectApiKeyBearer } from './http/project-api-key-bearer.js';
12
+ import { enrichPayoutSchemasResponse } from './incentives/incentive-create-payload-guide.js';
13
+ import { runCreateIncentive, runDeleteIncentive } from './incentives/incentive-write-handlers.js';
12
14
  import { MetadataService } from './metadata/metadata-service.js';
13
15
  import { loadIncentivesListWithMetadataScope, loadIncentiveWithMetadataScope, loadProjectWithMetadataScope, } from './metadata-scope/fetch-project-config.js';
14
16
  import { normalizePayoutTermBodyForPatch } from './payouts/normalize-payout-term-body.js';
15
17
  import { runPayoutBatchAction } from './payouts/payout-batch-handlers.js';
16
- import { runGetUserReferrer, runRemoveUserFromReferralCode, runSwapUserReferralCode, runUpdateUserReferrer, runUseReferralCode, } from './referral-attribution/referral-attribution-handlers.js';
17
- import { APPROVE_PAYOUTS_DESCRIPTION, CHECK_EVENT_STATUS_DESCRIPTION, CREATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, GET_AFFILIATE_PORTAL_STATS_DESCRIPTION, GET_INCENTIVE_DESCRIPTION, GET_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, GET_PROJECT_AFFILIATE_TOTAL_STATS_DESCRIPTION, GET_PROJECT_AFFILIATES_BREAKDOWN_DESCRIPTION, GET_PROJECT_DESCRIPTION, GET_TRIGGER_DESCRIPTION, GET_USER_REFERRER_DESCRIPTION, LIST_CHAINS_DESCRIPTION, LIST_INCENTIVES_DESCRIPTION, LIST_PAYOUT_SCHEMAS_DESCRIPTION, LIST_PAYOUTS_PENDING_APPROVAL_DESCRIPTION, LIST_PROJECTS_DESCRIPTION, LIST_REWARDS_PAYOUTS_DESCRIPTION, LIST_TRIGGER_TYPES_DESCRIPTION, PING_DESCRIPTION, REJECT_PAYOUTS_DESCRIPTION, REMOVE_USER_FROM_REFERRAL_CODE_DESCRIPTION, SEND_BATCH_EVENTS_DESCRIPTION, SEND_EVENT_DESCRIPTION, SWAP_USER_REFERRAL_CODE_DESCRIPTION, UPDATE_AUDIENCE_DESCRIPTION, UPDATE_PAYOUT_TERM_DESCRIPTION, UPDATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, UPDATE_PROJECT_TIER_DESCRIPTION, UPDATE_TRIGGER_DESCRIPTION, UPDATE_USER_REFERRER_DESCRIPTION, USE_REFERRAL_CODE_DESCRIPTION, WHOAMI_DESCRIPTION, } from './tools/tool-descriptions.js';
18
- import { checkEventStatusFieldsSchema, checkEventStatusInputSchema, createProjectAffiliatePublicFieldsSchema, createProjectAffiliatePublicInputSchema, getAffiliatePortalStatsSchema, getIncentiveInputSchema, getProjectAffiliatePublicInputSchema, getProjectAffiliatesBreakdownSchema, getProjectAffiliateTotalStatsSchema, getTriggerInputSchema, getUserReferrerFieldsSchema, getUserReferrerInputSchema, listPayoutsPendingApprovalSchema, listProjectsInputSchema, listRewardsPayoutsSchema, payoutBatchActionInputSchema, projectIdParamSchema, removeUserFromReferralCodeFieldsSchema, removeUserFromReferralCodeInputSchema, sendBatchEventsFieldsSchema, sendBatchEventsInputSchema, sendEventFieldsSchema, sendEventInputSchema, swapUserReferralCodeFieldsSchema, swapUserReferralCodeInputSchema, updateAudienceFieldsSchema, updateAudienceInputSchema, updatePayoutTermInputSchema, updateProjectAffiliatePublicFieldsSchema, updateProjectAffiliatePublicInputSchema, updateProjectTierFieldsSchema, updateProjectTierInputSchema, updateTriggerFieldsSchema, updateTriggerInputSchema, updateUserReferrerFieldsSchema, updateUserReferrerInputSchema, useReferralCodeFieldsSchema, useReferralCodeInputSchema, } from './tools/tool-schemas.js';
18
+ import { runDeleteUserReferrer, runGetUserReferrer, runRemoveUserFromReferralCode, runSwapUserReferralCode, runUpdateUserReferrer, runUseReferralCode, } from './referral-attribution/referral-attribution-handlers.js';
19
+ import { APPROVE_PAYOUTS_DESCRIPTION, CHECK_EVENT_STATUS_DESCRIPTION, CREATE_INCENTIVE_DESCRIPTION, CREATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, CREATE_TRIGGER_DESCRIPTION, DELETE_INCENTIVE_DESCRIPTION, DELETE_TRIGGER_DESCRIPTION, DELETE_USER_REFERRER_DESCRIPTION, GET_AFFILIATE_PORTAL_STATS_DESCRIPTION, GET_INCENTIVE_DESCRIPTION, GET_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, GET_PROJECT_AFFILIATE_TOTAL_STATS_DESCRIPTION, GET_PROJECT_AFFILIATES_BREAKDOWN_DESCRIPTION, GET_PROJECT_DESCRIPTION, GET_TRIGGER_DESCRIPTION, GET_USER_REFERRER_DESCRIPTION, LIST_CHAINS_DESCRIPTION, LIST_INCENTIVES_DESCRIPTION, LIST_PAYOUT_SCHEMAS_DESCRIPTION, LIST_PAYOUTS_PENDING_APPROVAL_DESCRIPTION, LIST_PROJECTS_DESCRIPTION, LIST_REWARDS_PAYOUTS_DESCRIPTION, LIST_TRIGGER_TYPES_DESCRIPTION, PING_DESCRIPTION, REJECT_PAYOUTS_DESCRIPTION, REMOVE_USER_FROM_REFERRAL_CODE_DESCRIPTION, SEND_BATCH_EVENTS_DESCRIPTION, SEND_EVENT_DESCRIPTION, SWAP_USER_REFERRAL_CODE_DESCRIPTION, UPDATE_AUDIENCE_DESCRIPTION, UPDATE_PAYOUT_TERM_DESCRIPTION, UPDATE_PROJECT_AFFILIATE_PUBLIC_DESCRIPTION, UPDATE_PROJECT_TIER_DESCRIPTION, UPDATE_TRIGGER_DESCRIPTION, UPDATE_USER_REFERRER_DESCRIPTION, USE_REFERRAL_CODE_DESCRIPTION, WHOAMI_DESCRIPTION, } from './tools/tool-descriptions.js';
20
+ import { checkEventStatusFieldsSchema, checkEventStatusInputSchema, createIncentiveFieldsSchema, createIncentiveInputSchema, createProjectAffiliatePublicFieldsSchema, createProjectAffiliatePublicInputSchema, createTriggerFieldsSchema, createTriggerInputSchema, deleteIncentiveFieldsSchema, deleteIncentiveInputSchema, deleteTriggerFieldsSchema, deleteTriggerInputSchema, deleteUserReferrerFieldsSchema, deleteUserReferrerInputSchema, getAffiliatePortalStatsSchema, getIncentiveInputSchema, getProjectAffiliatePublicInputSchema, getProjectAffiliatesBreakdownSchema, getProjectAffiliateTotalStatsSchema, getTriggerInputSchema, getUserReferrerFieldsSchema, getUserReferrerInputSchema, listPayoutsPendingApprovalSchema, listProjectsInputSchema, listRewardsPayoutsSchema, payoutBatchActionInputSchema, projectIdParamSchema, removeUserFromReferralCodeFieldsSchema, removeUserFromReferralCodeInputSchema, sendBatchEventsFieldsSchema, sendBatchEventsInputSchema, sendEventFieldsSchema, sendEventInputSchema, swapUserReferralCodeFieldsSchema, swapUserReferralCodeInputSchema, updateAudienceFieldsSchema, updateAudienceInputSchema, updatePayoutTermInputSchema, updateProjectAffiliatePublicFieldsSchema, updateProjectAffiliatePublicInputSchema, updateProjectTierFieldsSchema, updateProjectTierInputSchema, updateTriggerFieldsSchema, updateTriggerInputSchema, updateUserReferrerFieldsSchema, updateUserReferrerInputSchema, useReferralCodeFieldsSchema, useReferralCodeInputSchema, } from './tools/tool-schemas.js';
21
+ import { enrichTriggerTypesResponse } from './triggers/trigger-create-payload-guide.js';
22
+ import { runCreateTrigger, runDeleteTrigger } from './triggers/trigger-write-handlers.js';
19
23
  import { compactQuery } from './util/compact-query.js';
20
24
  import { ToolTimeoutError, withTimeout } from './util/with-timeout.js';
21
25
  function toolErrorPayload(e, httpDetail = 'Request failed') {
@@ -82,7 +86,8 @@ async function main() {
82
86
  server.tool('list_trigger_types', LIST_TRIGGER_TYPES_DESCRIPTION, {}, async () => {
83
87
  try {
84
88
  const data = await withTimeout(metadata.getTriggerTypes(), toolTimeoutMs, 'list_trigger_types');
85
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
89
+ const enriched = enrichTriggerTypesResponse(data);
90
+ return { content: [{ type: 'text', text: JSON.stringify(enriched, null, 2) }] };
86
91
  }
87
92
  catch (e) {
88
93
  return toolErrorPayload(e);
@@ -91,7 +96,8 @@ async function main() {
91
96
  server.tool('list_payout_schemas', LIST_PAYOUT_SCHEMAS_DESCRIPTION, {}, async () => {
92
97
  try {
93
98
  const data = await withTimeout(metadata.getPayoutSchemas(), toolTimeoutMs, 'list_payout_schemas');
94
- return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
99
+ const enriched = enrichPayoutSchemasResponse(data);
100
+ return { content: [{ type: 'text', text: JSON.stringify(enriched, null, 2) }] };
95
101
  }
96
102
  catch (e) {
97
103
  return toolErrorPayload(e);
@@ -154,6 +160,46 @@ async function main() {
154
160
  return toolErrorPayload(e, 'Failed to load trigger');
155
161
  }
156
162
  });
163
+ server.tool('create_trigger', CREATE_TRIGGER_DESCRIPTION, createTriggerFieldsSchema.shape, async (args) => {
164
+ try {
165
+ const parsed = createTriggerInputSchema.parse(args);
166
+ const data = await withTimeout(runCreateTrigger(api, parsed), toolTimeoutMs, 'create_trigger');
167
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
168
+ }
169
+ catch (e) {
170
+ return toolErrorPayload(e, 'Failed to create trigger');
171
+ }
172
+ });
173
+ server.tool('delete_trigger', DELETE_TRIGGER_DESCRIPTION, deleteTriggerFieldsSchema.shape, async (args) => {
174
+ try {
175
+ const parsed = deleteTriggerInputSchema.parse(args);
176
+ const data = await withTimeout(runDeleteTrigger(api, parsed), toolTimeoutMs, 'delete_trigger');
177
+ return { content: [{ type: 'text', text: JSON.stringify(data ?? { ok: true }, null, 2) }] };
178
+ }
179
+ catch (e) {
180
+ return toolErrorPayload(e, 'Failed to delete trigger');
181
+ }
182
+ });
183
+ server.tool('create_incentive', CREATE_INCENTIVE_DESCRIPTION, createIncentiveFieldsSchema.shape, async (args) => {
184
+ try {
185
+ const parsed = createIncentiveInputSchema.parse(args);
186
+ const data = await withTimeout(runCreateIncentive(api, parsed), toolTimeoutMs, 'create_incentive');
187
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
188
+ }
189
+ catch (e) {
190
+ return toolErrorPayload(e, 'Failed to create incentive');
191
+ }
192
+ });
193
+ server.tool('delete_incentive', DELETE_INCENTIVE_DESCRIPTION, deleteIncentiveFieldsSchema.shape, async (args) => {
194
+ try {
195
+ const parsed = deleteIncentiveInputSchema.parse(args);
196
+ const data = await withTimeout(runDeleteIncentive(api, parsed), toolTimeoutMs, 'delete_incentive');
197
+ return { content: [{ type: 'text', text: JSON.stringify(data ?? { ok: true }, null, 2) }] };
198
+ }
199
+ catch (e) {
200
+ return toolErrorPayload(e, 'Failed to delete incentive');
201
+ }
202
+ });
157
203
  server.tool('get_affiliate_portal_stats', GET_AFFILIATE_PORTAL_STATS_DESCRIPTION, getAffiliatePortalStatsSchema.shape, async (args) => {
158
204
  try {
159
205
  const parsed = getAffiliatePortalStatsSchema.parse(args);
@@ -292,6 +338,17 @@ async function main() {
292
338
  return toolErrorPayload(e, 'Failed to update user referrer');
293
339
  }
294
340
  });
341
+ server.tool('delete_user_referrer', DELETE_USER_REFERRER_DESCRIPTION, deleteUserReferrerFieldsSchema.shape, async (args) => {
342
+ try {
343
+ const parsed = deleteUserReferrerInputSchema.parse(args);
344
+ const bearer = resolveProjectApiKeyBearer(env, parsed.project_api_key);
345
+ const data = await withTimeout(runDeleteUserReferrer(api, bearer, parsed), toolTimeoutMs, 'delete_user_referrer');
346
+ return { content: [{ type: 'text', text: JSON.stringify(data, null, 2) }] };
347
+ }
348
+ catch (e) {
349
+ return toolErrorPayload(e, 'Failed to delete user referrer');
350
+ }
351
+ });
295
352
  server.tool('remove_user_from_referral_code', REMOVE_USER_FROM_REFERRAL_CODE_DESCRIPTION, removeUserFromReferralCodeFieldsSchema.shape, async (args) => {
296
353
  try {
297
354
  const parsed = removeUserFromReferralCodeInputSchema.parse(args);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type FuulApiClient } from '../http/fuul-api-client.js';
2
- import type { GetUserReferrerInput, RemoveUserFromReferralCodeInput, SwapUserReferralCodeInput, UpdateUserReferrerInput, UseReferralCodeInput } from '../tools/tool-schemas.js';
2
+ import type { DeleteUserReferrerInput, GetUserReferrerInput, RemoveUserFromReferralCodeInput, SwapUserReferralCodeInput, UpdateUserReferrerInput, UseReferralCodeInput } from '../tools/tool-schemas.js';
3
3
  export declare function isAlreadyRemovedMessage(message: string): boolean;
4
4
  export declare function buildUpdateUserReferrerBody(fields: Pick<UpdateUserReferrerInput, 'user_identifier' | 'user_identifier_type' | 'referrer_identifier' | 'referrer_identifier_type' | 'referral_code'>): Record<string, unknown>;
5
5
  export declare function buildDeleteReferralPath(code: string, query: {
@@ -16,7 +16,12 @@ export declare function buildGetUserReferrerPath(query: {
16
16
  user_identifier: string;
17
17
  user_identifier_type: string;
18
18
  }): string;
19
+ export declare function buildDeleteUserReferrerPath(query: {
20
+ user_identifier: string;
21
+ user_identifier_type: string;
22
+ }): string;
19
23
  export declare function runGetUserReferrer(api: FuulApiClient, bearer: string, input: GetUserReferrerInput): Promise<unknown>;
24
+ export declare function runDeleteUserReferrer(api: FuulApiClient, bearer: string, input: DeleteUserReferrerInput): Promise<unknown>;
20
25
  export declare function runUpdateUserReferrer(api: FuulApiClient, bearer: string, input: UpdateUserReferrerInput): Promise<unknown>;
21
26
  export declare function runUseReferralCode(api: FuulApiClient, bearer: string, input: UseReferralCodeInput): Promise<unknown>;
22
27
  export declare function runRemoveUserFromReferralCode(api: FuulApiClient, bearer: string, input: RemoveUserFromReferralCodeInput): Promise<unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"referral-attribution-handlers.d.ts","sourceRoot":"","sources":["../../src/referral-attribution/referral-attribution-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EACV,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,iBAAiB,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,eAAe,CAClH,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;CAClC,GACA,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGjH;AASD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1H;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhI;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1H;AAED,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBhJ;AAED,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CpI"}
1
+ {"version":3,"file":"referral-attribution-handlers.d.ts","sourceRoot":"","sources":["../../src/referral-attribution/referral-attribution-handlers.ts"],"names":[],"mappings":"AACA,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAEjF,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,+BAA+B,EAC/B,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,0BAA0B,CAAC;AAQlC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEhE;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,IAAI,CACV,uBAAuB,EACvB,iBAAiB,GAAG,sBAAsB,GAAG,qBAAqB,GAAG,0BAA0B,GAAG,eAAe,CAClH,GACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wBAAwB,EAAE,MAAM,CAAC;CAClC,GACA,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE;IACL,eAAe,EAAE,MAAM,CAAC;IACxB,oBAAoB,EAAE,MAAM,CAAC;CAC9B,GACA,MAAM,CAIR;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGjH;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAAE,eAAe,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAGpH;AASD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAM1H;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmBhI;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,uBAAuB,GAAG,OAAO,CAAC,OAAO,CAAC,CAUhI;AAED,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAa1H;AAED,wBAAsB,6BAA6B,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,OAAO,CAAC,CAqBhJ;AAED,wBAAsB,uBAAuB,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8CpI"}
@@ -35,6 +35,10 @@ export function buildGetUserReferrerPath(query) {
35
35
  const qs = buildNestQueryString(query);
36
36
  return qs ? `/api/v1/user/referrer?${qs}` : '/api/v1/user/referrer';
37
37
  }
38
+ export function buildDeleteUserReferrerPath(query) {
39
+ const qs = buildNestQueryString(query);
40
+ return qs ? `/api/v1/user-referrers?${qs}` : '/api/v1/user-referrers';
41
+ }
38
42
  function normalizePatchUseResult(data) {
39
43
  if (data === undefined || data === null || data === '') {
40
44
  return { status: 'used' };
@@ -48,6 +52,25 @@ export async function runGetUserReferrer(api, bearer, input) {
48
52
  });
49
53
  return api.getJson(path, { bearerToken: bearer });
50
54
  }
55
+ export async function runDeleteUserReferrer(api, bearer, input) {
56
+ assertWriteConfirmedOrDryRun(input);
57
+ const path = buildDeleteUserReferrerPath({
58
+ user_identifier: input.user_identifier,
59
+ user_identifier_type: input.user_identifier_type,
60
+ });
61
+ if (input.dry_run === true) {
62
+ return { dry_run: true, would_delete: path };
63
+ }
64
+ try {
65
+ return await api.deleteJson(path, { bearerToken: bearer });
66
+ }
67
+ catch (e) {
68
+ if (e instanceof ApiRequestError && e.status === 422 && isAlreadyRemovedMessage(e.message)) {
69
+ return { already_removed: true, reason: e.message };
70
+ }
71
+ throw e;
72
+ }
73
+ }
51
74
  export async function runUpdateUserReferrer(api, bearer, input) {
52
75
  assertWriteConfirmedOrDryRun(input);
53
76
  const body = buildUpdateUserReferrerBody(input);
@@ -1 +1 @@
1
- {"version":3,"file":"referral-attribution-handlers.js","sourceRoot":"","sources":["../../src/referral-attribution/referral-attribution-handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"referral-attribution-handlers.js","sourceRoot":"","sources":["../../src/referral-attribution/referral-attribution-handlers.ts"],"names":[],"mappings":"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"}