@open-loyalty/mcp-server 1.7.0 → 1.12.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.
- package/dist/instructions.d.ts +1 -1
- package/dist/instructions.js +58 -22
- package/dist/server.js +3 -0
- package/dist/tools/apps/campaign-builder/handlers.d.ts +25 -0
- package/dist/tools/apps/campaign-builder/handlers.js +47 -0
- package/dist/tools/apps/campaign-builder/tool.d.ts +2 -0
- package/dist/tools/apps/campaign-builder/tool.js +36 -0
- package/dist/tools/apps/dashboard/handlers.d.ts +13 -0
- package/dist/tools/apps/dashboard/handlers.js +23 -0
- package/dist/tools/apps/dashboard/tool.d.ts +2 -0
- package/dist/tools/apps/dashboard/tool.js +48 -0
- package/dist/tools/apps/index.d.ts +6 -0
- package/dist/tools/apps/index.js +18 -0
- package/dist/tools/apps/member-profile/handlers.d.ts +49 -0
- package/dist/tools/apps/member-profile/handlers.js +48 -0
- package/dist/tools/apps/member-profile/tool.d.ts +2 -0
- package/dist/tools/apps/member-profile/tool.js +37 -0
- package/dist/tools/apps/rewards-catalog/handlers.d.ts +29 -0
- package/dist/tools/apps/rewards-catalog/handlers.js +25 -0
- package/dist/tools/apps/rewards-catalog/tool.d.ts +2 -0
- package/dist/tools/apps/rewards-catalog/tool.js +40 -0
- package/dist/tools/apps/tier-visualizer/handlers.d.ts +27 -0
- package/dist/tools/apps/tier-visualizer/handlers.js +60 -0
- package/dist/tools/apps/tier-visualizer/tool.d.ts +2 -0
- package/dist/tools/apps/tier-visualizer/tool.js +39 -0
- package/dist/tools/apps/transaction-timeline/handlers.d.ts +27 -0
- package/dist/tools/apps/transaction-timeline/handlers.js +64 -0
- package/dist/tools/apps/transaction-timeline/tool.d.ts +2 -0
- package/dist/tools/apps/transaction-timeline/tool.js +37 -0
- package/dist/tools/campaign/index.d.ts +16 -3
- package/dist/tools/campaign/index.js +15 -4
- package/dist/tools/campaign/member-handlers.d.ts +12 -0
- package/dist/tools/campaign/member-handlers.js +33 -0
- package/dist/tools/campaign/schemas.d.ts +6 -0
- package/dist/tools/campaign/schemas.js +6 -0
- package/dist/tools/channel/handlers.d.ts +32 -0
- package/dist/tools/channel/handlers.js +130 -0
- package/dist/tools/channel/index.d.ts +68 -0
- package/dist/tools/channel/index.js +59 -0
- package/dist/tools/channel/schemas.d.ts +29 -0
- package/dist/tools/channel/schemas.js +30 -0
- package/dist/tools/context/handlers.d.ts +49 -0
- package/dist/tools/context/handlers.js +131 -0
- package/dist/tools/context/index.d.ts +15 -0
- package/dist/tools/context/index.js +20 -0
- package/dist/tools/context/schemas.d.ts +7 -0
- package/dist/tools/context/schemas.js +4 -0
- package/dist/tools/group-of-values/handlers.d.ts +39 -0
- package/dist/tools/group-of-values/handlers.js +133 -0
- package/dist/tools/group-of-values/index.d.ts +82 -0
- package/dist/tools/group-of-values/index.js +72 -0
- package/dist/tools/group-of-values/schemas.d.ts +36 -0
- package/dist/tools/group-of-values/schemas.js +39 -0
- package/dist/tools/index.js +12 -0
- package/dist/tools/language/handlers.d.ts +24 -0
- package/dist/tools/language/handlers.js +127 -0
- package/dist/tools/language/index.d.ts +64 -0
- package/dist/tools/language/index.js +60 -0
- package/dist/tools/language/schemas.d.ts +25 -0
- package/dist/tools/language/schemas.js +25 -0
- package/dist/tools/member/handlers.d.ts +4 -0
- package/dist/tools/member/handlers.js +27 -0
- package/dist/tools/member/index.d.ts +14 -2
- package/dist/tools/member/index.js +15 -2
- package/dist/tools/points/fraud-handlers.d.ts +21 -0
- package/dist/tools/points/fraud-handlers.js +96 -0
- package/dist/tools/points/index.d.ts +50 -1
- package/dist/tools/points/index.js +45 -2
- package/dist/tools/points/schemas.d.ts +11 -0
- package/dist/tools/points/schemas.js +11 -0
- package/dist/tools/reward/category-handlers.d.ts +27 -0
- package/dist/tools/reward/category-handlers.js +70 -0
- package/dist/tools/reward/handlers.d.ts +0 -12
- package/dist/tools/reward/handlers.js +0 -28
- package/dist/tools/reward/index.d.ts +76 -3
- package/dist/tools/reward/index.js +63 -4
- package/dist/tools/reward/photo-handlers.d.ts +10 -0
- package/dist/tools/reward/photo-handlers.js +97 -0
- package/dist/tools/reward/redemption-handlers.d.ts +23 -0
- package/dist/tools/reward/redemption-handlers.js +50 -0
- package/dist/tools/reward/schemas.d.ts +31 -0
- package/dist/tools/reward/schemas.js +33 -0
- package/dist/tools/segment/handlers.js +14 -10
- package/dist/tools/segment/index.js +1 -1
- package/dist/tools/segment/schemas.js +3 -3
- package/dist/tools/store/handlers.d.ts +24 -0
- package/dist/tools/store/handlers.js +29 -1
- package/dist/tools/store/index.d.ts +41 -3
- package/dist/tools/store/index.js +27 -4
- package/dist/tools/store/schemas.d.ts +24 -0
- package/dist/tools/store/schemas.js +24 -0
- package/dist/ui/campaign-builder.html +648 -0
- package/dist/ui/dashboard.html +299 -0
- package/dist/ui/member-profile.html +592 -0
- package/dist/ui/rewards-catalog.html +274 -0
- package/dist/ui/tier-visualizer.html +393 -0
- package/dist/ui/transaction-timeline.html +360 -0
- package/package.json +7 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
// Re-export schemas and types
|
|
2
|
-
export { StoreListInputSchema, StoreCreateInputSchema, StoreGetInputSchema, StoreUpdateInputSchema, } from "./schemas.js";
|
|
2
|
+
export { StoreListInputSchema, StoreCreateInputSchema, StoreGetInputSchema, StoreUpdateInputSchema, StoreGetSettingsInputSchema, StoreUpdateSettingsInputSchema, } from "./schemas.js";
|
|
3
3
|
// Re-export handlers
|
|
4
|
-
export { storeList, storeCreate, storeGet, storeUpdate, } from "./handlers.js";
|
|
4
|
+
export { storeList, storeCreate, storeGet, storeUpdate, storeGetSettings, storeUpdateSettings, } from "./handlers.js";
|
|
5
5
|
// Imports for tool definitions
|
|
6
|
-
import { StoreListInputSchema, StoreCreateInputSchema, StoreGetInputSchema, StoreUpdateInputSchema, } from "./schemas.js";
|
|
7
|
-
import { storeList, storeCreate, storeGet, storeUpdate, } from "./handlers.js";
|
|
6
|
+
import { StoreListInputSchema, StoreCreateInputSchema, StoreGetInputSchema, StoreUpdateInputSchema, StoreGetSettingsInputSchema, StoreUpdateSettingsInputSchema, } from "./schemas.js";
|
|
7
|
+
import { storeList, storeCreate, storeGet, storeUpdate, storeGetSettings, storeUpdateSettings, } from "./handlers.js";
|
|
8
8
|
// Tool definitions
|
|
9
9
|
export const storeToolDefinitions = [
|
|
10
10
|
{
|
|
@@ -43,4 +43,27 @@ export const storeToolDefinitions = [
|
|
|
43
43
|
inputSchema: StoreUpdateInputSchema,
|
|
44
44
|
handler: storeUpdate,
|
|
45
45
|
},
|
|
46
|
+
{
|
|
47
|
+
name: "ol_store_get_settings",
|
|
48
|
+
title: "Get Store Settings",
|
|
49
|
+
description: "Get the loyalty program settings for the current store. Returns configuration such as tier assignment type, " +
|
|
50
|
+
"wallet codes, downgrade mode, account activation requirements, member identification method, timezone, " +
|
|
51
|
+
"notification settings, and active member criteria. Use before ol_store_update_settings to see current values.",
|
|
52
|
+
readOnly: true,
|
|
53
|
+
idempotent: true,
|
|
54
|
+
inputSchema: StoreGetSettingsInputSchema,
|
|
55
|
+
handler: storeGetSettings,
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
name: "ol_store_update_settings",
|
|
59
|
+
title: "Update Store Settings",
|
|
60
|
+
description: "Update loyalty program settings via PATCH (partial update — only provided fields are changed). " +
|
|
61
|
+
"KEY SETTINGS: tierAssignType ('points'|'transactions'), tierWalletCode, levelDowngradeMode ('none'|'automatic'|'after_x_days'), " +
|
|
62
|
+
"accountActivationRequired, identificationMethod ('email'|'phone'|'loyaltyCardNumber'), timezone. " +
|
|
63
|
+
"Use ol_store_get_settings first to see current values before making changes.",
|
|
64
|
+
readOnly: false,
|
|
65
|
+
idempotent: true,
|
|
66
|
+
inputSchema: StoreUpdateSettingsInputSchema,
|
|
67
|
+
handler: storeUpdateSettings,
|
|
68
|
+
},
|
|
46
69
|
];
|
|
@@ -36,3 +36,27 @@ export declare const StoreUpdateInputSchema: {
|
|
|
36
36
|
active: z.ZodOptional<z.ZodBoolean>;
|
|
37
37
|
currency: z.ZodOptional<z.ZodString>;
|
|
38
38
|
};
|
|
39
|
+
export declare const StoreGetSettingsInputSchema: {
|
|
40
|
+
storeCode: z.ZodOptional<z.ZodString>;
|
|
41
|
+
};
|
|
42
|
+
export declare const StoreUpdateSettingsInputSchema: {
|
|
43
|
+
storeCode: z.ZodOptional<z.ZodString>;
|
|
44
|
+
programName: z.ZodOptional<z.ZodString>;
|
|
45
|
+
allowCustomersProfileEdits: z.ZodOptional<z.ZodBoolean>;
|
|
46
|
+
tierAssignType: z.ZodOptional<z.ZodEnum<["points", "transactions"]>>;
|
|
47
|
+
tierWalletCode: z.ZodOptional<z.ZodString>;
|
|
48
|
+
excludeDeliveryCostsFromTierAssignment: z.ZodOptional<z.ZodBoolean>;
|
|
49
|
+
excludedLevelCategories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
50
|
+
levelDowngradeMode: z.ZodOptional<z.ZodEnum<["none", "automatic", "after_x_days"]>>;
|
|
51
|
+
levelDowngradeDays: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
levelDowngradeBase: z.ZodOptional<z.ZodEnum<["none", "active_points", "earned_points", "earned_points_since_last_level_change"]>>;
|
|
53
|
+
levelResetPointsOnDowngrade: z.ZodOptional<z.ZodBoolean>;
|
|
54
|
+
accountActivationRequired: z.ZodOptional<z.ZodBoolean>;
|
|
55
|
+
identificationMethod: z.ZodOptional<z.ZodEnum<["email", "phone", "loyaltyCardNumber"]>>;
|
|
56
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
57
|
+
timezoneStrategy: z.ZodOptional<z.ZodEnum<["none", "default", "localtime"]>>;
|
|
58
|
+
rewardWalletCode: z.ZodOptional<z.ZodString>;
|
|
59
|
+
expirePointsNotificationDays: z.ZodOptional<z.ZodNumber>;
|
|
60
|
+
expireCouponsNotificationDays: z.ZodOptional<z.ZodNumber>;
|
|
61
|
+
expireLevelsNotificationDays: z.ZodOptional<z.ZodNumber>;
|
|
62
|
+
};
|
|
@@ -21,3 +21,27 @@ export const StoreUpdateInputSchema = {
|
|
|
21
21
|
active: z.boolean().optional().describe("Whether the store is active."),
|
|
22
22
|
currency: z.string().optional().describe("Currency code."),
|
|
23
23
|
};
|
|
24
|
+
export const StoreGetSettingsInputSchema = {
|
|
25
|
+
storeCode: z.string().optional().describe("INTERNAL: Auto-configured from server settings. NEVER ask the user for this value. Only set if the user explicitly requests a different store."),
|
|
26
|
+
};
|
|
27
|
+
export const StoreUpdateSettingsInputSchema = {
|
|
28
|
+
storeCode: z.string().optional().describe("INTERNAL: Auto-configured from server settings. NEVER ask the user for this value. Only set if the user explicitly requests a different store."),
|
|
29
|
+
programName: z.string().optional().describe("Program/loyalty program name."),
|
|
30
|
+
allowCustomersProfileEdits: z.boolean().optional().describe("Whether members can edit their own profiles."),
|
|
31
|
+
tierAssignType: z.enum(["points", "transactions"]).optional().describe("How tier assignment is calculated: 'points' (based on wallet balance) or 'transactions' (based on purchase count)."),
|
|
32
|
+
tierWalletCode: z.string().optional().describe("Wallet used for tier assignment (wallet type code)."),
|
|
33
|
+
excludeDeliveryCostsFromTierAssignment: z.boolean().optional().describe("Exclude delivery costs from tier calculations."),
|
|
34
|
+
excludedLevelCategories: z.array(z.string()).optional().describe("Product categories excluded from tier assignment."),
|
|
35
|
+
levelDowngradeMode: z.enum(["none", "automatic", "after_x_days"]).optional().describe("Tier downgrade mode: 'none' (never downgrade), 'automatic' (downgrade when criteria unmet), 'after_x_days' (downgrade after N inactive days)."),
|
|
36
|
+
levelDowngradeDays: z.number().optional().describe("Days before tier downgrade (used with levelDowngradeMode: 'after_x_days')."),
|
|
37
|
+
levelDowngradeBase: z.enum(["none", "active_points", "earned_points", "earned_points_since_last_level_change"]).optional().describe("Point basis for downgrade recalculation."),
|
|
38
|
+
levelResetPointsOnDowngrade: z.boolean().optional().describe("Reset points when member is downgraded."),
|
|
39
|
+
accountActivationRequired: z.boolean().optional().describe("Whether new accounts require email activation before participating."),
|
|
40
|
+
identificationMethod: z.enum(["email", "phone", "loyaltyCardNumber"]).optional().describe("Primary member identification method."),
|
|
41
|
+
timezone: z.string().optional().describe("Store timezone (e.g., 'Europe/Warsaw', 'America/New_York')."),
|
|
42
|
+
timezoneStrategy: z.enum(["none", "default", "localtime"]).optional().describe("Timezone handling strategy."),
|
|
43
|
+
rewardWalletCode: z.string().optional().describe("Wallet used for reward purchases (wallet type code)."),
|
|
44
|
+
expirePointsNotificationDays: z.number().optional().describe("Days before point expiry to send notification email."),
|
|
45
|
+
expireCouponsNotificationDays: z.number().optional().describe("Days before coupon expiry to send notification email."),
|
|
46
|
+
expireLevelsNotificationDays: z.number().optional().describe("Days before tier expiry to send notification email."),
|
|
47
|
+
};
|