@rahul_vendure/ai-chat-plugin 0.1.2 → 0.1.3

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 (42) hide show
  1. package/README.md +11 -2
  2. package/dist/services/admin-ai-chat.service.d.ts +8 -0
  3. package/dist/services/admin-ai-chat.service.d.ts.map +1 -1
  4. package/dist/services/admin-ai-chat.service.js +129 -0
  5. package/dist/services/admin-ai-chat.service.js.map +1 -1
  6. package/dist/services/admin-system-prompt.d.ts +1 -1
  7. package/dist/services/admin-system-prompt.d.ts.map +1 -1
  8. package/dist/services/admin-system-prompt.js +27 -3
  9. package/dist/services/admin-system-prompt.js.map +1 -1
  10. package/dist/services/admin-tools/admin-country-tools.d.ts +16 -0
  11. package/dist/services/admin-tools/admin-country-tools.d.ts.map +1 -0
  12. package/dist/services/admin-tools/admin-country-tools.js +51 -0
  13. package/dist/services/admin-tools/admin-country-tools.js.map +1 -0
  14. package/dist/services/admin-tools/admin-facet-tools.d.ts +20 -0
  15. package/dist/services/admin-tools/admin-facet-tools.d.ts.map +1 -0
  16. package/dist/services/admin-tools/admin-facet-tools.js +100 -0
  17. package/dist/services/admin-tools/admin-facet-tools.js.map +1 -0
  18. package/dist/services/admin-tools/admin-payment-tools.d.ts +15 -0
  19. package/dist/services/admin-tools/admin-payment-tools.d.ts.map +1 -0
  20. package/dist/services/admin-tools/admin-payment-tools.js +53 -0
  21. package/dist/services/admin-tools/admin-payment-tools.js.map +1 -0
  22. package/dist/services/admin-tools/admin-promotion-tools.d.ts +16 -0
  23. package/dist/services/admin-tools/admin-promotion-tools.d.ts.map +1 -0
  24. package/dist/services/admin-tools/admin-promotion-tools.js +66 -0
  25. package/dist/services/admin-tools/admin-promotion-tools.js.map +1 -0
  26. package/dist/services/admin-tools/admin-settings-tools.d.ts +20 -0
  27. package/dist/services/admin-tools/admin-settings-tools.d.ts.map +1 -0
  28. package/dist/services/admin-tools/admin-settings-tools.js +114 -0
  29. package/dist/services/admin-tools/admin-settings-tools.js.map +1 -0
  30. package/dist/services/admin-tools/admin-shipping-tools.d.ts +16 -0
  31. package/dist/services/admin-tools/admin-shipping-tools.d.ts.map +1 -0
  32. package/dist/services/admin-tools/admin-shipping-tools.js +55 -0
  33. package/dist/services/admin-tools/admin-shipping-tools.js.map +1 -0
  34. package/dist/services/admin-tools/admin-staff-tools.d.ts +19 -0
  35. package/dist/services/admin-tools/admin-staff-tools.d.ts.map +1 -0
  36. package/dist/services/admin-tools/admin-staff-tools.js +88 -0
  37. package/dist/services/admin-tools/admin-staff-tools.js.map +1 -0
  38. package/dist/services/admin-tools/admin-tax-tools.d.ts +23 -0
  39. package/dist/services/admin-tools/admin-tax-tools.d.ts.map +1 -0
  40. package/dist/services/admin-tools/admin-tax-tools.js +116 -0
  41. package/dist/services/admin-tools/admin-tax-tools.js.map +1 -0
  42. package/package.json +2 -2
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminTaxTools = void 0;
4
+ const common_1 = require("@nestjs/common");
5
+ const core_1 = require("@vendure/core");
6
+ class AdminTaxTools {
7
+ constructor(connection) {
8
+ this.connection = connection;
9
+ this.logger = new common_1.Logger(AdminTaxTools.name);
10
+ }
11
+ async getTaxRates(ctx, args) {
12
+ var _a, _b;
13
+ const query = ((_a = args.query) !== null && _a !== void 0 ? _a : '').trim();
14
+ const take = Math.min((_b = args.take) !== null && _b !== void 0 ? _b : 30, 100);
15
+ const repo = this.connection.rawConnection.getRepository(core_1.TaxRate);
16
+ let qb = repo.createQueryBuilder('tr')
17
+ .leftJoinAndSelect('tr.category', 'category')
18
+ .leftJoinAndSelect('tr.zone', 'zone')
19
+ .leftJoinAndSelect('tr.customerGroup', 'customerGroup');
20
+ if (query) {
21
+ qb = qb.where('(LOWER(tr.name) LIKE :term OR LOWER(category.name) LIKE :term OR LOWER(zone.name) LIKE :term)', {
22
+ term: `%${query.toLowerCase()}%`,
23
+ });
24
+ }
25
+ qb = qb.orderBy('tr.name', 'ASC').take(take);
26
+ try {
27
+ const rates = await qb.getMany();
28
+ if (rates.length === 0) {
29
+ return { summary: query ? `No tax rates found matching "${query}".` : 'No tax rates configured.' };
30
+ }
31
+ const lines = rates.map(r => {
32
+ var _a, _b, _c, _d, _e, _f, _g;
33
+ const name = (_a = r.name) !== null && _a !== void 0 ? _a : '';
34
+ const value = (_b = r.value) !== null && _b !== void 0 ? _b : 0;
35
+ const enabled = r.enabled ? 'Enabled' : 'DISABLED';
36
+ const category = (_d = (_c = r.category) === null || _c === void 0 ? void 0 : _c.name) !== null && _d !== void 0 ? _d : 'N/A';
37
+ const zone = (_f = (_e = r.zone) === null || _e === void 0 ? void 0 : _e.name) !== null && _f !== void 0 ? _f : 'N/A';
38
+ const customerGroup = (_g = r.customerGroup) === null || _g === void 0 ? void 0 : _g.name;
39
+ const groupStr = customerGroup ? ` | Group: ${customerGroup}` : '';
40
+ return `- **${name}** (ID: ${r.id}) | Rate: ${value}% | ${enabled} | Category: ${category} | Zone: ${zone}${groupStr}`;
41
+ });
42
+ return {
43
+ summary: `Found ${rates.length} tax rate(s)${query ? ` matching "${query}"` : ''}:\n${lines.join('\n')}`,
44
+ };
45
+ }
46
+ catch (e) {
47
+ this.logger.error(`Error fetching tax rates: ${e}`);
48
+ return { summary: 'Error fetching tax rates. Please try again.' };
49
+ }
50
+ }
51
+ async getTaxCategories(ctx, args) {
52
+ var _a, _b;
53
+ const query = ((_a = args.query) !== null && _a !== void 0 ? _a : '').trim();
54
+ const take = Math.min((_b = args.take) !== null && _b !== void 0 ? _b : 30, 50);
55
+ const repo = this.connection.rawConnection.getRepository(core_1.TaxCategory);
56
+ let qb = repo.createQueryBuilder('tc');
57
+ if (query) {
58
+ qb = qb.where('LOWER(tc.name) LIKE :term', { term: `%${query.toLowerCase()}%` });
59
+ }
60
+ qb = qb.orderBy('tc.name', 'ASC').take(take);
61
+ try {
62
+ const categories = await qb.getMany();
63
+ if (categories.length === 0) {
64
+ return { summary: query ? `No tax categories found matching "${query}".` : 'No tax categories configured.' };
65
+ }
66
+ const lines = categories.map(c => {
67
+ const isDefault = c.isDefault ? ' (DEFAULT)' : '';
68
+ return `- **${c.name}** (ID: ${c.id})${isDefault}`;
69
+ });
70
+ return {
71
+ summary: `Found ${categories.length} tax category/categories${query ? ` matching "${query}"` : ''}:\n${lines.join('\n')}`,
72
+ };
73
+ }
74
+ catch (e) {
75
+ this.logger.error(`Error fetching tax categories: ${e}`);
76
+ return { summary: 'Error fetching tax categories. Please try again.' };
77
+ }
78
+ }
79
+ async getZones(ctx, args) {
80
+ var _a, _b;
81
+ const query = ((_a = args.query) !== null && _a !== void 0 ? _a : '').trim();
82
+ const take = Math.min((_b = args.take) !== null && _b !== void 0 ? _b : 30, 50);
83
+ const repo = this.connection.rawConnection.getRepository(core_1.Zone);
84
+ let qb = repo.createQueryBuilder('zone')
85
+ .leftJoinAndSelect('zone.members', 'member')
86
+ .leftJoinAndSelect('member.translations', 'memberTranslation');
87
+ if (query) {
88
+ qb = qb.where('LOWER(zone.name) LIKE :term', { term: `%${query.toLowerCase()}%` });
89
+ }
90
+ qb = qb.orderBy('zone.name', 'ASC').take(take);
91
+ try {
92
+ const zones = await qb.getMany();
93
+ if (zones.length === 0) {
94
+ return { summary: query ? `No zones found matching "${query}".` : 'No zones configured.' };
95
+ }
96
+ const lines = zones.map(z => {
97
+ var _a;
98
+ const members = ((_a = z.members) !== null && _a !== void 0 ? _a : []);
99
+ const memberNames = members.map((m) => { var _a, _b, _c, _d; return (_d = (_c = (_b = (_a = m.translations) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.name) !== null && _c !== void 0 ? _c : m.code) !== null && _d !== void 0 ? _d : ''; }).filter(Boolean);
100
+ const memberStr = memberNames.length > 0
101
+ ? (memberNames.length <= 5 ? memberNames.join(', ') : `${memberNames.slice(0, 5).join(', ')} (+${memberNames.length - 5} more)`)
102
+ : 'no members';
103
+ return `- **${z.name}** (ID: ${z.id}) | ${members.length} member(s): ${memberStr}`;
104
+ });
105
+ return {
106
+ summary: `Found ${zones.length} zone(s)${query ? ` matching "${query}"` : ''}:\n${lines.join('\n')}`,
107
+ };
108
+ }
109
+ catch (e) {
110
+ this.logger.error(`Error fetching zones: ${e}`);
111
+ return { summary: 'Error fetching zones. Please try again.' };
112
+ }
113
+ }
114
+ }
115
+ exports.AdminTaxTools = AdminTaxTools;
116
+ //# sourceMappingURL=admin-tax-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"admin-tax-tools.js","sourceRoot":"","sources":["../../../src/services/admin-tools/admin-tax-tools.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.2",
3
+ "version": "0.1.3",
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": {