@rahul_vendure/ai-chat-plugin 0.1.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/README.md +214 -0
- package/dist/ai-assistant.plugin.d.ts +18 -0
- package/dist/ai-assistant.plugin.d.ts.map +1 -0
- package/dist/ai-assistant.plugin.js +86 -0
- package/dist/ai-assistant.plugin.js.map +1 -0
- package/dist/api/ai-assistant.resolver.d.ts +11 -0
- package/dist/api/ai-assistant.resolver.d.ts.map +1 -0
- package/dist/api/ai-assistant.resolver.js +43 -0
- package/dist/api/ai-assistant.resolver.js.map +1 -0
- package/dist/api/schema-extensions.d.ts +3 -0
- package/dist/api/schema-extensions.d.ts.map +1 -0
- package/dist/api/schema-extensions.js +15 -0
- package/dist/api/schema-extensions.js.map +1 -0
- package/dist/constants.d.ts +41 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +24 -0
- package/dist/constants.js.map +1 -0
- package/dist/controllers/admin-chat.controller.d.ts +21 -0
- package/dist/controllers/admin-chat.controller.d.ts.map +1 -0
- package/dist/controllers/admin-chat.controller.js +64 -0
- package/dist/controllers/admin-chat.controller.js.map +1 -0
- package/dist/controllers/ai-assistant.controller.d.ts +96 -0
- package/dist/controllers/ai-assistant.controller.d.ts.map +1 -0
- package/dist/controllers/ai-assistant.controller.js +272 -0
- package/dist/controllers/ai-assistant.controller.js.map +1 -0
- package/dist/entities/collection-embedding.entity.d.ts +13 -0
- package/dist/entities/collection-embedding.entity.d.ts.map +1 -0
- package/dist/entities/collection-embedding.entity.js +43 -0
- package/dist/entities/collection-embedding.entity.js.map +1 -0
- package/dist/entities/product-embedding.entity.d.ts +14 -0
- package/dist/entities/product-embedding.entity.d.ts.map +1 -0
- package/dist/entities/product-embedding.entity.js +44 -0
- package/dist/entities/product-embedding.entity.js.map +1 -0
- package/dist/entities/variant-embedding.entity.d.ts +13 -0
- package/dist/entities/variant-embedding.entity.d.ts.map +1 -0
- package/dist/entities/variant-embedding.entity.js +43 -0
- package/dist/entities/variant-embedding.entity.js.map +1 -0
- package/dist/handlers/collection-embedding-handler.d.ts +18 -0
- package/dist/handlers/collection-embedding-handler.d.ts.map +1 -0
- package/dist/handlers/collection-embedding-handler.js +90 -0
- package/dist/handlers/collection-embedding-handler.js.map +1 -0
- package/dist/handlers/product-embedding-handler.d.ts +20 -0
- package/dist/handlers/product-embedding-handler.d.ts.map +1 -0
- package/dist/handlers/product-embedding-handler.js +96 -0
- package/dist/handlers/product-embedding-handler.js.map +1 -0
- package/dist/handlers/variant-embedding-handler.d.ts +19 -0
- package/dist/handlers/variant-embedding-handler.d.ts.map +1 -0
- package/dist/handlers/variant-embedding-handler.js +101 -0
- package/dist/handlers/variant-embedding-handler.js.map +1 -0
- package/dist/index.d.ts +23 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/services/admin-ai-chat.service.d.ts +40 -0
- package/dist/services/admin-ai-chat.service.d.ts.map +1 -0
- package/dist/services/admin-ai-chat.service.js +201 -0
- package/dist/services/admin-ai-chat.service.js.map +1 -0
- package/dist/services/admin-system-prompt.d.ts +2 -0
- package/dist/services/admin-system-prompt.d.ts.map +1 -0
- package/dist/services/admin-system-prompt.js +44 -0
- package/dist/services/admin-system-prompt.js.map +1 -0
- package/dist/services/admin-tools/admin-collection-tools.d.ts +15 -0
- package/dist/services/admin-tools/admin-collection-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-collection-tools.js +48 -0
- package/dist/services/admin-tools/admin-collection-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-customer-tools.d.ts +15 -0
- package/dist/services/admin-tools/admin-customer-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-customer-tools.js +56 -0
- package/dist/services/admin-tools/admin-customer-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-order-tools.d.ts +16 -0
- package/dist/services/admin-tools/admin-order-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-order-tools.js +69 -0
- package/dist/services/admin-tools/admin-order-tools.js.map +1 -0
- package/dist/services/admin-tools/admin-product-tools.d.ts +29 -0
- package/dist/services/admin-tools/admin-product-tools.d.ts.map +1 -0
- package/dist/services/admin-tools/admin-product-tools.js +139 -0
- package/dist/services/admin-tools/admin-product-tools.js.map +1 -0
- package/dist/services/ai-chat.service.d.ts +42 -0
- package/dist/services/ai-chat.service.d.ts.map +1 -0
- package/dist/services/ai-chat.service.js +308 -0
- package/dist/services/ai-chat.service.js.map +1 -0
- package/dist/services/chat-result-mapper.d.ts +17 -0
- package/dist/services/chat-result-mapper.d.ts.map +1 -0
- package/dist/services/chat-result-mapper.js +176 -0
- package/dist/services/chat-result-mapper.js.map +1 -0
- package/dist/services/collection-embedding.service.d.ts +14 -0
- package/dist/services/collection-embedding.service.d.ts.map +1 -0
- package/dist/services/collection-embedding.service.js +67 -0
- package/dist/services/collection-embedding.service.js.map +1 -0
- package/dist/services/conversation-cache.service.d.ts +47 -0
- package/dist/services/conversation-cache.service.d.ts.map +1 -0
- package/dist/services/conversation-cache.service.js +87 -0
- package/dist/services/conversation-cache.service.js.map +1 -0
- package/dist/services/embed-all-job.service.d.ts +28 -0
- package/dist/services/embed-all-job.service.d.ts.map +1 -0
- package/dist/services/embed-all-job.service.js +151 -0
- package/dist/services/embed-all-job.service.js.map +1 -0
- package/dist/services/embedding.service.d.ts +21 -0
- package/dist/services/embedding.service.d.ts.map +1 -0
- package/dist/services/embedding.service.js +58 -0
- package/dist/services/embedding.service.js.map +1 -0
- package/dist/services/product-embedding.service.d.ts +19 -0
- package/dist/services/product-embedding.service.d.ts.map +1 -0
- package/dist/services/product-embedding.service.js +78 -0
- package/dist/services/product-embedding.service.js.map +1 -0
- package/dist/services/system-prompt.d.ts +2 -0
- package/dist/services/system-prompt.d.ts.map +1 -0
- package/dist/services/system-prompt.js +107 -0
- package/dist/services/system-prompt.js.map +1 -0
- package/dist/services/tools/cart-tools.d.ts +14 -0
- package/dist/services/tools/cart-tools.d.ts.map +1 -0
- package/dist/services/tools/cart-tools.js +168 -0
- package/dist/services/tools/cart-tools.js.map +1 -0
- package/dist/services/tools/checkout-tools.d.ts +37 -0
- package/dist/services/tools/checkout-tools.d.ts.map +1 -0
- package/dist/services/tools/checkout-tools.js +228 -0
- package/dist/services/tools/checkout-tools.js.map +1 -0
- package/dist/services/tools/order-tools.d.ts +15 -0
- package/dist/services/tools/order-tools.d.ts.map +1 -0
- package/dist/services/tools/order-tools.js +105 -0
- package/dist/services/tools/order-tools.js.map +1 -0
- package/dist/services/tools/search-tools.d.ts +21 -0
- package/dist/services/tools/search-tools.d.ts.map +1 -0
- package/dist/services/tools/search-tools.js +214 -0
- package/dist/services/tools/search-tools.js.map +1 -0
- package/dist/services/types.d.ts +118 -0
- package/dist/services/types.d.ts.map +1 -0
- package/dist/services/types.js +3 -0
- package/dist/services/types.js.map +1 -0
- package/dist/services/variant-embedding.service.d.ts +14 -0
- package/dist/services/variant-embedding.service.d.ts.map +1 -0
- package/dist/services/variant-embedding.service.js +59 -0
- package/dist/services/variant-embedding.service.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-tools.js","sourceRoot":"","sources":["../../../src/services/tools/search-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/** Structured product returned in chat responses */
|
|
2
|
+
export interface AiChatProduct {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
slug: string;
|
|
6
|
+
price: number;
|
|
7
|
+
image: string | null;
|
|
8
|
+
variantId: string;
|
|
9
|
+
}
|
|
10
|
+
/** Structured collection returned in chat responses */
|
|
11
|
+
export interface AiChatCollection {
|
|
12
|
+
id: string;
|
|
13
|
+
name: string;
|
|
14
|
+
slug: string;
|
|
15
|
+
}
|
|
16
|
+
/** Action signal for the frontend to execute add-to-cart */
|
|
17
|
+
export interface AddToCartAction {
|
|
18
|
+
variantId: string;
|
|
19
|
+
quantity: number;
|
|
20
|
+
productName?: string;
|
|
21
|
+
}
|
|
22
|
+
/** Structured order returned in chat responses */
|
|
23
|
+
/** A single line item in an order history entry */
|
|
24
|
+
export interface AiChatOrderLine {
|
|
25
|
+
productName: string;
|
|
26
|
+
quantity: number;
|
|
27
|
+
slug: string;
|
|
28
|
+
variantId: string;
|
|
29
|
+
image: string | null;
|
|
30
|
+
linePriceWithTax: number;
|
|
31
|
+
}
|
|
32
|
+
/** Structured order returned in chat responses */
|
|
33
|
+
export interface AiChatOrder {
|
|
34
|
+
id: string;
|
|
35
|
+
code: string;
|
|
36
|
+
state: string;
|
|
37
|
+
total: number;
|
|
38
|
+
orderPlacedAt: string | null;
|
|
39
|
+
lines: AiChatOrderLine[];
|
|
40
|
+
fulfillments: Array<{
|
|
41
|
+
state: string;
|
|
42
|
+
method: string;
|
|
43
|
+
trackingCode: string | null;
|
|
44
|
+
}>;
|
|
45
|
+
}
|
|
46
|
+
/** A single line item in the active cart */
|
|
47
|
+
export interface AiCartLine {
|
|
48
|
+
orderLineId: string;
|
|
49
|
+
productName: string;
|
|
50
|
+
variantId: string;
|
|
51
|
+
quantity: number;
|
|
52
|
+
linePriceWithTax: number;
|
|
53
|
+
}
|
|
54
|
+
/** The active order (cart) summary */
|
|
55
|
+
export interface AiActiveOrder {
|
|
56
|
+
id: string;
|
|
57
|
+
code: string;
|
|
58
|
+
totalQuantity: number;
|
|
59
|
+
totalWithTax: number;
|
|
60
|
+
lines: AiCartLine[];
|
|
61
|
+
}
|
|
62
|
+
/** Action signal for the frontend to set shipping address */
|
|
63
|
+
export interface SetShippingAddressAction {
|
|
64
|
+
fullName: string;
|
|
65
|
+
streetLine1: string;
|
|
66
|
+
streetLine2?: string;
|
|
67
|
+
city: string;
|
|
68
|
+
province: string;
|
|
69
|
+
postalCode: string;
|
|
70
|
+
countryCode: string;
|
|
71
|
+
phoneNumber: string;
|
|
72
|
+
company?: string;
|
|
73
|
+
}
|
|
74
|
+
/** Action signal for the frontend to set billing address */
|
|
75
|
+
export interface SetBillingAddressAction {
|
|
76
|
+
fullName: string;
|
|
77
|
+
streetLine1: string;
|
|
78
|
+
streetLine2?: string;
|
|
79
|
+
city: string;
|
|
80
|
+
province: string;
|
|
81
|
+
postalCode: string;
|
|
82
|
+
countryCode: string;
|
|
83
|
+
phoneNumber: string;
|
|
84
|
+
company?: string;
|
|
85
|
+
}
|
|
86
|
+
/** Action signal for the frontend to set shipping method */
|
|
87
|
+
export interface SetShippingMethodAction {
|
|
88
|
+
shippingMethodId: string;
|
|
89
|
+
}
|
|
90
|
+
export interface ChatResult {
|
|
91
|
+
message: string;
|
|
92
|
+
products: AiChatProduct[];
|
|
93
|
+
collections: AiChatCollection[];
|
|
94
|
+
addToCartAction?: AddToCartAction;
|
|
95
|
+
orders?: AiChatOrder[];
|
|
96
|
+
activeOrder?: AiActiveOrder;
|
|
97
|
+
setShippingAddressAction?: SetShippingAddressAction;
|
|
98
|
+
setBillingAddressAction?: SetBillingAddressAction;
|
|
99
|
+
setShippingMethodAction?: SetShippingMethodAction;
|
|
100
|
+
}
|
|
101
|
+
/** Result type for streaming chat — returns a ReadableStream + structured data promise */
|
|
102
|
+
export interface StreamingChatResult {
|
|
103
|
+
stream: ReadableStream<Uint8Array>;
|
|
104
|
+
dataPromise: Promise<Omit<ChatResult, 'message'>>;
|
|
105
|
+
}
|
|
106
|
+
/** Standard return type used by all tool implementations */
|
|
107
|
+
export interface ToolResult {
|
|
108
|
+
products: AiChatProduct[];
|
|
109
|
+
collections: AiChatCollection[];
|
|
110
|
+
summary: string;
|
|
111
|
+
addToCartAction?: AddToCartAction;
|
|
112
|
+
orders?: AiChatOrder[];
|
|
113
|
+
activeOrder?: AiActiveOrder;
|
|
114
|
+
setShippingAddressAction?: SetShippingAddressAction;
|
|
115
|
+
setBillingAddressAction?: SetBillingAddressAction;
|
|
116
|
+
setShippingMethodAction?: SetShippingMethodAction;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/services/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RequestContext, TransactionalConnection } from '@vendure/core';
|
|
2
|
+
export interface SimilarVariantResult {
|
|
3
|
+
productVariantId: number;
|
|
4
|
+
score: number;
|
|
5
|
+
}
|
|
6
|
+
export declare class VariantEmbeddingService {
|
|
7
|
+
private connection;
|
|
8
|
+
constructor(connection: TransactionalConnection);
|
|
9
|
+
upsertEmbedding(ctx: RequestContext, productVariantId: number, embedding: number[]): Promise<void>;
|
|
10
|
+
deleteByVariantId(ctx: RequestContext, productVariantId: number): Promise<void>;
|
|
11
|
+
findSimilar(ctx: RequestContext, queryEmbedding: number[], limit?: number): Promise<SimilarVariantResult[]>;
|
|
12
|
+
ensureRow(ctx: RequestContext, productVariantId: number): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=variant-embedding.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-embedding.service.d.ts","sourceRoot":"","sources":["../../src/services/variant-embedding.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAGxE,MAAM,WAAW,oBAAoB;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,uBAAuB;IACpB,OAAO,CAAC,UAAU;gBAAV,UAAU,EAAE,uBAAuB;IAEjD,eAAe,CACjB,GAAG,EAAE,cAAc,EACnB,gBAAgB,EAAE,MAAM,EACxB,SAAS,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,IAAI,CAAC;IAWV,iBAAiB,CAAC,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/E,WAAW,CACb,GAAG,EAAE,cAAc,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,KAAK,GAAE,MAAU,GAClB,OAAO,CAAC,oBAAoB,EAAE,CAAC;IAgB5B,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQhF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.VariantEmbeddingService = void 0;
|
|
13
|
+
const common_1 = require("@nestjs/common");
|
|
14
|
+
const core_1 = require("@vendure/core");
|
|
15
|
+
const variant_embedding_entity_1 = require("../entities/variant-embedding.entity");
|
|
16
|
+
let VariantEmbeddingService = class VariantEmbeddingService {
|
|
17
|
+
constructor(connection) {
|
|
18
|
+
this.connection = connection;
|
|
19
|
+
}
|
|
20
|
+
async upsertEmbedding(ctx, productVariantId, embedding) {
|
|
21
|
+
var _a;
|
|
22
|
+
await this.ensureRow(ctx, productVariantId);
|
|
23
|
+
const conn = this.connection.rawConnection;
|
|
24
|
+
const vectorStr = '[' + embedding.map((n) => Number(n)).join(',') + ']';
|
|
25
|
+
const schema = (_a = conn.options.schema) !== null && _a !== void 0 ? _a : 'public';
|
|
26
|
+
await conn.query(`UPDATE ${schema}.variant_embedding SET embedding = $1::vector, "updatedAt" = NOW() WHERE "productVariantId" = $2`, [vectorStr, productVariantId]);
|
|
27
|
+
}
|
|
28
|
+
async deleteByVariantId(ctx, productVariantId) {
|
|
29
|
+
const repo = this.connection.rawConnection.getRepository(variant_embedding_entity_1.VariantEmbedding);
|
|
30
|
+
await repo.delete({ productVariantId });
|
|
31
|
+
}
|
|
32
|
+
async findSimilar(ctx, queryEmbedding, limit = 5) {
|
|
33
|
+
var _a;
|
|
34
|
+
const conn = this.connection.rawConnection;
|
|
35
|
+
const vectorStr = '[' + queryEmbedding.map((n) => Number(n)).join(',') + ']';
|
|
36
|
+
const schema = (_a = conn.options.schema) !== null && _a !== void 0 ? _a : 'public';
|
|
37
|
+
const rows = await conn.query(`SELECT "productVariantId", 1 - (embedding <=> $1::vector) AS score
|
|
38
|
+
FROM ${schema}.variant_embedding WHERE embedding IS NOT NULL
|
|
39
|
+
ORDER BY embedding <=> $1::vector LIMIT $2`, [vectorStr, limit]);
|
|
40
|
+
return rows.map((r) => ({
|
|
41
|
+
productVariantId: r.productVariantId,
|
|
42
|
+
score: Number(r.score),
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
async ensureRow(ctx, productVariantId) {
|
|
46
|
+
const repo = this.connection.rawConnection.getRepository(variant_embedding_entity_1.VariantEmbedding);
|
|
47
|
+
let row = await repo.findOne({ where: { productVariantId } });
|
|
48
|
+
if (!row) {
|
|
49
|
+
row = repo.create({ productVariantId });
|
|
50
|
+
await repo.save(row);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.VariantEmbeddingService = VariantEmbeddingService;
|
|
55
|
+
exports.VariantEmbeddingService = VariantEmbeddingService = __decorate([
|
|
56
|
+
(0, common_1.Injectable)(),
|
|
57
|
+
__metadata("design:paramtypes", [core_1.TransactionalConnection])
|
|
58
|
+
], VariantEmbeddingService);
|
|
59
|
+
//# sourceMappingURL=variant-embedding.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variant-embedding.service.js","sourceRoot":"","sources":["../../src/services/variant-embedding.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,wCAAwE;AACxE,mFAAwE;AAQjE,IAAM,uBAAuB,GAA7B,MAAM,uBAAuB;IAChC,YAAoB,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;IAAG,CAAC;IAE3D,KAAK,CAAC,eAAe,CACjB,GAAmB,EACnB,gBAAwB,EACxB,SAAmB;;QAEnB,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACxE,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,OAA+B,CAAC,MAAM,mCAAI,QAAQ,CAAC;QACxE,MAAM,IAAI,CAAC,KAAK,CACZ,UAAU,MAAM,kGAAkG,EAClH,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAChC,CAAC;IACN,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAmB,EAAE,gBAAwB;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,2CAAgB,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,WAAW,CACb,GAAmB,EACnB,cAAwB,EACxB,QAAgB,CAAC;;QAEjB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3C,MAAM,SAAS,GAAG,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QAC7E,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,OAA+B,CAAC,MAAM,mCAAI,QAAQ,CAAC;QACxE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CACzB;oBACQ,MAAM;wDAC8B,EAC5C,CAAC,SAAS,EAAE,KAAK,CAAC,CACrB,CAAC;QACF,OAAQ,IAAsD,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvE,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;YACpC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;SACzB,CAAC,CAAC,CAAC;IACR,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAmB,EAAE,gBAAwB;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,2CAAgB,CAAC,CAAC;QAC3E,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACxC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,CAAC;IACL,CAAC;CACJ,CAAA;AAnDY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;qCAEuB,8BAAuB;GAD9C,uBAAuB,CAmDnC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rahul_vendure/ai-chat-plugin",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "AI-powered shopping assistant plugin for Vendure — LLM chat, vector search, cart management, and order tracking",
|
|
5
|
+
"main": "./dist/index.js",
|
|
6
|
+
"types": "./dist/index.d.ts",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"require": "./dist/index.js"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
"files": [
|
|
14
|
+
"dist",
|
|
15
|
+
"README.md"
|
|
16
|
+
],
|
|
17
|
+
"scripts": {
|
|
18
|
+
"build": "tsc",
|
|
19
|
+
"dev": "tsc --watch"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"vendure",
|
|
23
|
+
"vendure-plugin",
|
|
24
|
+
"ai",
|
|
25
|
+
"chat",
|
|
26
|
+
"shopping-assistant",
|
|
27
|
+
"openai",
|
|
28
|
+
"llm",
|
|
29
|
+
"vector-search",
|
|
30
|
+
"pgvector",
|
|
31
|
+
"embeddings",
|
|
32
|
+
"ecommerce"
|
|
33
|
+
],
|
|
34
|
+
"author": "Rahul Yadav",
|
|
35
|
+
"license": "MIT",
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"repository": {
|
|
40
|
+
"type": "git",
|
|
41
|
+
"url": "https://github.com/Ryrahul/Vendure-ai.git",
|
|
42
|
+
"directory": "packages/ai-chat-plugin"
|
|
43
|
+
},
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"@vendure/core": ">=3.0.0"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"@ai-sdk/openai": "^3.0.0",
|
|
49
|
+
"ai": "^6.0.0",
|
|
50
|
+
"openai": "^6.0.0",
|
|
51
|
+
"zod": "^3.0.0 || ^4.0.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@vendure/core": "3.5.4",
|
|
55
|
+
"typescript": "^5.8.0"
|
|
56
|
+
}
|
|
57
|
+
}
|