@rahul_vendure/ai-chat-plugin 0.1.2 → 0.1.4
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/README.md +11 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/services/admin-ai-chat.service.d.ts +8 -0
- package/dist/services/admin-ai-chat.service.d.ts.map +1 -1
- package/dist/services/admin-ai-chat.service.js +129 -0
- package/dist/services/admin-ai-chat.service.js.map +1 -1
- package/dist/services/admin-system-prompt.d.ts +1 -1
- package/dist/services/admin-system-prompt.d.ts.map +1 -1
- package/dist/services/admin-system-prompt.js +27 -3
- package/dist/services/admin-system-prompt.js.map +1 -1
- package/dist/services/admin-tools/admin-country-tools.d.ts +16 -0
- package/dist/services/admin-tools/admin-country-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-country-tools.js +51 -0
- package/dist/services/admin-tools/admin-country-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-facet-tools.d.ts +20 -0
- package/dist/services/admin-tools/admin-facet-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-facet-tools.js +100 -0
- package/dist/services/admin-tools/admin-facet-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-payment-tools.d.ts +15 -0
- package/dist/services/admin-tools/admin-payment-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-payment-tools.js +53 -0
- package/dist/services/admin-tools/admin-payment-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-promotion-tools.d.ts +16 -0
- package/dist/services/admin-tools/admin-promotion-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-promotion-tools.js +66 -0
- package/dist/services/admin-tools/admin-promotion-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-settings-tools.d.ts +20 -0
- package/dist/services/admin-tools/admin-settings-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-settings-tools.js +114 -0
- package/dist/services/admin-tools/admin-settings-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-shipping-tools.d.ts +16 -0
- package/dist/services/admin-tools/admin-shipping-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-shipping-tools.js +55 -0
- package/dist/services/admin-tools/admin-shipping-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-staff-tools.d.ts +19 -0
- package/dist/services/admin-tools/admin-staff-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-staff-tools.js +88 -0
- package/dist/services/admin-tools/admin-staff-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-tax-tools.d.ts +23 -0
- package/dist/services/admin-tools/admin-tax-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-tax-tools.js +116 -0
- package/dist/services/admin-tools/admin-tax-tools.js.map +1 -0
- package/dist/services/ai-chat.service.d.ts +3 -2
- package/dist/services/ai-chat.service.d.ts.map +1 -1
- package/dist/services/ai-chat.service.js +37 -1
- package/dist/services/ai-chat.service.js.map +1 -1
- package/dist/services/system-prompt.d.ts +1 -1
- package/dist/services/system-prompt.d.ts.map +1 -1
- package/dist/services/system-prompt.js +18 -0
- package/dist/services/system-prompt.js.map +1 -1
- package/dist/services/tools/promotion-tools.d.ts +48 -0
- package/dist/services/tools/promotion-tools.d.ts.map +1 -0
- package/dist/services/tools/promotion-tools.js +410 -0
- package/dist/services/tools/promotion-tools.js.map +1 -0
- package/dist/services/types.d.ts +21 -0
- package/dist/services/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromotionTools = void 0;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const core_1 = require("@vendure/core");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
class PromotionTools {
|
|
8
|
+
constructor(connection, orderService) {
|
|
9
|
+
this.connection = connection;
|
|
10
|
+
this.orderService = orderService;
|
|
11
|
+
this.logger = new common_1.Logger(PromotionTools.name);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Get all currently active promotions available to the customer.
|
|
15
|
+
* Shows coupon-based and automatic promotions with their conditions and discounts.
|
|
16
|
+
*/
|
|
17
|
+
async getAvailablePromotions(ctx) {
|
|
18
|
+
var _a, _b, _c, _d;
|
|
19
|
+
try {
|
|
20
|
+
// Query active promotions that haven't expired.
|
|
21
|
+
// Conditions and actions are stored as simple-json columns directly on the promotion table.
|
|
22
|
+
// Use NOW() directly in SQL so PostgreSQL handles timezone comparison natively
|
|
23
|
+
// instead of passing a JS-generated ISO string which can cause timezone mismatches.
|
|
24
|
+
const result = await this.connection.rawConnection.query(`SELECT p.id, p."couponCode", p."perCustomerUsageLimit", p."usageLimit",
|
|
25
|
+
p."startsAt", p."endsAt", p.enabled,
|
|
26
|
+
p.conditions, p.actions,
|
|
27
|
+
t.name, t.description
|
|
28
|
+
FROM promotion p
|
|
29
|
+
JOIN promotion_translation t ON t."baseId" = p.id
|
|
30
|
+
WHERE p.enabled = true
|
|
31
|
+
AND p."deletedAt" IS NULL
|
|
32
|
+
AND (p."startsAt" IS NULL OR p."startsAt" <= NOW())
|
|
33
|
+
AND (p."endsAt" IS NULL OR p."endsAt" >= NOW())
|
|
34
|
+
ORDER BY p.id ASC`);
|
|
35
|
+
this.logger.log(`getAvailablePromotions: query returned ${result.length} rows`);
|
|
36
|
+
const promotions = [];
|
|
37
|
+
for (const row of result) {
|
|
38
|
+
const promo = {
|
|
39
|
+
id: String(row.id),
|
|
40
|
+
name: String((_a = row.name) !== null && _a !== void 0 ? _a : ''),
|
|
41
|
+
description: String((_b = row.description) !== null && _b !== void 0 ? _b : ''),
|
|
42
|
+
couponCode: row.couponCode ? String(row.couponCode) : undefined,
|
|
43
|
+
startsAt: row.startsAt ? new Date(row.startsAt).toISOString() : undefined,
|
|
44
|
+
endsAt: row.endsAt ? new Date(row.endsAt).toISOString() : undefined,
|
|
45
|
+
perCustomerUsageLimit: row.perCustomerUsageLimit ? Number(row.perCustomerUsageLimit) : undefined,
|
|
46
|
+
};
|
|
47
|
+
// Parse conditions from the simple-json column
|
|
48
|
+
const conditions = this.parseJsonColumn(row.conditions);
|
|
49
|
+
const conditionDetails = [];
|
|
50
|
+
for (const c of conditions) {
|
|
51
|
+
const parsed = this.parseCondition((_c = c.code) !== null && _c !== void 0 ? _c : c.type, c.args);
|
|
52
|
+
if (parsed)
|
|
53
|
+
conditionDetails.push(parsed);
|
|
54
|
+
}
|
|
55
|
+
if (conditionDetails.length > 0) {
|
|
56
|
+
promo.conditions = conditionDetails;
|
|
57
|
+
}
|
|
58
|
+
// Parse actions from the simple-json column
|
|
59
|
+
const actions = this.parseJsonColumn(row.actions);
|
|
60
|
+
const actionDetails = [];
|
|
61
|
+
for (const a of actions) {
|
|
62
|
+
const parsed = this.parseAction((_d = a.code) !== null && _d !== void 0 ? _d : a.type, a.args);
|
|
63
|
+
if (parsed)
|
|
64
|
+
actionDetails.push(parsed);
|
|
65
|
+
}
|
|
66
|
+
if (actionDetails.length > 0) {
|
|
67
|
+
promo.discountSummary = actionDetails.join('; ');
|
|
68
|
+
}
|
|
69
|
+
promotions.push(promo);
|
|
70
|
+
}
|
|
71
|
+
const couponPromos = promotions.filter(p => p.couponCode);
|
|
72
|
+
const autoPromos = promotions.filter(p => !p.couponCode);
|
|
73
|
+
let summary = '';
|
|
74
|
+
if (promotions.length === 0) {
|
|
75
|
+
summary = 'No active promotions available at this time.';
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
const parts = [];
|
|
79
|
+
if (autoPromos.length > 0) {
|
|
80
|
+
parts.push(`Automatic promotions (applied automatically): ${autoPromos.map(p => { var _a; return `"${p.name}"${p.discountSummary ? ' — ' + p.discountSummary : ''}${((_a = p.conditions) === null || _a === void 0 ? void 0 : _a.length) ? ' (requires: ' + p.conditions.join(', ') + ')' : ''}`; }).join('; ')}`);
|
|
81
|
+
}
|
|
82
|
+
if (couponPromos.length > 0) {
|
|
83
|
+
parts.push(`Coupon promotions (need a coupon code): ${couponPromos.map(p => { var _a; return `"${p.name}" — code: "${p.couponCode}"${p.discountSummary ? ', discount: ' + p.discountSummary : ''}${((_a = p.conditions) === null || _a === void 0 ? void 0 : _a.length) ? ' (requires: ' + p.conditions.join(', ') + ')' : ''}${p.endsAt ? ', expires: ' + new Date(p.endsAt).toLocaleDateString() : ''}`; }).join('; ')}`);
|
|
84
|
+
}
|
|
85
|
+
summary = parts.join('. ');
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
products: [],
|
|
89
|
+
collections: [],
|
|
90
|
+
promotions,
|
|
91
|
+
summary,
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
this.logger.error(`Error fetching promotions: ${e}`);
|
|
96
|
+
return { products: [], collections: [], summary: 'Error fetching available promotions.' };
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Apply a coupon code to the customer's active order.
|
|
101
|
+
*/
|
|
102
|
+
async applyCouponCode(ctx, params) {
|
|
103
|
+
var _a, _b, _c, _d, _e;
|
|
104
|
+
if (!ctx.activeUserId) {
|
|
105
|
+
return { products: [], collections: [], summary: 'Error: You must be logged in to apply a coupon code.' };
|
|
106
|
+
}
|
|
107
|
+
const couponCode = (_a = params.couponCode) === null || _a === void 0 ? void 0 : _a.trim();
|
|
108
|
+
if (!couponCode) {
|
|
109
|
+
return { products: [], collections: [], summary: 'Error: No coupon code provided.' };
|
|
110
|
+
}
|
|
111
|
+
try {
|
|
112
|
+
const order = await this.orderService.getActiveOrderForUser(ctx, ctx.activeUserId);
|
|
113
|
+
if (!order) {
|
|
114
|
+
return { products: [], collections: [], summary: 'Error: No active order found. Add items to your cart first.' };
|
|
115
|
+
}
|
|
116
|
+
const result = await this.orderService.applyCouponCode(ctx, order.id, couponCode);
|
|
117
|
+
if ((0, core_1.isGraphQlErrorResult)(result)) {
|
|
118
|
+
const errorMsg = (_c = (_b = result.message) !== null && _b !== void 0 ? _b : result.errorCode) !== null && _c !== void 0 ? _c : 'Unknown error';
|
|
119
|
+
this.logger.warn(`applyCouponCode error: ${errorMsg}`);
|
|
120
|
+
// Provide a user-friendly message
|
|
121
|
+
if (errorMsg.includes('COUPON_CODE_INVALID') || errorMsg.toLowerCase().includes('invalid')) {
|
|
122
|
+
return { products: [], collections: [], summary: `The coupon code "${couponCode}" is not valid. Please check the code and try again.` };
|
|
123
|
+
}
|
|
124
|
+
if (errorMsg.includes('COUPON_CODE_EXPIRED') || errorMsg.toLowerCase().includes('expired')) {
|
|
125
|
+
return { products: [], collections: [], summary: `The coupon code "${couponCode}" has expired.` };
|
|
126
|
+
}
|
|
127
|
+
if (errorMsg.includes('COUPON_CODE_LIMIT_ERROR') || errorMsg.toLowerCase().includes('limit')) {
|
|
128
|
+
return { products: [], collections: [], summary: `The coupon code "${couponCode}" has reached its usage limit.` };
|
|
129
|
+
}
|
|
130
|
+
return { products: [], collections: [], summary: `Error applying coupon code: ${errorMsg}` };
|
|
131
|
+
}
|
|
132
|
+
// Get the updated order to show the new total
|
|
133
|
+
const updatedOrder = result;
|
|
134
|
+
const totalBefore = (_d = order.totalWithTax) !== null && _d !== void 0 ? _d : 0;
|
|
135
|
+
const totalAfter = (_e = updatedOrder.totalWithTax) !== null && _e !== void 0 ? _e : 0;
|
|
136
|
+
const discount = totalBefore - totalAfter;
|
|
137
|
+
let summaryText = `Coupon code "${couponCode}" applied successfully!`;
|
|
138
|
+
if (discount > 0) {
|
|
139
|
+
summaryText += ` You saved ${(0, constants_1.formatPrice)(discount)}. New order total: ${(0, constants_1.formatPrice)(totalAfter)}.`;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
summaryText += ` Order total: ${(0, constants_1.formatPrice)(totalAfter)}.`;
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
products: [],
|
|
146
|
+
collections: [],
|
|
147
|
+
summary: summaryText,
|
|
148
|
+
applyCouponAction: { couponCode, applied: true },
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
catch (e) {
|
|
152
|
+
this.logger.error(`Error applying coupon code: ${e}`);
|
|
153
|
+
return { products: [], collections: [], summary: 'Error applying coupon code. Please try again.' };
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Remove a coupon code from the customer's active order.
|
|
158
|
+
*/
|
|
159
|
+
async removeCouponCode(ctx, params) {
|
|
160
|
+
var _a, _b;
|
|
161
|
+
if (!ctx.activeUserId) {
|
|
162
|
+
return { products: [], collections: [], summary: 'Error: You must be logged in to remove a coupon code.' };
|
|
163
|
+
}
|
|
164
|
+
const couponCode = (_a = params.couponCode) === null || _a === void 0 ? void 0 : _a.trim();
|
|
165
|
+
if (!couponCode) {
|
|
166
|
+
return { products: [], collections: [], summary: 'Error: No coupon code provided.' };
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const order = await this.orderService.getActiveOrderForUser(ctx, ctx.activeUserId);
|
|
170
|
+
if (!order) {
|
|
171
|
+
return { products: [], collections: [], summary: 'Error: No active order found.' };
|
|
172
|
+
}
|
|
173
|
+
const result = await this.orderService.removeCouponCode(ctx, order.id, couponCode);
|
|
174
|
+
// removeCouponCode returns the updated Order (not an error result)
|
|
175
|
+
if (!result) {
|
|
176
|
+
return { products: [], collections: [], summary: `Could not remove coupon code "${couponCode}". It may not be applied to your order.` };
|
|
177
|
+
}
|
|
178
|
+
const totalAfter = (_b = result.totalWithTax) !== null && _b !== void 0 ? _b : 0;
|
|
179
|
+
return {
|
|
180
|
+
products: [],
|
|
181
|
+
collections: [],
|
|
182
|
+
summary: `Coupon code "${couponCode}" removed. Updated order total: ${(0, constants_1.formatPrice)(totalAfter)}.`,
|
|
183
|
+
applyCouponAction: { couponCode, applied: false },
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
catch (e) {
|
|
187
|
+
this.logger.error(`Error removing coupon code: ${e}`);
|
|
188
|
+
return { products: [], collections: [], summary: 'Error removing coupon code. Please try again.' };
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Get the current discounts/promotions applied to the active order,
|
|
193
|
+
* including how much more the customer needs to spend to qualify for other promotions.
|
|
194
|
+
*/
|
|
195
|
+
async getCartDiscounts(ctx) {
|
|
196
|
+
var _a, _b, _c;
|
|
197
|
+
if (!ctx.activeUserId) {
|
|
198
|
+
return { products: [], collections: [], summary: 'Error: You must be logged in to view cart discounts.' };
|
|
199
|
+
}
|
|
200
|
+
try {
|
|
201
|
+
const order = await this.orderService.getActiveOrderForUser(ctx, ctx.activeUserId);
|
|
202
|
+
if (!order) {
|
|
203
|
+
return { products: [], collections: [], summary: 'No active order found. Add items to your cart first.' };
|
|
204
|
+
}
|
|
205
|
+
// Load full order with discounts
|
|
206
|
+
const fullOrder = await this.connection.rawConnection.query(`SELECT o.id, o.code, o."subTotalWithTax", o."totalWithTax",
|
|
207
|
+
o."couponCodes"
|
|
208
|
+
FROM "order" o
|
|
209
|
+
WHERE o.id = $1`, [order.id]);
|
|
210
|
+
if (!fullOrder || fullOrder.length === 0) {
|
|
211
|
+
return { products: [], collections: [], summary: 'Could not load order details.' };
|
|
212
|
+
}
|
|
213
|
+
const orderData = fullOrder[0];
|
|
214
|
+
const subTotal = Number((_a = orderData.subTotalWithTax) !== null && _a !== void 0 ? _a : 0);
|
|
215
|
+
const total = Number((_b = orderData.totalWithTax) !== null && _b !== void 0 ? _b : 0);
|
|
216
|
+
const discount = subTotal - total;
|
|
217
|
+
const couponCodes = orderData.couponCodes
|
|
218
|
+
? (typeof orderData.couponCodes === 'string' ? JSON.parse(orderData.couponCodes) : orderData.couponCodes)
|
|
219
|
+
: [];
|
|
220
|
+
// Check which promotions customer could still qualify for
|
|
221
|
+
const allPromotions = await this.connection.rawConnection.query(`SELECT p.id, p."couponCode", p.conditions,
|
|
222
|
+
t.name, t.description
|
|
223
|
+
FROM promotion p
|
|
224
|
+
JOIN promotion_translation t ON t."baseId" = p.id
|
|
225
|
+
WHERE p.enabled = true
|
|
226
|
+
AND p."deletedAt" IS NULL
|
|
227
|
+
AND (p."startsAt" IS NULL OR p."startsAt" <= NOW())
|
|
228
|
+
AND (p."endsAt" IS NULL OR p."endsAt" >= NOW())`);
|
|
229
|
+
// Check for minimum order amount conditions
|
|
230
|
+
const nearbyPromotions = [];
|
|
231
|
+
for (const promo of allPromotions) {
|
|
232
|
+
const conditions = this.parseJsonColumn(promo.conditions);
|
|
233
|
+
for (const c of conditions) {
|
|
234
|
+
const code = (_c = c.code) !== null && _c !== void 0 ? _c : c.type;
|
|
235
|
+
if (code === 'minimum_order_amount' || code === 'minimumOrderAmount') {
|
|
236
|
+
const minAmount = this.extractAmountFromArgs(c.args);
|
|
237
|
+
if (minAmount && subTotal < minAmount) {
|
|
238
|
+
const remaining = minAmount - subTotal;
|
|
239
|
+
nearbyPromotions.push(`"${promo.name}" — spend ${(0, constants_1.formatPrice)(remaining)} more to qualify${promo.couponCode ? ` (use code: "${promo.couponCode}")` : ' (applied automatically)'}`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
// Build summary
|
|
245
|
+
const parts = [];
|
|
246
|
+
parts.push(`Cart subtotal: ${(0, constants_1.formatPrice)(subTotal)}, total: ${(0, constants_1.formatPrice)(total)}.`);
|
|
247
|
+
if (couponCodes.length > 0) {
|
|
248
|
+
parts.push(`Applied coupon codes: ${couponCodes.map((c) => `"${c}"`).join(', ')}.`);
|
|
249
|
+
}
|
|
250
|
+
if (discount > 0) {
|
|
251
|
+
parts.push(`Total discount: ${(0, constants_1.formatPrice)(discount)}.`);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
parts.push('No discounts currently applied.');
|
|
255
|
+
}
|
|
256
|
+
if (nearbyPromotions.length > 0) {
|
|
257
|
+
parts.push(`Promotions you're close to qualifying for: ${nearbyPromotions.join('; ')}`);
|
|
258
|
+
}
|
|
259
|
+
return {
|
|
260
|
+
products: [],
|
|
261
|
+
collections: [],
|
|
262
|
+
summary: parts.join(' '),
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
catch (e) {
|
|
266
|
+
this.logger.error(`Error fetching cart discounts: ${e}`);
|
|
267
|
+
return { products: [], collections: [], summary: 'Error fetching cart discount information.' };
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
// ── Helper methods ──
|
|
271
|
+
/**
|
|
272
|
+
* Parse a simple-json column value into an array.
|
|
273
|
+
* Vendure stores conditions/actions as JSON arrays in the promotion table.
|
|
274
|
+
* Each entry has { code, args } where args is an array of { name, value } pairs.
|
|
275
|
+
*/
|
|
276
|
+
parseJsonColumn(value) {
|
|
277
|
+
try {
|
|
278
|
+
if (!value)
|
|
279
|
+
return [];
|
|
280
|
+
if (Array.isArray(value))
|
|
281
|
+
return value;
|
|
282
|
+
if (typeof value === 'string') {
|
|
283
|
+
const parsed = JSON.parse(value);
|
|
284
|
+
return Array.isArray(parsed) ? parsed : [];
|
|
285
|
+
}
|
|
286
|
+
return [];
|
|
287
|
+
}
|
|
288
|
+
catch {
|
|
289
|
+
return [];
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
parseCondition(code, argsRaw) {
|
|
293
|
+
var _a;
|
|
294
|
+
if (!code)
|
|
295
|
+
return null;
|
|
296
|
+
try {
|
|
297
|
+
const args = this.normalizeArgs(argsRaw);
|
|
298
|
+
const argsMap = new Map(args.map((a) => [a.name, a.value]));
|
|
299
|
+
switch (code) {
|
|
300
|
+
case 'minimum_order_amount':
|
|
301
|
+
case 'minimumOrderAmount': {
|
|
302
|
+
const amount = this.extractAmountFromArgs(argsRaw);
|
|
303
|
+
return amount ? `Minimum order of ${(0, constants_1.formatPrice)(amount)}` : 'Minimum order amount required';
|
|
304
|
+
}
|
|
305
|
+
case 'at_least_n_with_facets':
|
|
306
|
+
case 'atLeastNWithFacets': {
|
|
307
|
+
const minimum = (_a = argsMap.get('minimum')) !== null && _a !== void 0 ? _a : argsMap.get('count');
|
|
308
|
+
return minimum ? `At least ${minimum} qualifying items` : 'Specific items required';
|
|
309
|
+
}
|
|
310
|
+
case 'buy_x_get_y_free':
|
|
311
|
+
case 'buyXGetYFree': {
|
|
312
|
+
const amountX = argsMap.get('amountX');
|
|
313
|
+
const amountY = argsMap.get('amountY');
|
|
314
|
+
return amountX && amountY ? `Buy ${amountX} get ${amountY} free` : 'Buy X get Y free';
|
|
315
|
+
}
|
|
316
|
+
case 'customer_group':
|
|
317
|
+
case 'customerGroup':
|
|
318
|
+
return 'Available to specific customer groups';
|
|
319
|
+
default:
|
|
320
|
+
return null;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
return null;
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
parseAction(code, argsRaw) {
|
|
328
|
+
if (!code)
|
|
329
|
+
return null;
|
|
330
|
+
try {
|
|
331
|
+
const args = this.normalizeArgs(argsRaw);
|
|
332
|
+
const argsMap = new Map(args.map((a) => [a.name, a.value]));
|
|
333
|
+
switch (code) {
|
|
334
|
+
case 'order_percentage_discount':
|
|
335
|
+
case 'orderPercentageDiscount': {
|
|
336
|
+
const discount = argsMap.get('discount');
|
|
337
|
+
return discount ? `${discount}% off entire order` : 'Percentage discount on order';
|
|
338
|
+
}
|
|
339
|
+
case 'order_fixed_discount':
|
|
340
|
+
case 'orderFixedDiscount': {
|
|
341
|
+
const discount = argsMap.get('discount');
|
|
342
|
+
return discount ? `${(0, constants_1.formatPrice)(Number(discount))} off entire order` : 'Fixed discount on order';
|
|
343
|
+
}
|
|
344
|
+
case 'facet_based_discount':
|
|
345
|
+
case 'discountOnItemWithFacets': {
|
|
346
|
+
const discount = argsMap.get('discount');
|
|
347
|
+
return discount ? `${discount}% off qualifying items` : 'Discount on qualifying items';
|
|
348
|
+
}
|
|
349
|
+
case 'products_percentage_discount':
|
|
350
|
+
case 'productsPercentageDiscount': {
|
|
351
|
+
const discount = argsMap.get('discount');
|
|
352
|
+
return discount ? `${discount}% off specific products` : 'Percentage discount on products';
|
|
353
|
+
}
|
|
354
|
+
case 'free_shipping':
|
|
355
|
+
case 'freeShipping':
|
|
356
|
+
return 'Free shipping';
|
|
357
|
+
case 'buy_x_get_y_free':
|
|
358
|
+
case 'buyXGetYFree':
|
|
359
|
+
return 'Buy X get Y free';
|
|
360
|
+
default:
|
|
361
|
+
return null;
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
catch {
|
|
365
|
+
return null;
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Normalize args from Vendure's condition/action format.
|
|
370
|
+
* Args can be:
|
|
371
|
+
* - An array of { name, value } objects
|
|
372
|
+
* - A JSON string of such an array
|
|
373
|
+
* - An object with { argName: value } pairs
|
|
374
|
+
*/
|
|
375
|
+
normalizeArgs(argsRaw) {
|
|
376
|
+
try {
|
|
377
|
+
if (!argsRaw)
|
|
378
|
+
return [];
|
|
379
|
+
const args = typeof argsRaw === 'string' ? JSON.parse(argsRaw) : argsRaw;
|
|
380
|
+
if (Array.isArray(args))
|
|
381
|
+
return args;
|
|
382
|
+
// Handle { key: value } format
|
|
383
|
+
if (typeof args === 'object') {
|
|
384
|
+
return Object.entries(args).map(([name, value]) => ({ name, value }));
|
|
385
|
+
}
|
|
386
|
+
return [];
|
|
387
|
+
}
|
|
388
|
+
catch {
|
|
389
|
+
return [];
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
extractAmountFromArgs(argsRaw) {
|
|
393
|
+
try {
|
|
394
|
+
const args = this.normalizeArgs(argsRaw);
|
|
395
|
+
for (const a of args) {
|
|
396
|
+
if (a.name === 'amount' || a.name === 'orderMinimum' || a.name === 'minimum') {
|
|
397
|
+
const val = Number(a.value);
|
|
398
|
+
if (!isNaN(val) && val > 0)
|
|
399
|
+
return val;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
return null;
|
|
403
|
+
}
|
|
404
|
+
catch {
|
|
405
|
+
return null;
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
exports.PromotionTools = PromotionTools;
|
|
410
|
+
//# sourceMappingURL=promotion-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promotion-tools.js","sourceRoot":"","sources":["../../../src/services/tools/promotion-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/services/types.d.ts
CHANGED
|
@@ -87,6 +87,23 @@ export interface SetBillingAddressAction {
|
|
|
87
87
|
export interface SetShippingMethodAction {
|
|
88
88
|
shippingMethodId: string;
|
|
89
89
|
}
|
|
90
|
+
/** A promotion available to the customer */
|
|
91
|
+
export interface AiPromotion {
|
|
92
|
+
id: string;
|
|
93
|
+
name: string;
|
|
94
|
+
description: string;
|
|
95
|
+
couponCode?: string;
|
|
96
|
+
startsAt?: string;
|
|
97
|
+
endsAt?: string;
|
|
98
|
+
perCustomerUsageLimit?: number;
|
|
99
|
+
conditions?: string[];
|
|
100
|
+
discountSummary?: string;
|
|
101
|
+
}
|
|
102
|
+
/** Action signal for applying/removing a coupon code */
|
|
103
|
+
export interface ApplyCouponAction {
|
|
104
|
+
couponCode: string;
|
|
105
|
+
applied: boolean;
|
|
106
|
+
}
|
|
90
107
|
export interface ChatResult {
|
|
91
108
|
message: string;
|
|
92
109
|
products: AiChatProduct[];
|
|
@@ -97,6 +114,8 @@ export interface ChatResult {
|
|
|
97
114
|
setShippingAddressAction?: SetShippingAddressAction;
|
|
98
115
|
setBillingAddressAction?: SetBillingAddressAction;
|
|
99
116
|
setShippingMethodAction?: SetShippingMethodAction;
|
|
117
|
+
promotions?: AiPromotion[];
|
|
118
|
+
applyCouponAction?: ApplyCouponAction;
|
|
100
119
|
}
|
|
101
120
|
/** Result type for streaming chat — returns a ReadableStream + structured data promise */
|
|
102
121
|
export interface StreamingChatResult {
|
|
@@ -114,5 +133,7 @@ export interface ToolResult {
|
|
|
114
133
|
setShippingAddressAction?: SetShippingAddressAction;
|
|
115
134
|
setBillingAddressAction?: SetBillingAddressAction;
|
|
116
135
|
setShippingMethodAction?: SetShippingMethodAction;
|
|
136
|
+
promotions?: AiPromotion[];
|
|
137
|
+
applyCouponAction?: ApplyCouponAction;
|
|
117
138
|
}
|
|
118
139
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rahul_vendure/ai-chat-plugin",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "AI-powered shopping assistant plugin for Vendure — LLM chat, vector search, cart management, and order tracking",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
},
|
|
39
39
|
"repository": {
|
|
40
40
|
"type": "git",
|
|
41
|
-
"url": "https://github.com/Ryrahul/Vendure-ai.git",
|
|
41
|
+
"url": "git+https://github.com/Ryrahul/Vendure-ai.git",
|
|
42
42
|
"directory": "packages/ai-chat-plugin"
|
|
43
43
|
},
|
|
44
44
|
"peerDependencies": {
|