@open-loyalty/mcp-server 1.5.3 → 1.7.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/config.d.ts +4 -0
- package/dist/config.js +11 -0
- package/dist/index.js +0 -8
- package/dist/server.js +13 -0
- package/dist/tools/achievement/handlers.js +47 -0
- package/dist/tools/achievement/index.d.ts +11 -4
- package/dist/tools/achievement/index.js +12 -1
- package/dist/tools/achievement/schemas.d.ts +4 -4
- package/dist/tools/achievement/schemas.js +13 -12
- package/dist/tools/admin/handlers.d.ts +48 -0
- package/dist/tools/admin/handlers.js +159 -0
- package/dist/tools/admin/index.d.ts +86 -0
- package/dist/tools/admin/index.js +64 -0
- package/dist/tools/admin/schemas.d.ts +40 -0
- package/dist/tools/admin/schemas.js +40 -0
- package/dist/tools/analytics/handlers.d.ts +42 -0
- package/dist/tools/analytics/handlers.js +282 -0
- package/dist/tools/analytics/index.d.ts +108 -0
- package/dist/tools/analytics/index.js +91 -0
- package/dist/tools/analytics/schemas.d.ts +42 -0
- package/dist/tools/analytics/schemas.js +47 -0
- package/dist/tools/apikey/handlers.d.ts +15 -0
- package/dist/tools/apikey/handlers.js +53 -0
- package/dist/tools/apikey/index.d.ts +41 -0
- package/dist/tools/apikey/index.js +38 -0
- package/dist/tools/apikey/schemas.d.ts +31 -0
- package/dist/tools/apikey/schemas.js +15 -0
- package/dist/tools/audit/handlers.d.ts +20 -0
- package/dist/tools/audit/handlers.js +82 -0
- package/dist/tools/audit/index.d.ts +36 -0
- package/dist/tools/audit/index.js +28 -0
- package/dist/tools/audit/schemas.d.ts +62 -0
- package/dist/tools/audit/schemas.js +18 -0
- package/dist/tools/badge/handlers.d.ts +45 -0
- package/dist/tools/badge/handlers.js +135 -0
- package/dist/tools/badge/index.d.ts +68 -0
- package/dist/tools/badge/index.js +47 -0
- package/dist/tools/badge/schemas.d.ts +37 -0
- package/dist/tools/badge/schemas.js +31 -0
- package/dist/tools/campaign/handlers.js +61 -0
- package/dist/tools/campaign/index.d.ts +12 -0
- package/dist/tools/campaign/index.js +20 -1
- package/dist/tools/campaign/member-handlers.js +37 -1
- package/dist/tools/campaign/schemas.js +16 -14
- package/dist/tools/custom-event/handlers.d.ts +98 -0
- package/dist/tools/custom-event/handlers.js +238 -0
- package/dist/tools/custom-event/index.d.ts +139 -0
- package/dist/tools/custom-event/index.js +78 -0
- package/dist/tools/custom-event/schemas.d.ts +87 -0
- package/dist/tools/custom-event/schemas.js +59 -0
- package/dist/tools/export/handlers.d.ts +29 -0
- package/dist/tools/export/handlers.js +128 -0
- package/dist/tools/export/index.d.ts +56 -0
- package/dist/tools/export/index.js +46 -0
- package/dist/tools/export/schemas.d.ts +42 -0
- package/dist/tools/export/schemas.js +41 -0
- package/dist/tools/import/handlers.d.ts +22 -0
- package/dist/tools/import/handlers.js +123 -0
- package/dist/tools/import/index.d.ts +45 -0
- package/dist/tools/import/index.js +41 -0
- package/dist/tools/import/schemas.d.ts +57 -0
- package/dist/tools/import/schemas.js +39 -0
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +11 -11
- package/dist/tools/member/handlers.js +30 -0
- package/dist/tools/member/index.d.ts +10 -0
- package/dist/tools/member/index.js +10 -0
- package/dist/tools/member/schemas.js +13 -13
- package/dist/tools/points/handlers.js +73 -0
- package/dist/tools/points/index.d.ts +6 -0
- package/dist/tools/points/index.js +6 -0
- package/dist/tools/points/schemas.js +1 -1
- package/dist/tools/referral/index.d.ts +3 -0
- package/dist/tools/referral/index.js +3 -0
- package/dist/tools/reward/handlers.js +21 -13
- package/dist/tools/reward/index.d.ts +9 -0
- package/dist/tools/reward/index.js +12 -1
- package/dist/tools/reward/schemas.js +2 -2
- package/dist/tools/role/handlers.d.ts +35 -0
- package/dist/tools/role/handlers.js +127 -0
- package/dist/tools/role/index.d.ts +99 -0
- package/dist/tools/role/index.js +65 -0
- package/dist/tools/role/schemas.d.ts +56 -0
- package/dist/tools/role/schemas.js +35 -0
- package/dist/tools/segment/handlers.js +68 -1
- package/dist/tools/segment/index.d.ts +9 -0
- package/dist/tools/segment/index.js +13 -0
- package/dist/tools/segment/schemas.js +8 -5
- package/dist/tools/store/handlers.d.ts +25 -0
- package/dist/tools/store/handlers.js +89 -0
- package/dist/tools/store/index.d.ts +55 -0
- package/dist/tools/store/index.js +46 -0
- package/dist/tools/store/schemas.d.ts +38 -0
- package/dist/tools/store/schemas.js +23 -0
- package/dist/tools/tierset/handlers.js +92 -1
- package/dist/tools/tierset/index.d.ts +6 -0
- package/dist/tools/tierset/index.js +8 -1
- package/dist/tools/transaction/handlers.js +40 -0
- package/dist/tools/transaction/index.d.ts +4 -0
- package/dist/tools/transaction/index.js +4 -0
- package/dist/tools/transaction/schemas.js +3 -3
- package/dist/tools/wallet-type/index.d.ts +4 -0
- package/dist/tools/wallet-type/index.js +5 -1
- package/dist/tools/webhook/handlers.d.ts +34 -0
- package/dist/tools/webhook/handlers.js +147 -0
- package/dist/tools/webhook/index.d.ts +97 -0
- package/dist/tools/webhook/index.js +65 -0
- package/dist/tools/webhook/schemas.d.ts +72 -0
- package/dist/tools/{webhook.js → webhook/schemas.js} +0 -140
- package/dist/types/schemas/tierset.js +3 -1
- package/package.json +1 -1
- package/dist/tools/admin.d.ts +0 -165
- package/dist/tools/admin.js +0 -205
- package/dist/tools/analytics.d.ts +0 -180
- package/dist/tools/analytics.js +0 -255
- package/dist/tools/apikey.d.ts +0 -79
- package/dist/tools/apikey.js +0 -85
- package/dist/tools/audit.d.ts +0 -111
- package/dist/tools/audit.js +0 -94
- package/dist/tools/badge.d.ts +0 -143
- package/dist/tools/badge.js +0 -174
- package/dist/tools/custom-event.d.ts +0 -315
- package/dist/tools/custom-event.js +0 -271
- package/dist/tools/export.d.ts +0 -118
- package/dist/tools/export.js +0 -152
- package/dist/tools/import.d.ts +0 -116
- package/dist/tools/import.js +0 -143
- package/dist/tools/role.d.ts +0 -180
- package/dist/tools/role.js +0 -173
- package/dist/tools/store.d.ts +0 -109
- package/dist/tools/store.js +0 -125
- package/dist/tools/webhook.d.ts +0 -192
package/dist/tools/admin.d.ts
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { AdminUser, AdminUserListItem, AdminPermission } from "../types/schemas/admin.js";
|
|
3
|
-
export declare const AdminListInputSchema: {
|
|
4
|
-
page: z.ZodOptional<z.ZodNumber>;
|
|
5
|
-
perPage: z.ZodOptional<z.ZodNumber>;
|
|
6
|
-
email: z.ZodOptional<z.ZodString>;
|
|
7
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
8
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
9
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
10
|
-
role: z.ZodOptional<z.ZodString>;
|
|
11
|
-
};
|
|
12
|
-
export declare const AdminCreateInputSchema: {
|
|
13
|
-
email: z.ZodString;
|
|
14
|
-
password: z.ZodString;
|
|
15
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
16
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
17
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
18
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
19
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
20
|
-
external: z.ZodOptional<z.ZodBoolean>;
|
|
21
|
-
notificationsEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
-
};
|
|
23
|
-
export declare const AdminGetInputSchema: {
|
|
24
|
-
adminId: z.ZodString;
|
|
25
|
-
};
|
|
26
|
-
export declare const AdminUpdateInputSchema: {
|
|
27
|
-
adminId: z.ZodString;
|
|
28
|
-
email: z.ZodOptional<z.ZodString>;
|
|
29
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
30
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
31
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
32
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
33
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
34
|
-
external: z.ZodOptional<z.ZodBoolean>;
|
|
35
|
-
notificationsEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
36
|
-
password: z.ZodOptional<z.ZodString>;
|
|
37
|
-
};
|
|
38
|
-
export declare const AdminChangePasswordInputSchema: {
|
|
39
|
-
currentPassword: z.ZodString;
|
|
40
|
-
newPassword: z.ZodString;
|
|
41
|
-
};
|
|
42
|
-
export declare function adminList(input: {
|
|
43
|
-
page?: number;
|
|
44
|
-
perPage?: number;
|
|
45
|
-
email?: string;
|
|
46
|
-
isActive?: boolean;
|
|
47
|
-
firstName?: string;
|
|
48
|
-
lastName?: string;
|
|
49
|
-
role?: string;
|
|
50
|
-
}): Promise<{
|
|
51
|
-
items: AdminUserListItem[];
|
|
52
|
-
total?: number;
|
|
53
|
-
}>;
|
|
54
|
-
export declare function adminCreate(input: {
|
|
55
|
-
email: string;
|
|
56
|
-
password: string;
|
|
57
|
-
firstName?: string;
|
|
58
|
-
lastName?: string;
|
|
59
|
-
phone?: string;
|
|
60
|
-
roles?: (string | number)[];
|
|
61
|
-
isActive?: boolean;
|
|
62
|
-
external?: boolean;
|
|
63
|
-
notificationsEnabled?: boolean;
|
|
64
|
-
}): Promise<{
|
|
65
|
-
adminId: string;
|
|
66
|
-
}>;
|
|
67
|
-
export declare function adminGet(input: {
|
|
68
|
-
adminId: string;
|
|
69
|
-
}): Promise<AdminUser>;
|
|
70
|
-
export declare function adminUpdate(input: {
|
|
71
|
-
adminId: string;
|
|
72
|
-
email?: string;
|
|
73
|
-
firstName?: string;
|
|
74
|
-
lastName?: string;
|
|
75
|
-
phone?: string;
|
|
76
|
-
roles?: (string | number)[];
|
|
77
|
-
isActive?: boolean;
|
|
78
|
-
external?: boolean;
|
|
79
|
-
notificationsEnabled?: boolean;
|
|
80
|
-
password?: string;
|
|
81
|
-
}): Promise<{
|
|
82
|
-
adminId: string;
|
|
83
|
-
}>;
|
|
84
|
-
export declare function adminChangePassword(input: {
|
|
85
|
-
currentPassword: string;
|
|
86
|
-
newPassword: string;
|
|
87
|
-
}): Promise<void>;
|
|
88
|
-
export declare function adminGetPermissions(): Promise<AdminPermission>;
|
|
89
|
-
export declare const adminToolDefinitions: readonly [{
|
|
90
|
-
readonly name: "ol_admin_list";
|
|
91
|
-
readonly title: "List Admin Users";
|
|
92
|
-
readonly description: "List admin users with optional filtering. Returns paginated list of admin users with id, email, firstName, lastName, isActive, createdAt.";
|
|
93
|
-
readonly readOnly: true;
|
|
94
|
-
readonly inputSchema: {
|
|
95
|
-
page: z.ZodOptional<z.ZodNumber>;
|
|
96
|
-
perPage: z.ZodOptional<z.ZodNumber>;
|
|
97
|
-
email: z.ZodOptional<z.ZodString>;
|
|
98
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
100
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
101
|
-
role: z.ZodOptional<z.ZodString>;
|
|
102
|
-
};
|
|
103
|
-
readonly handler: typeof adminList;
|
|
104
|
-
}, {
|
|
105
|
-
readonly name: "ol_admin_create";
|
|
106
|
-
readonly title: "Create Admin User";
|
|
107
|
-
readonly description: "Create a new admin user. Requires email and password. Optionally assign roles, set active status, and configure notifications. Returns adminId.";
|
|
108
|
-
readonly readOnly: false;
|
|
109
|
-
readonly inputSchema: {
|
|
110
|
-
email: z.ZodString;
|
|
111
|
-
password: z.ZodString;
|
|
112
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
113
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
114
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
115
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
116
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
117
|
-
external: z.ZodOptional<z.ZodBoolean>;
|
|
118
|
-
notificationsEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
119
|
-
};
|
|
120
|
-
readonly handler: typeof adminCreate;
|
|
121
|
-
}, {
|
|
122
|
-
readonly name: "ol_admin_get";
|
|
123
|
-
readonly title: "Get Admin User Details";
|
|
124
|
-
readonly description: "Get full admin user details by ID. Returns profile including email, name, roles, settings, active status, and creation date.";
|
|
125
|
-
readonly readOnly: true;
|
|
126
|
-
readonly inputSchema: {
|
|
127
|
-
adminId: z.ZodString;
|
|
128
|
-
};
|
|
129
|
-
readonly handler: typeof adminGet;
|
|
130
|
-
}, {
|
|
131
|
-
readonly name: "ol_admin_update";
|
|
132
|
-
readonly title: "Update Admin User";
|
|
133
|
-
readonly description: "Update admin user profile. Can update email, name, phone, roles, active status, and password. Returns adminId on success.";
|
|
134
|
-
readonly readOnly: false;
|
|
135
|
-
readonly inputSchema: {
|
|
136
|
-
adminId: z.ZodString;
|
|
137
|
-
email: z.ZodOptional<z.ZodString>;
|
|
138
|
-
firstName: z.ZodOptional<z.ZodString>;
|
|
139
|
-
lastName: z.ZodOptional<z.ZodString>;
|
|
140
|
-
phone: z.ZodOptional<z.ZodString>;
|
|
141
|
-
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodNumber]>, "many">>;
|
|
142
|
-
isActive: z.ZodOptional<z.ZodBoolean>;
|
|
143
|
-
external: z.ZodOptional<z.ZodBoolean>;
|
|
144
|
-
notificationsEnabled: z.ZodOptional<z.ZodBoolean>;
|
|
145
|
-
password: z.ZodOptional<z.ZodString>;
|
|
146
|
-
};
|
|
147
|
-
readonly handler: typeof adminUpdate;
|
|
148
|
-
}, {
|
|
149
|
-
readonly name: "ol_admin_change_password";
|
|
150
|
-
readonly title: "Change Admin Password";
|
|
151
|
-
readonly description: "Change the currently logged-in admin's password. Requires current password for verification. Returns void on success.";
|
|
152
|
-
readonly readOnly: false;
|
|
153
|
-
readonly inputSchema: {
|
|
154
|
-
currentPassword: z.ZodString;
|
|
155
|
-
newPassword: z.ZodString;
|
|
156
|
-
};
|
|
157
|
-
readonly handler: typeof adminChangePassword;
|
|
158
|
-
}, {
|
|
159
|
-
readonly name: "ol_admin_get_permissions";
|
|
160
|
-
readonly title: "Get Admin Permissions";
|
|
161
|
-
readonly description: "Get the current admin user's permissions. Returns superAdmin flag, list of roles, and list of permission strings. Use to check what actions are available.";
|
|
162
|
-
readonly readOnly: true;
|
|
163
|
-
readonly inputSchema: {};
|
|
164
|
-
readonly handler: typeof adminGetPermissions;
|
|
165
|
-
}];
|
package/dist/tools/admin.js
DELETED
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { apiGet, apiPost, apiPut } from "../client/http.js";
|
|
3
|
-
import { formatApiError } from "../utils/errors.js";
|
|
4
|
-
// Input Schemas
|
|
5
|
-
export const AdminListInputSchema = {
|
|
6
|
-
page: z.number().optional().describe("Page number (default: 1)."),
|
|
7
|
-
perPage: z.number().optional().describe("Items per page (default: 25)."),
|
|
8
|
-
email: z.string().optional().describe("Filter by email address."),
|
|
9
|
-
isActive: z.boolean().optional().describe("Filter by active status."),
|
|
10
|
-
firstName: z.string().optional().describe("Filter by first name."),
|
|
11
|
-
lastName: z.string().optional().describe("Filter by last name."),
|
|
12
|
-
role: z.string().optional().describe("Filter by role."),
|
|
13
|
-
};
|
|
14
|
-
export const AdminCreateInputSchema = {
|
|
15
|
-
email: z.string().describe("Admin email address (required)."),
|
|
16
|
-
password: z.string().describe("Admin password (required)."),
|
|
17
|
-
firstName: z.string().optional().describe("Admin first name."),
|
|
18
|
-
lastName: z.string().optional().describe("Admin last name."),
|
|
19
|
-
phone: z.string().optional().describe("Admin phone number."),
|
|
20
|
-
roles: z.array(z.union([z.string(), z.number()])).optional().describe("Role IDs to assign."),
|
|
21
|
-
isActive: z.boolean().optional().describe("Whether account is active (default: true)."),
|
|
22
|
-
external: z.boolean().optional().describe("Whether admin is external."),
|
|
23
|
-
notificationsEnabled: z.boolean().optional().describe("Whether notifications are enabled."),
|
|
24
|
-
};
|
|
25
|
-
export const AdminGetInputSchema = {
|
|
26
|
-
adminId: z.string().describe("The admin ID (UUID) to retrieve."),
|
|
27
|
-
};
|
|
28
|
-
export const AdminUpdateInputSchema = {
|
|
29
|
-
adminId: z.string().describe("The admin ID (UUID) to update."),
|
|
30
|
-
email: z.string().optional().describe("Admin email address."),
|
|
31
|
-
firstName: z.string().optional().describe("Admin first name."),
|
|
32
|
-
lastName: z.string().optional().describe("Admin last name."),
|
|
33
|
-
phone: z.string().optional().describe("Admin phone number."),
|
|
34
|
-
roles: z.array(z.union([z.string(), z.number()])).optional().describe("Role IDs to assign."),
|
|
35
|
-
isActive: z.boolean().optional().describe("Whether account is active."),
|
|
36
|
-
external: z.boolean().optional().describe("Whether admin is external."),
|
|
37
|
-
notificationsEnabled: z.boolean().optional().describe("Whether notifications are enabled."),
|
|
38
|
-
password: z.string().optional().describe("New password (if changing)."),
|
|
39
|
-
};
|
|
40
|
-
export const AdminChangePasswordInputSchema = {
|
|
41
|
-
currentPassword: z.string().describe("Current password."),
|
|
42
|
-
newPassword: z.string().describe("New password."),
|
|
43
|
-
};
|
|
44
|
-
// Handler functions
|
|
45
|
-
export async function adminList(input) {
|
|
46
|
-
const params = new URLSearchParams();
|
|
47
|
-
if (input.page)
|
|
48
|
-
params.append("_page", String(input.page));
|
|
49
|
-
if (input.perPage)
|
|
50
|
-
params.append("_itemsOnPage", String(input.perPage));
|
|
51
|
-
if (input.email)
|
|
52
|
-
params.append("email", input.email);
|
|
53
|
-
if (input.isActive !== undefined)
|
|
54
|
-
params.append("isActive", String(input.isActive));
|
|
55
|
-
if (input.firstName)
|
|
56
|
-
params.append("firstName", input.firstName);
|
|
57
|
-
if (input.lastName)
|
|
58
|
-
params.append("lastName", input.lastName);
|
|
59
|
-
if (input.role)
|
|
60
|
-
params.append("role", input.role);
|
|
61
|
-
const queryString = params.toString();
|
|
62
|
-
const url = `/admin${queryString ? `?${queryString}` : ""}`;
|
|
63
|
-
try {
|
|
64
|
-
const response = await apiGet(url);
|
|
65
|
-
return response;
|
|
66
|
-
}
|
|
67
|
-
catch (error) {
|
|
68
|
-
throw formatApiError(error, "ol_admin_list");
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export async function adminCreate(input) {
|
|
72
|
-
const payload = {
|
|
73
|
-
email: input.email,
|
|
74
|
-
plainPassword: input.password,
|
|
75
|
-
};
|
|
76
|
-
if (input.firstName)
|
|
77
|
-
payload.firstName = input.firstName;
|
|
78
|
-
if (input.lastName)
|
|
79
|
-
payload.lastName = input.lastName;
|
|
80
|
-
if (input.phone)
|
|
81
|
-
payload.phone = input.phone;
|
|
82
|
-
if (input.roles)
|
|
83
|
-
payload.roles = input.roles;
|
|
84
|
-
if (input.isActive !== undefined)
|
|
85
|
-
payload.isActive = input.isActive;
|
|
86
|
-
if (input.external !== undefined)
|
|
87
|
-
payload.external = input.external;
|
|
88
|
-
if (input.notificationsEnabled !== undefined)
|
|
89
|
-
payload.notificationsEnabled = input.notificationsEnabled;
|
|
90
|
-
try {
|
|
91
|
-
const response = await apiPost("/admin/data", { admin: payload });
|
|
92
|
-
return response;
|
|
93
|
-
}
|
|
94
|
-
catch (error) {
|
|
95
|
-
throw formatApiError(error, "ol_admin_create");
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
export async function adminGet(input) {
|
|
99
|
-
try {
|
|
100
|
-
const response = await apiGet(`/admin/data/${input.adminId}`);
|
|
101
|
-
return response;
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
throw formatApiError(error, "ol_admin_get");
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
export async function adminUpdate(input) {
|
|
108
|
-
const payload = {};
|
|
109
|
-
if (input.email)
|
|
110
|
-
payload.email = input.email;
|
|
111
|
-
if (input.firstName)
|
|
112
|
-
payload.firstName = input.firstName;
|
|
113
|
-
if (input.lastName)
|
|
114
|
-
payload.lastName = input.lastName;
|
|
115
|
-
if (input.phone)
|
|
116
|
-
payload.phone = input.phone;
|
|
117
|
-
if (input.roles)
|
|
118
|
-
payload.roles = input.roles;
|
|
119
|
-
if (input.isActive !== undefined)
|
|
120
|
-
payload.isActive = input.isActive;
|
|
121
|
-
if (input.external !== undefined)
|
|
122
|
-
payload.external = input.external;
|
|
123
|
-
if (input.notificationsEnabled !== undefined)
|
|
124
|
-
payload.notificationsEnabled = input.notificationsEnabled;
|
|
125
|
-
if (input.password)
|
|
126
|
-
payload.plainPassword = input.password;
|
|
127
|
-
try {
|
|
128
|
-
const response = await apiPut(`/admin/data/${input.adminId}`, { admin: payload });
|
|
129
|
-
return response;
|
|
130
|
-
}
|
|
131
|
-
catch (error) {
|
|
132
|
-
throw formatApiError(error, "ol_admin_update");
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
export async function adminChangePassword(input) {
|
|
136
|
-
try {
|
|
137
|
-
await apiPut("/admin/password", {
|
|
138
|
-
currentPassword: input.currentPassword,
|
|
139
|
-
plainPassword: input.newPassword,
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
catch (error) {
|
|
143
|
-
throw formatApiError(error, "ol_admin_change_password");
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
export async function adminGetPermissions() {
|
|
147
|
-
try {
|
|
148
|
-
const response = await apiGet("/admin/permissions");
|
|
149
|
-
return response;
|
|
150
|
-
}
|
|
151
|
-
catch (error) {
|
|
152
|
-
throw formatApiError(error, "ol_admin_get_permissions");
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
// Tool definitions
|
|
156
|
-
export const adminToolDefinitions = [
|
|
157
|
-
{
|
|
158
|
-
name: "ol_admin_list",
|
|
159
|
-
title: "List Admin Users",
|
|
160
|
-
description: "List admin users with optional filtering. Returns paginated list of admin users with id, email, firstName, lastName, isActive, createdAt.",
|
|
161
|
-
readOnly: true,
|
|
162
|
-
inputSchema: AdminListInputSchema,
|
|
163
|
-
handler: adminList,
|
|
164
|
-
},
|
|
165
|
-
{
|
|
166
|
-
name: "ol_admin_create",
|
|
167
|
-
title: "Create Admin User",
|
|
168
|
-
description: "Create a new admin user. Requires email and password. Optionally assign roles, set active status, and configure notifications. Returns adminId.",
|
|
169
|
-
readOnly: false,
|
|
170
|
-
inputSchema: AdminCreateInputSchema,
|
|
171
|
-
handler: adminCreate,
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
name: "ol_admin_get",
|
|
175
|
-
title: "Get Admin User Details",
|
|
176
|
-
description: "Get full admin user details by ID. Returns profile including email, name, roles, settings, active status, and creation date.",
|
|
177
|
-
readOnly: true,
|
|
178
|
-
inputSchema: AdminGetInputSchema,
|
|
179
|
-
handler: adminGet,
|
|
180
|
-
},
|
|
181
|
-
{
|
|
182
|
-
name: "ol_admin_update",
|
|
183
|
-
title: "Update Admin User",
|
|
184
|
-
description: "Update admin user profile. Can update email, name, phone, roles, active status, and password. Returns adminId on success.",
|
|
185
|
-
readOnly: false,
|
|
186
|
-
inputSchema: AdminUpdateInputSchema,
|
|
187
|
-
handler: adminUpdate,
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
name: "ol_admin_change_password",
|
|
191
|
-
title: "Change Admin Password",
|
|
192
|
-
description: "Change the currently logged-in admin's password. Requires current password for verification. Returns void on success.",
|
|
193
|
-
readOnly: false,
|
|
194
|
-
inputSchema: AdminChangePasswordInputSchema,
|
|
195
|
-
handler: adminChangePassword,
|
|
196
|
-
},
|
|
197
|
-
{
|
|
198
|
-
name: "ol_admin_get_permissions",
|
|
199
|
-
title: "Get Admin Permissions",
|
|
200
|
-
description: "Get the current admin user's permissions. Returns superAdmin flag, list of roles, and list of permission strings. Use to check what actions are available.",
|
|
201
|
-
readOnly: true,
|
|
202
|
-
inputSchema: {},
|
|
203
|
-
handler: adminGetPermissions,
|
|
204
|
-
},
|
|
205
|
-
];
|
|
@@ -1,180 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { TierAnalytics, MemberAnalytics, PointsAnalytics, TransactionAnalytics, ReferralAnalytics, CampaignAnalytics, DashboardOverview, UnitsOverview } from "../types/schemas/analytics.js";
|
|
3
|
-
export declare const AnalyticsTiersInputSchema: {
|
|
4
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
5
|
-
};
|
|
6
|
-
export declare const AnalyticsMembersInputSchema: {
|
|
7
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
8
|
-
withTransaction: z.ZodOptional<z.ZodBoolean>;
|
|
9
|
-
};
|
|
10
|
-
export declare const AnalyticsPointsInputSchema: {
|
|
11
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
12
|
-
};
|
|
13
|
-
export declare const AnalyticsTransactionsInputSchema: {
|
|
14
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
15
|
-
};
|
|
16
|
-
export declare const AnalyticsReferralsInputSchema: {
|
|
17
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
18
|
-
};
|
|
19
|
-
export declare const AnalyticsCampaignsInputSchema: {
|
|
20
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
21
|
-
page: z.ZodOptional<z.ZodNumber>;
|
|
22
|
-
perPage: z.ZodOptional<z.ZodNumber>;
|
|
23
|
-
executedAt: z.ZodOptional<z.ZodString>;
|
|
24
|
-
};
|
|
25
|
-
export declare const AnalyticsDashboardInputSchema: {
|
|
26
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
27
|
-
dataType: z.ZodEnum<["registeredMembers", "activeMembers", "revenue", "avgSpending", "transactions", "avgTransactionValue", "avgNumberOfTransactions"]>;
|
|
28
|
-
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
29
|
-
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
30
|
-
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
31
|
-
};
|
|
32
|
-
export declare const AnalyticsUnitsInputSchema: {
|
|
33
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
34
|
-
walletTypeCode: z.ZodString;
|
|
35
|
-
dataType: z.ZodOptional<z.ZodEnum<["unitsIssued", "unitsSpent", "unitsExpired", "unitsPending", "unitsActive"]>>;
|
|
36
|
-
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
37
|
-
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
38
|
-
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
39
|
-
};
|
|
40
|
-
export declare const AnalyticsCampaignDetailInputSchema: {
|
|
41
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
42
|
-
campaignId: z.ZodString;
|
|
43
|
-
};
|
|
44
|
-
export declare function analyticsTiers(input: {
|
|
45
|
-
storeCode?: string;
|
|
46
|
-
}): Promise<TierAnalytics>;
|
|
47
|
-
export declare function analyticsMembers(input: {
|
|
48
|
-
storeCode?: string;
|
|
49
|
-
withTransaction?: boolean;
|
|
50
|
-
}): Promise<MemberAnalytics>;
|
|
51
|
-
export declare function analyticsPoints(input: {
|
|
52
|
-
storeCode?: string;
|
|
53
|
-
}): Promise<PointsAnalytics>;
|
|
54
|
-
export declare function analyticsTransactions(input: {
|
|
55
|
-
storeCode?: string;
|
|
56
|
-
}): Promise<TransactionAnalytics>;
|
|
57
|
-
export declare function analyticsReferrals(input: {
|
|
58
|
-
storeCode?: string;
|
|
59
|
-
}): Promise<ReferralAnalytics>;
|
|
60
|
-
export declare function analyticsCampaigns(input: {
|
|
61
|
-
storeCode?: string;
|
|
62
|
-
page?: number;
|
|
63
|
-
perPage?: number;
|
|
64
|
-
executedAt?: string;
|
|
65
|
-
}): Promise<CampaignAnalytics>;
|
|
66
|
-
export declare function analyticsDashboard(input: {
|
|
67
|
-
storeCode?: string;
|
|
68
|
-
dataType?: string;
|
|
69
|
-
aggregationType?: string;
|
|
70
|
-
intervalStartDate?: string;
|
|
71
|
-
intervalEndDate?: string;
|
|
72
|
-
}): Promise<DashboardOverview>;
|
|
73
|
-
export declare function analyticsUnits(input: {
|
|
74
|
-
storeCode?: string;
|
|
75
|
-
walletTypeCode: string;
|
|
76
|
-
dataType?: string;
|
|
77
|
-
aggregationType?: string;
|
|
78
|
-
intervalStartDate?: string;
|
|
79
|
-
intervalEndDate?: string;
|
|
80
|
-
}): Promise<UnitsOverview>;
|
|
81
|
-
export declare function analyticsCampaignDetail(input: {
|
|
82
|
-
storeCode?: string;
|
|
83
|
-
campaignId: string;
|
|
84
|
-
}): Promise<Record<string, unknown>>;
|
|
85
|
-
export declare const analyticsToolDefinitions: readonly [{
|
|
86
|
-
readonly name: "ol_analytics_tiers";
|
|
87
|
-
readonly title: "Get Tier Analytics";
|
|
88
|
-
readonly description: "Get tier (level) analytics showing member distribution across tiers. Returns tier IDs, names, and member counts for each tier level.";
|
|
89
|
-
readonly readOnly: true;
|
|
90
|
-
readonly inputSchema: {
|
|
91
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
92
|
-
};
|
|
93
|
-
readonly handler: typeof analyticsTiers;
|
|
94
|
-
}, {
|
|
95
|
-
readonly name: "ol_analytics_members";
|
|
96
|
-
readonly title: "Get Member Analytics";
|
|
97
|
-
readonly description: "Get member analytics showing registration trends. Returns member counts by time intervals (1 day, 7 days, 30 days, 365 days). Filter by transaction status to see engaged vs unengaged members.";
|
|
98
|
-
readonly readOnly: true;
|
|
99
|
-
readonly inputSchema: {
|
|
100
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
101
|
-
withTransaction: z.ZodOptional<z.ZodBoolean>;
|
|
102
|
-
};
|
|
103
|
-
readonly handler: typeof analyticsMembers;
|
|
104
|
-
}, {
|
|
105
|
-
readonly name: "ol_analytics_points";
|
|
106
|
-
readonly title: "Get Points Analytics";
|
|
107
|
-
readonly description: "Get points analytics showing program health. Returns total active points, points spent, points issued, expired points, and pending points. Use to monitor points economy.";
|
|
108
|
-
readonly readOnly: true;
|
|
109
|
-
readonly inputSchema: {
|
|
110
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
111
|
-
};
|
|
112
|
-
readonly handler: typeof analyticsPoints;
|
|
113
|
-
}, {
|
|
114
|
-
readonly name: "ol_analytics_transactions";
|
|
115
|
-
readonly title: "Get Transaction Analytics";
|
|
116
|
-
readonly description: "Get transaction analytics showing purchase trends. Returns transaction counts by intervals, total count, total amount, and average values. Use to monitor sales performance.";
|
|
117
|
-
readonly readOnly: true;
|
|
118
|
-
readonly inputSchema: {
|
|
119
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
120
|
-
};
|
|
121
|
-
readonly handler: typeof analyticsTransactions;
|
|
122
|
-
}, {
|
|
123
|
-
readonly name: "ol_analytics_referrals";
|
|
124
|
-
readonly title: "Get Referral Analytics";
|
|
125
|
-
readonly description: "Get referral program analytics showing referral activity. Returns total referral count. Use to monitor referral program performance.";
|
|
126
|
-
readonly readOnly: true;
|
|
127
|
-
readonly inputSchema: {
|
|
128
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
129
|
-
};
|
|
130
|
-
readonly handler: typeof analyticsReferrals;
|
|
131
|
-
}, {
|
|
132
|
-
readonly name: "ol_analytics_campaigns";
|
|
133
|
-
readonly title: "Get Campaign Analytics";
|
|
134
|
-
readonly description: "Get campaign analytics showing execution counts per campaign. Returns list of campaigns with their execution counts. Use to identify most successful campaigns.";
|
|
135
|
-
readonly readOnly: true;
|
|
136
|
-
readonly inputSchema: {
|
|
137
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
138
|
-
page: z.ZodOptional<z.ZodNumber>;
|
|
139
|
-
perPage: z.ZodOptional<z.ZodNumber>;
|
|
140
|
-
executedAt: z.ZodOptional<z.ZodString>;
|
|
141
|
-
};
|
|
142
|
-
readonly handler: typeof analyticsCampaigns;
|
|
143
|
-
}, {
|
|
144
|
-
readonly name: "ol_analytics_dashboard";
|
|
145
|
-
readonly title: "Get Dashboard Overview";
|
|
146
|
-
readonly description: "Get dashboard overview metrics with time-series data. Returns key metrics (registered members, active members, revenue, avg spending, transactions) with optional date range and aggregation. Use for high-level program dashboards.";
|
|
147
|
-
readonly readOnly: true;
|
|
148
|
-
readonly inputSchema: {
|
|
149
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
150
|
-
dataType: z.ZodEnum<["registeredMembers", "activeMembers", "revenue", "avgSpending", "transactions", "avgTransactionValue", "avgNumberOfTransactions"]>;
|
|
151
|
-
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
152
|
-
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
153
|
-
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
154
|
-
};
|
|
155
|
-
readonly handler: typeof analyticsDashboard;
|
|
156
|
-
}, {
|
|
157
|
-
readonly name: "ol_analytics_units";
|
|
158
|
-
readonly title: "Get Units Overview";
|
|
159
|
-
readonly description: "Get wallet-specific analytics (units overview). Returns units issued, spent, expired, pending, active, plus redemption and breakage rates. Requires walletTypeCode parameter. Use for detailed points economy analysis.";
|
|
160
|
-
readonly readOnly: true;
|
|
161
|
-
readonly inputSchema: {
|
|
162
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
163
|
-
walletTypeCode: z.ZodString;
|
|
164
|
-
dataType: z.ZodOptional<z.ZodEnum<["unitsIssued", "unitsSpent", "unitsExpired", "unitsPending", "unitsActive"]>>;
|
|
165
|
-
aggregationType: z.ZodOptional<z.ZodEnum<["day", "week", "month"]>>;
|
|
166
|
-
intervalStartDate: z.ZodOptional<z.ZodString>;
|
|
167
|
-
intervalEndDate: z.ZodOptional<z.ZodString>;
|
|
168
|
-
};
|
|
169
|
-
readonly handler: typeof analyticsUnits;
|
|
170
|
-
}, {
|
|
171
|
-
readonly name: "ol_analytics_campaign_detail";
|
|
172
|
-
readonly title: "Get Campaign Detail Analytics";
|
|
173
|
-
readonly description: "Get detailed analytics for a specific campaign. Returns campaign-specific performance metrics. Use after analytics_campaigns to drill into individual campaign performance.";
|
|
174
|
-
readonly readOnly: true;
|
|
175
|
-
readonly inputSchema: {
|
|
176
|
-
storeCode: z.ZodOptional<z.ZodString>;
|
|
177
|
-
campaignId: z.ZodString;
|
|
178
|
-
};
|
|
179
|
-
readonly handler: typeof analyticsCampaignDetail;
|
|
180
|
-
}];
|