@rahul_vendure/ai-chat-plugin 0.1.8 → 0.2.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.
Files changed (103) hide show
  1. package/dist/ai-assistant.plugin.d.ts.map +1 -1
  2. package/dist/ai-assistant.plugin.js +4 -1
  3. package/dist/ai-assistant.plugin.js.map +1 -1
  4. package/dist/api/ai-assistant.resolver.d.ts +2 -4
  5. package/dist/api/ai-assistant.resolver.d.ts.map +1 -1
  6. package/dist/api/ai-assistant.resolver.js.map +1 -1
  7. package/dist/constants.d.ts +13 -0
  8. package/dist/constants.d.ts.map +1 -1
  9. package/dist/controllers/admin-chat.controller.d.ts +19 -2
  10. package/dist/controllers/admin-chat.controller.d.ts.map +1 -1
  11. package/dist/controllers/admin-chat.controller.js +107 -7
  12. package/dist/controllers/admin-chat.controller.js.map +1 -1
  13. package/dist/entities/ai-chat-session.entity.d.ts +27 -0
  14. package/dist/entities/ai-chat-session.entity.d.ts.map +1 -0
  15. package/dist/entities/ai-chat-session.entity.js +72 -0
  16. package/dist/entities/ai-chat-session.entity.js.map +1 -0
  17. package/dist/generated/graphql.d.ts +59 -0
  18. package/dist/generated/graphql.d.ts.map +1 -0
  19. package/dist/generated/graphql.js +3 -0
  20. package/dist/generated/graphql.js.map +1 -0
  21. package/dist/index.d.ts +6 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +5 -1
  24. package/dist/index.js.map +1 -1
  25. package/dist/services/admin-ai-chat.service.d.ts +35 -4
  26. package/dist/services/admin-ai-chat.service.d.ts.map +1 -1
  27. package/dist/services/admin-ai-chat.service.js +263 -186
  28. package/dist/services/admin-ai-chat.service.js.map +1 -1
  29. package/dist/services/admin-system-prompt.d.ts +1 -1
  30. package/dist/services/admin-system-prompt.d.ts.map +1 -1
  31. package/dist/services/admin-system-prompt.js +100 -62
  32. package/dist/services/admin-system-prompt.js.map +1 -1
  33. package/dist/services/admin-tools/admin-asset-tools.d.ts +21 -0
  34. package/dist/services/admin-tools/admin-asset-tools.d.ts.map +1 -0
  35. package/dist/services/admin-tools/admin-asset-tools.js +74 -0
  36. package/dist/services/admin-tools/admin-asset-tools.js.map +1 -0
  37. package/dist/services/admin-tools/admin-collection-tools.d.ts +33 -2
  38. package/dist/services/admin-tools/admin-collection-tools.d.ts.map +1 -1
  39. package/dist/services/admin-tools/admin-collection-tools.js +101 -1
  40. package/dist/services/admin-tools/admin-collection-tools.js.map +1 -1
  41. package/dist/services/admin-tools/admin-country-tools.d.ts +17 -2
  42. package/dist/services/admin-tools/admin-country-tools.d.ts.map +1 -1
  43. package/dist/services/admin-tools/admin-country-tools.js +69 -1
  44. package/dist/services/admin-tools/admin-country-tools.js.map +1 -1
  45. package/dist/services/admin-tools/admin-customer-group-tools.d.ts +35 -0
  46. package/dist/services/admin-tools/admin-customer-group-tools.d.ts.map +1 -0
  47. package/dist/services/admin-tools/admin-customer-group-tools.js +116 -0
  48. package/dist/services/admin-tools/admin-customer-group-tools.js.map +1 -0
  49. package/dist/services/admin-tools/admin-customer-tools.d.ts +44 -3
  50. package/dist/services/admin-tools/admin-customer-tools.d.ts.map +1 -1
  51. package/dist/services/admin-tools/admin-customer-tools.js +237 -11
  52. package/dist/services/admin-tools/admin-customer-tools.js.map +1 -1
  53. package/dist/services/admin-tools/admin-facet-tools.d.ts +39 -2
  54. package/dist/services/admin-tools/admin-facet-tools.d.ts.map +1 -1
  55. package/dist/services/admin-tools/admin-facet-tools.js +179 -1
  56. package/dist/services/admin-tools/admin-facet-tools.js.map +1 -1
  57. package/dist/services/admin-tools/admin-order-tools.d.ts +4 -0
  58. package/dist/services/admin-tools/admin-order-tools.d.ts.map +1 -1
  59. package/dist/services/admin-tools/admin-order-tools.js +154 -0
  60. package/dist/services/admin-tools/admin-order-tools.js.map +1 -1
  61. package/dist/services/admin-tools/admin-payment-tools.d.ts +24 -2
  62. package/dist/services/admin-tools/admin-payment-tools.d.ts.map +1 -1
  63. package/dist/services/admin-tools/admin-payment-tools.js +92 -1
  64. package/dist/services/admin-tools/admin-payment-tools.js.map +1 -1
  65. package/dist/services/admin-tools/admin-product-tools.d.ts +55 -3
  66. package/dist/services/admin-tools/admin-product-tools.d.ts.map +1 -1
  67. package/dist/services/admin-tools/admin-product-tools.js +235 -9
  68. package/dist/services/admin-tools/admin-product-tools.js.map +1 -1
  69. package/dist/services/admin-tools/admin-promotion-tools.d.ts +34 -2
  70. package/dist/services/admin-tools/admin-promotion-tools.d.ts.map +1 -1
  71. package/dist/services/admin-tools/admin-promotion-tools.js +117 -1
  72. package/dist/services/admin-tools/admin-promotion-tools.js.map +1 -1
  73. package/dist/services/admin-tools/admin-settings-tools.d.ts +42 -2
  74. package/dist/services/admin-tools/admin-settings-tools.d.ts.map +1 -1
  75. package/dist/services/admin-tools/admin-settings-tools.js +235 -1
  76. package/dist/services/admin-tools/admin-settings-tools.js.map +1 -1
  77. package/dist/services/admin-tools/admin-shipping-tools.d.ts +23 -2
  78. package/dist/services/admin-tools/admin-shipping-tools.d.ts.map +1 -1
  79. package/dist/services/admin-tools/admin-shipping-tools.js +99 -1
  80. package/dist/services/admin-tools/admin-shipping-tools.js.map +1 -1
  81. package/dist/services/admin-tools/admin-staff-tools.d.ts +38 -2
  82. package/dist/services/admin-tools/admin-staff-tools.d.ts.map +1 -1
  83. package/dist/services/admin-tools/admin-staff-tools.js +142 -1
  84. package/dist/services/admin-tools/admin-staff-tools.js.map +1 -1
  85. package/dist/services/admin-tools/admin-stock-location-tools.d.ts +29 -0
  86. package/dist/services/admin-tools/admin-stock-location-tools.d.ts.map +1 -0
  87. package/dist/services/admin-tools/admin-stock-location-tools.js +102 -0
  88. package/dist/services/admin-tools/admin-stock-location-tools.js.map +1 -0
  89. package/dist/services/admin-tools/admin-tax-tools.d.ts +55 -2
  90. package/dist/services/admin-tools/admin-tax-tools.d.ts.map +1 -1
  91. package/dist/services/admin-tools/admin-tax-tools.js +184 -1
  92. package/dist/services/admin-tools/admin-tax-tools.js.map +1 -1
  93. package/dist/services/ai-chat-history.service.d.ts +32 -0
  94. package/dist/services/ai-chat-history.service.d.ts.map +1 -0
  95. package/dist/services/ai-chat-history.service.js +102 -0
  96. package/dist/services/ai-chat-history.service.js.map +1 -0
  97. package/dist/services/ai-chat.service.d.ts +5 -2
  98. package/dist/services/ai-chat.service.d.ts.map +1 -1
  99. package/dist/services/ai-chat.service.js +62 -4
  100. package/dist/services/ai-chat.service.js.map +1 -1
  101. package/dist/services/types.d.ts +7 -0
  102. package/dist/services/types.d.ts.map +1 -1
  103. package/package.json +6 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant.plugin.d.ts","sourceRoot":"","sources":["../src/ai-assistant.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAqC,MAAM,eAAe,CAAC;AAU5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAMrF,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGlF,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAO5D,qBAwBa,iBAAkB,YAAW,sBAAsB;IASxD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IAX7B,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAEzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,iBAAiB;gBAM5D,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,uBAAuB,EACvC,cAAc,EAAE,uBAAuB,EACvC,iBAAiB,EAAE,0BAA0B;IAGzD,sBAAsB;CAKzB"}
1
+ {"version":3,"file":"ai-assistant.plugin.d.ts","sourceRoot":"","sources":["../src/ai-assistant.plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAqC,MAAM,eAAe,CAAC;AAW5E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAOrF,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGlF,YAAY,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAO5D,qBAyBa,iBAAkB,YAAW,sBAAsB;IASxD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,iBAAiB;IAX7B,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAEzC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,iBAAiB;gBAM5D,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,uBAAuB,EACvC,cAAc,EAAE,uBAAuB,EACvC,iBAAiB,EAAE,0BAA0B;IAGzD,sBAAsB;CAKzB"}
@@ -15,6 +15,7 @@ const core_1 = require("@vendure/core");
15
15
  const product_embedding_entity_1 = require("./entities/product-embedding.entity");
16
16
  const variant_embedding_entity_1 = require("./entities/variant-embedding.entity");
17
17
  const collection_embedding_entity_1 = require("./entities/collection-embedding.entity");
18
+ const ai_chat_session_entity_1 = require("./entities/ai-chat-session.entity");
18
19
  const embedding_service_1 = require("./services/embedding.service");
19
20
  const product_embedding_service_1 = require("./services/product-embedding.service");
20
21
  const variant_embedding_service_1 = require("./services/variant-embedding.service");
@@ -29,6 +30,7 @@ const ai_assistant_resolver_1 = require("./api/ai-assistant.resolver");
29
30
  const ai_assistant_controller_1 = require("./controllers/ai-assistant.controller");
30
31
  const admin_chat_controller_1 = require("./controllers/admin-chat.controller");
31
32
  const admin_ai_chat_service_1 = require("./services/admin-ai-chat.service");
33
+ const ai_chat_history_service_1 = require("./services/ai-chat-history.service");
32
34
  const constants_1 = require("./constants");
33
35
  const schema_extensions_1 = require("./api/schema-extensions");
34
36
  const defaultOptions = {
@@ -56,7 +58,7 @@ exports.AiAssistantPlugin = AiAssistantPlugin;
56
58
  exports.AiAssistantPlugin = AiAssistantPlugin = AiAssistantPlugin_1 = __decorate([
57
59
  (0, core_1.VendurePlugin)({
58
60
  imports: [core_1.PluginCommonModule],
59
- entities: [product_embedding_entity_1.ProductEmbedding, variant_embedding_entity_1.VariantEmbedding, collection_embedding_entity_1.CollectionEmbedding],
61
+ entities: [product_embedding_entity_1.ProductEmbedding, variant_embedding_entity_1.VariantEmbedding, collection_embedding_entity_1.CollectionEmbedding, ai_chat_session_entity_1.AiChatSession],
60
62
  adminApiExtensions: {
61
63
  schema: () => schema_extensions_1.embedAllSchemaExtension,
62
64
  resolvers: [ai_assistant_resolver_1.AiAssistantResolver],
@@ -70,6 +72,7 @@ exports.AiAssistantPlugin = AiAssistantPlugin = AiAssistantPlugin_1 = __decorate
70
72
  collection_embedding_service_1.CollectionEmbeddingService,
71
73
  ai_chat_service_1.AiChatService,
72
74
  admin_ai_chat_service_1.AdminAiChatService,
75
+ ai_chat_history_service_1.AiChatHistoryService,
73
76
  conversation_cache_service_1.ConversationCacheService,
74
77
  product_embedding_handler_1.ProductEmbeddingHandler,
75
78
  variant_embedding_handler_1.VariantEmbeddingHandler,
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant.plugin.js","sourceRoot":"","sources":["../src/ai-assistant.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,wCAA4E;AAC5E,kFAAuE;AACvE,kFAAuE;AACvE,wFAA6E;AAC7E,oEAAgE;AAChE,oFAA+E;AAC/E,oFAA+E;AAC/E,0FAAqF;AACrF,gEAA2D;AAC3D,sFAAiF;AACjF,oFAA+E;AAC/E,oFAA+E;AAC/E,0FAAqF;AACrF,4EAAsE;AACtE,uEAAkE;AAClE,mFAA8E;AAC9E,+EAA0E;AAC1E,4EAAsE;AACtE,2CAAkF;AAClF,+DAAkE;AAIlE,MAAM,cAAc,GAA2F;IAC3G,cAAc,EAAE,wBAAwB;IACxC,uBAAuB,EAAE,IAAI;CAChC,CAAC;AA0BK,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,MAAM,CAAC,IAAI,CAAC,OAAiC;QACzC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,mBAAiB,CAAC;IAC7B,CAAC;IAED,YACY,QAAkB,EAClB,cAAuC,EACvC,cAAuC,EACvC,iBAA6C;QAH7C,aAAQ,GAAR,QAAQ,CAAU;QAClB,mBAAc,GAAd,cAAc,CAAyB;QACvC,mBAAc,GAAd,cAAc,CAAyB;QACvC,sBAAiB,GAAjB,iBAAiB,CAA4B;IACtD,CAAC;IAEJ,sBAAsB;QAClB,KAAK,IAAI,CAAC,cAAc,CAAC;QACzB,KAAK,IAAI,CAAC,cAAc,CAAC;QACzB,KAAK,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;CACJ,CAAA;AApBY,8CAAiB;4BAAjB,iBAAiB;IAxB7B,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,QAAQ,EAAE,CAAC,2CAAgB,EAAE,2CAAgB,EAAE,iDAAmB,CAAC;QACnE,kBAAkB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,2CAAuB;YACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;SACnC;QACD,WAAW,EAAE,CAAC,+CAAqB,EAAE,2CAAmB,CAAC;QACzD,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,gCAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC9E,oCAAgB;YAChB,mDAAuB;YACvB,mDAAuB;YACvB,yDAA0B;YAC1B,+BAAa;YACb,0CAAkB;YAClB,qDAAwB;YACxB,mDAAuB;YACvB,mDAAuB;YACvB,yDAA0B;YAC1B,0CAAkB;SACrB;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;qCAUwB,eAAQ;QACF,mDAAuB;QACvB,mDAAuB;QACpB,yDAA0B;GAZhD,iBAAiB,CAoB7B"}
1
+ {"version":3,"file":"ai-assistant.plugin.js","sourceRoot":"","sources":["../src/ai-assistant.plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;AACA,wCAA4E;AAC5E,kFAAuE;AACvE,kFAAuE;AACvE,wFAA6E;AAC7E,8EAAkE;AAClE,oEAAgE;AAChE,oFAA+E;AAC/E,oFAA+E;AAC/E,0FAAqF;AACrF,gEAA2D;AAC3D,sFAAiF;AACjF,oFAA+E;AAC/E,oFAA+E;AAC/E,0FAAqF;AACrF,4EAAsE;AACtE,uEAAkE;AAClE,mFAA8E;AAC9E,+EAA0E;AAC1E,4EAAsE;AACtE,gFAA0E;AAC1E,2CAAkF;AAClF,+DAAkE;AAIlE,MAAM,cAAc,GAA2F;IAC3G,cAAc,EAAE,wBAAwB;IACxC,uBAAuB,EAAE,IAAI;CAChC,CAAC;AA2BK,IAAM,iBAAiB,yBAAvB,MAAM,iBAAiB;IAG1B,MAAM,CAAC,IAAI,CAAC,OAAiC;QACzC,IAAI,CAAC,OAAO,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,OAAO,EAAE,CAAC;QACjD,OAAO,mBAAiB,CAAC;IAC7B,CAAC;IAED,YACY,QAAkB,EAClB,cAAuC,EACvC,cAAuC,EACvC,iBAA6C;QAH7C,aAAQ,GAAR,QAAQ,CAAU;QAClB,mBAAc,GAAd,cAAc,CAAyB;QACvC,mBAAc,GAAd,cAAc,CAAyB;QACvC,sBAAiB,GAAjB,iBAAiB,CAA4B;IACtD,CAAC;IAEJ,sBAAsB;QAClB,KAAK,IAAI,CAAC,cAAc,CAAC;QACzB,KAAK,IAAI,CAAC,cAAc,CAAC;QACzB,KAAK,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;CACJ,CAAA;AApBY,8CAAiB;4BAAjB,iBAAiB;IAzB7B,IAAA,oBAAa,EAAC;QACX,OAAO,EAAE,CAAC,yBAAkB,CAAC;QAC7B,QAAQ,EAAE,CAAC,2CAAgB,EAAE,2CAAgB,EAAE,iDAAmB,EAAE,sCAAa,CAAC;QAClF,kBAAkB,EAAE;YAChB,MAAM,EAAE,GAAG,EAAE,CAAC,2CAAuB;YACrC,SAAS,EAAE,CAAC,2CAAmB,CAAC;SACnC;QACD,WAAW,EAAE,CAAC,+CAAqB,EAAE,2CAAmB,CAAC;QACzD,SAAS,EAAE;YACP,EAAE,OAAO,EAAE,gCAAoB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE;YAC9E,oCAAgB;YAChB,mDAAuB;YACvB,mDAAuB;YACvB,yDAA0B;YAC1B,+BAAa;YACb,0CAAkB;YAClB,8CAAoB;YACpB,qDAAwB;YACxB,mDAAuB;YACvB,mDAAuB;YACvB,yDAA0B;YAC1B,0CAAkB;SACrB;QACD,aAAa,EAAE,QAAQ;KAC1B,CAAC;qCAUwB,eAAQ;QACF,mDAAuB;QACvB,mDAAuB;QACpB,yDAA0B;GAZhD,iBAAiB,CAoB7B"}
@@ -1,11 +1,9 @@
1
1
  import { RequestContext } from '@vendure/core';
2
2
  import { EmbedAllJobService } from '../services/embed-all-job.service';
3
+ import type { EmbedAllResult } from '../generated/graphql';
3
4
  export declare class AiAssistantResolver {
4
5
  private embedAllJobService;
5
6
  constructor(embedAllJobService: EmbedAllJobService);
6
- triggerEmbedAll(ctx: RequestContext): Promise<{
7
- jobId: string;
8
- message: string;
9
- }>;
7
+ triggerEmbedAll(ctx: RequestContext): Promise<EmbedAllResult>;
10
8
  }
11
9
  //# sourceMappingURL=ai-assistant.resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant.resolver.d.ts","sourceRoot":"","sources":["../../src/api/ai-assistant.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEvE,qBACa,mBAAmB;IAChB,OAAO,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB;IAGpD,eAAe,CAAQ,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC;QACvD,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACnB,CAAC;CAQL"}
1
+ {"version":3,"file":"ai-assistant.resolver.d.ts","sourceRoot":"","sources":["../../src/api/ai-assistant.resolver.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,qBACa,mBAAmB;IAChB,OAAO,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,kBAAkB;IAGpD,eAAe,CAAQ,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;CAQ7E"}
@@ -1 +1 @@
1
- {"version":3,"file":"ai-assistant.resolver.js","sourceRoot":"","sources":["../../src/api/ai-assistant.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAqD;AACrD,wCAAoD;AACpD,6EAAuE;AAGhE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAGxD,AAAN,KAAK,CAAC,eAAe,CAAQ,GAAmB;QAI5C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC1D,OAAO;YACH,KAAK;YACL,OAAO,EACH,iGAAiG;SACxG,CAAC;IACN,CAAC;CACJ,CAAA;AAfY,kDAAmB;AAItB;IADL,IAAA,kBAAQ,GAAE;IACY,WAAA,IAAA,UAAG,GAAE,CAAA;;qCAAM,qBAAc;;0DAU/C;8BAdQ,mBAAmB;IAD/B,IAAA,kBAAQ,GAAE;qCAEiC,0CAAkB;GADjD,mBAAmB,CAe/B"}
1
+ {"version":3,"file":"ai-assistant.resolver.js","sourceRoot":"","sources":["../../src/api/ai-assistant.resolver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6CAAqD;AACrD,wCAAoD;AACpD,6EAAuE;AAIhE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC5B,YAAoB,kBAAsC;QAAtC,uBAAkB,GAAlB,kBAAkB,CAAoB;IAAG,CAAC;IAGxD,AAAN,KAAK,CAAC,eAAe,CAAQ,GAAmB;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;QAC1D,OAAO;YACH,KAAK;YACL,OAAO,EACH,iGAAiG;SACxG,CAAC;IACN,CAAC;CACJ,CAAA;AAZY,kDAAmB;AAItB;IADL,IAAA,kBAAQ,GAAE;IACY,WAAA,IAAA,UAAG,GAAE,CAAA;;qCAAM,qBAAc;;0DAO/C;8BAXQ,mBAAmB;IAD/B,IAAA,kBAAQ,GAAE;qCAEiC,0CAAkB;GADjD,mBAAmB,CAY/B"}
@@ -37,5 +37,18 @@ export interface AiAssistantPluginOptions {
37
37
  * @default true
38
38
  */
39
39
  enableConversationCache?: boolean;
40
+ /**
41
+ * Azure OpenAI configuration for chat completions.
42
+ * When provided, chat services will use Azure OpenAI instead of direct OpenAI.
43
+ * Also acts as a fallback if the primary OpenAI call fails.
44
+ */
45
+ azureOpenai?: {
46
+ /** Azure OpenAI API key */
47
+ apiKey: string;
48
+ /** Azure resource name (e.g. "my-resource") */
49
+ resourceName: string;
50
+ /** Azure deployment name (e.g. "gpt-4.1") */
51
+ deploymentName: string;
52
+ };
40
53
  }
41
54
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAEhD,qIAAqI;AACrI,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,4KAA4K;AAC5K,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,eAAiC,CAAC;AACnE,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,oBAAoB,cAAc,CAAC;AAEhD,qIAAqI;AACrI,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,4KAA4K;AAC5K,eAAO,MAAM,kBAAkB,OAAO,CAAC;AACvC,oGAAoG;AACpG,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,0FAA0F;AAC1F,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAEtC;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,MAAM,WAAW,wBAAwB;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;;;;;;;OAWG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;OAIG;IACH,WAAW,CAAC,EAAE;QACV,2BAA2B;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,+CAA+C;QAC/C,YAAY,EAAE,MAAM,CAAC;QACrB,6CAA6C;QAC7C,cAAc,EAAE,MAAM,CAAC;KAC1B,CAAC;CACL"}
@@ -1,21 +1,38 @@
1
1
  import { Request } from 'express';
2
- import { RequestContextService, SessionService } from '@vendure/core';
2
+ import { RequestContextService, SessionService, AdministratorService } from '@vendure/core';
3
3
  import { AdminAiChatService, AdminChatResult } from '../services/admin-ai-chat.service';
4
+ import { AiChatHistoryService } from '../services/ai-chat-history.service';
5
+ import { type AiAssistantPluginOptions } from '../constants';
4
6
  export interface AdminChatRequest {
5
7
  message: string;
8
+ sessionId?: string;
6
9
  history?: Array<{
7
10
  role: 'user' | 'assistant';
8
11
  content: string;
9
12
  }>;
13
+ currentPage?: string;
10
14
  }
11
15
  export interface AdminChatResponse extends AdminChatResult {
16
+ sessionId?: string;
12
17
  }
13
18
  export declare class AdminChatController {
19
+ private options;
14
20
  private adminAiChatService;
21
+ private chatHistoryService;
15
22
  private requestContextService;
16
23
  private sessionService;
24
+ private administratorService;
17
25
  private readonly logger;
18
- constructor(adminAiChatService: AdminAiChatService, requestContextService: RequestContextService, sessionService: SessionService);
26
+ constructor(options: AiAssistantPluginOptions, adminAiChatService: AdminAiChatService, chatHistoryService: AiChatHistoryService, requestContextService: RequestContextService, sessionService: SessionService, administratorService: AdministratorService);
27
+ private resolveAuth;
19
28
  chat(body: AdminChatRequest, req: Request): Promise<AdminChatResponse>;
29
+ listSessions(req: Request, take?: string, skip?: string): Promise<{
30
+ items: import("..").AiChatSession[];
31
+ totalItems: number;
32
+ }>;
33
+ getSession(sessionId: string): Promise<import("..").AiChatSession | null>;
34
+ deleteSession(sessionId: string): Promise<{
35
+ success: boolean;
36
+ }>;
20
37
  }
21
38
  //# sourceMappingURL=admin-chat.controller.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-chat.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/admin-chat.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AAExF,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpE;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;CAAG;AAE7D,qBACa,mBAAmB;IAIxB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,cAAc;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAGnD,kBAAkB,EAAE,kBAAkB,EACtC,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc;IAIpC,IAAI,CAAS,IAAI,EAAE,gBAAgB,EAAS,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;CAwB9F"}
1
+ {"version":3,"file":"admin-chat.controller.d.ts","sourceRoot":"","sources":["../../src/controllers/admin-chat.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAwB,KAAK,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAEnF,MAAM,WAAW,gBAAgB;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAkB,SAAQ,eAAe;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBACa,mBAAmB;IAIM,OAAO,CAAC,OAAO;IAC7C,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,qBAAqB;IAC7B,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,oBAAoB;IARhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;gBAGrB,OAAO,EAAE,wBAAwB,EAC/D,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,oBAAoB,EACxC,qBAAqB,EAAE,qBAAqB,EAC5C,cAAc,EAAE,cAAc,EAC9B,oBAAoB,EAAE,oBAAoB;YAGxC,WAAW;IAyBnB,IAAI,CAAS,IAAI,EAAE,gBAAgB,EAAS,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA4DrF,YAAY,CACP,GAAG,EAAE,OAAO,EACJ,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,MAAM;;;;IAW1B,UAAU,CAAqB,SAAS,EAAE,MAAM;IAKhD,aAAa,CAAqB,SAAS,EAAE,MAAM;;;CAI5D"}
@@ -17,15 +17,19 @@ exports.AdminChatController = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const core_1 = require("@vendure/core");
19
19
  const admin_ai_chat_service_1 = require("../services/admin-ai-chat.service");
20
+ const ai_chat_history_service_1 = require("../services/ai-chat-history.service");
21
+ const constants_1 = require("../constants");
20
22
  let AdminChatController = AdminChatController_1 = class AdminChatController {
21
- constructor(adminAiChatService, requestContextService, sessionService) {
23
+ constructor(options, adminAiChatService, chatHistoryService, requestContextService, sessionService, administratorService) {
24
+ this.options = options;
22
25
  this.adminAiChatService = adminAiChatService;
26
+ this.chatHistoryService = chatHistoryService;
23
27
  this.requestContextService = requestContextService;
24
28
  this.sessionService = sessionService;
29
+ this.administratorService = administratorService;
25
30
  this.logger = new common_1.Logger(AdminChatController_1.name);
26
31
  }
27
- async chat(body, req) {
28
- var _a, _b;
32
+ async resolveAuth(req) {
29
33
  const authHeader = req.get('Authorization');
30
34
  const tokenMatch = authHeader === null || authHeader === void 0 ? void 0 : authHeader.trim().match(/^bearer\s(.+)$/i);
31
35
  const sessionToken = tokenMatch === null || tokenMatch === void 0 ? void 0 : tokenMatch[1];
@@ -34,16 +38,86 @@ let AdminChatController = AdminChatController_1 = class AdminChatController {
34
38
  session = await this.sessionService.getSessionFromToken(sessionToken);
35
39
  }
36
40
  const ctx = await this.requestContextService.fromRequest(req, undefined, undefined, session);
41
+ let administratorId = null;
42
+ if (ctx.activeUserId) {
43
+ try {
44
+ const admins = await this.administratorService.findAll(ctx, { filter: { emailAddress: { contains: '' } } });
45
+ const admin = admins.items.find(a => { var _a; return ((_a = a.user) === null || _a === void 0 ? void 0 : _a.id) === ctx.activeUserId; });
46
+ if (admin)
47
+ administratorId = admin.id;
48
+ }
49
+ catch { /* ignore */ }
50
+ }
51
+ return { ctx, administratorId };
52
+ }
53
+ async chat(body, req) {
54
+ var _a, _b, _c, _d, _e, _f;
55
+ const { ctx, administratorId } = await this.resolveAuth(req);
37
56
  const message = ((_a = body.message) !== null && _a !== void 0 ? _a : '').trim();
38
57
  const history = (_b = body.history) !== null && _b !== void 0 ? _b : [];
58
+ const sessionId = body.sessionId || `admin-${Date.now()}-${Math.random().toString(36).substring(2, 8)}`;
39
59
  if (!message) {
40
60
  return {
41
- message: "Hi! I'm your store admin assistant. I can help you look up products, orders, customers, and collections. What would you like to know?",
61
+ message: "Hi! I'm your store admin assistant. I can help you manage products, orders, customers, collections, and all store settings. What would you like to do?",
42
62
  products: [],
43
63
  collections: [],
64
+ sessionId,
44
65
  };
45
66
  }
46
- return this.adminAiChatService.chat(ctx, message, history);
67
+ // If sessionId was provided but no history, try to load from DB
68
+ let effectiveHistory = history;
69
+ if (body.sessionId && history.length === 0) {
70
+ try {
71
+ const existingSession = await this.chatHistoryService.getSession(body.sessionId);
72
+ if (existingSession) {
73
+ effectiveHistory = existingSession.messages.map(m => ({
74
+ role: m.role,
75
+ content: m.content,
76
+ }));
77
+ }
78
+ }
79
+ catch (e) {
80
+ this.logger.warn(`Failed to load session history: ${e}`);
81
+ }
82
+ }
83
+ const result = await this.adminAiChatService.chat(ctx, message, effectiveHistory, body.currentPage);
84
+ // Persist chat turn to DB
85
+ const model = this.options.azureOpenai ? this.options.azureOpenai.deploymentName : 'gpt-4o-mini';
86
+ try {
87
+ await this.chatHistoryService.appendMessage({
88
+ sessionId,
89
+ administratorId,
90
+ channelId: ctx.channelId,
91
+ model,
92
+ userMessage: message,
93
+ assistantMessage: result.message,
94
+ inputTokens: (_d = (_c = result.usage) === null || _c === void 0 ? void 0 : _c.inputTokens) !== null && _d !== void 0 ? _d : 0,
95
+ outputTokens: (_f = (_e = result.usage) === null || _e === void 0 ? void 0 : _e.outputTokens) !== null && _f !== void 0 ? _f : 0,
96
+ products: result.products,
97
+ collections: result.collections,
98
+ orders: result.orders,
99
+ });
100
+ }
101
+ catch (e) {
102
+ this.logger.error(`Failed to persist chat session: ${e}`);
103
+ }
104
+ return { ...result, sessionId };
105
+ }
106
+ // ── Session management endpoints ──
107
+ async listSessions(req, take, skip) {
108
+ const { administratorId } = await this.resolveAuth(req);
109
+ return this.chatHistoryService.listSessions({
110
+ administratorId: administratorId !== null && administratorId !== void 0 ? administratorId : undefined,
111
+ take: take ? parseInt(take, 10) : 50,
112
+ skip: skip ? parseInt(skip, 10) : 0,
113
+ });
114
+ }
115
+ async getSession(sessionId) {
116
+ return this.chatHistoryService.getSession(sessionId);
117
+ }
118
+ async deleteSession(sessionId) {
119
+ const deleted = await this.chatHistoryService.deleteSession(sessionId);
120
+ return { success: deleted };
47
121
  }
48
122
  };
49
123
  exports.AdminChatController = AdminChatController;
@@ -55,10 +129,36 @@ __decorate([
55
129
  __metadata("design:paramtypes", [Object, Object]),
56
130
  __metadata("design:returntype", Promise)
57
131
  ], AdminChatController.prototype, "chat", null);
132
+ __decorate([
133
+ (0, common_1.Get)('sessions'),
134
+ __param(0, (0, common_1.Req)()),
135
+ __param(1, (0, common_1.Query)('take')),
136
+ __param(2, (0, common_1.Query)('skip')),
137
+ __metadata("design:type", Function),
138
+ __metadata("design:paramtypes", [Object, String, String]),
139
+ __metadata("design:returntype", Promise)
140
+ ], AdminChatController.prototype, "listSessions", null);
141
+ __decorate([
142
+ (0, common_1.Get)('sessions/:sessionId'),
143
+ __param(0, (0, common_1.Param)('sessionId')),
144
+ __metadata("design:type", Function),
145
+ __metadata("design:paramtypes", [String]),
146
+ __metadata("design:returntype", Promise)
147
+ ], AdminChatController.prototype, "getSession", null);
148
+ __decorate([
149
+ (0, common_1.Delete)('sessions/:sessionId'),
150
+ __param(0, (0, common_1.Param)('sessionId')),
151
+ __metadata("design:type", Function),
152
+ __metadata("design:paramtypes", [String]),
153
+ __metadata("design:returntype", Promise)
154
+ ], AdminChatController.prototype, "deleteSession", null);
58
155
  exports.AdminChatController = AdminChatController = AdminChatController_1 = __decorate([
59
156
  (0, common_1.Controller)('admin-ai-chat'),
60
- __metadata("design:paramtypes", [admin_ai_chat_service_1.AdminAiChatService,
157
+ __param(0, (0, common_1.Inject)(constants_1.AI_ASSISTANT_OPTIONS)),
158
+ __metadata("design:paramtypes", [Object, admin_ai_chat_service_1.AdminAiChatService,
159
+ ai_chat_history_service_1.AiChatHistoryService,
61
160
  core_1.RequestContextService,
62
- core_1.SessionService])
161
+ core_1.SessionService,
162
+ core_1.AdministratorService])
63
163
  ], AdminChatController);
64
164
  //# sourceMappingURL=admin-chat.controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"admin-chat.controller.js","sourceRoot":"","sources":["../../src/controllers/admin-chat.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAqE;AAErE,wCAAsE;AACtE,6EAAwF;AAUjF,IAAM,mBAAmB,2BAAzB,MAAM,mBAAmB;IAG5B,YACY,kBAAsC,EACtC,qBAA4C,EAC5C,cAA8B;QAF9B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,mBAAc,GAAd,cAAc,CAAgB;QALzB,WAAM,GAAG,IAAI,eAAM,CAAC,qBAAmB,CAAC,IAAI,CAAC,CAAC;IAM5D,CAAC;IAGE,AAAN,KAAK,CAAC,IAAI,CAAS,IAAsB,EAAS,GAAY;;QAC1D,MAAM,UAAU,GAAG,GAAG,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC/D,MAAM,YAAY,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,CAAC,CAAC,CAAC;QAErC,IAAI,OAAO,CAAC;QACZ,IAAI,YAAY,EAAE,CAAC;YACf,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7F,MAAM,OAAO,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO;gBACH,OAAO,EAAE,uIAAuI;gBAChJ,QAAQ,EAAE,EAAE;gBACZ,WAAW,EAAE,EAAE;aAClB,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AAlCY,kDAAmB;AAUtB;IADL,IAAA,aAAI,EAAC,MAAM,CAAC;IACD,WAAA,IAAA,aAAI,GAAE,CAAA;IAA0B,WAAA,IAAA,YAAG,GAAE,CAAA;;;;+CAuBhD;8BAjCQ,mBAAmB;IAD/B,IAAA,mBAAU,EAAC,eAAe,CAAC;qCAKQ,0CAAkB;QACf,4BAAqB;QAC5B,qBAAc;GANjC,mBAAmB,CAkC/B"}
1
+ {"version":3,"file":"admin-chat.controller.js","sourceRoot":"","sources":["../../src/controllers/admin-chat.controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import { DeepPartial } from '@vendure/common/lib/shared-types';
2
+ import { VendureEntity } from '@vendure/core';
3
+ export interface AiChatMessageEntry {
4
+ role: 'user' | 'assistant';
5
+ content: string;
6
+ timestamp: string;
7
+ inputTokens?: number;
8
+ outputTokens?: number;
9
+ products?: any[];
10
+ collections?: any[];
11
+ orders?: any[];
12
+ }
13
+ export declare class AiChatSession extends VendureEntity {
14
+ constructor(input?: DeepPartial<AiChatSession>);
15
+ sessionId: string;
16
+ administratorId: number | null;
17
+ channelId: number | null;
18
+ title: string;
19
+ messages: AiChatMessageEntry[];
20
+ messageCount: number;
21
+ totalInputTokens: number;
22
+ totalOutputTokens: number;
23
+ model: string;
24
+ isActive: boolean;
25
+ lastMessageAt: Date | null;
26
+ }
27
+ //# sourceMappingURL=ai-chat-session.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-chat-session.entity.d.ts","sourceRoot":"","sources":["../../src/entities/ai-chat-session.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,GAAG,EAAE,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;CAClB;AAED,qBACa,aAAc,SAAQ,aAAa;gBAChC,KAAK,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC;IAM9C,SAAS,EAAE,MAAM,CAAC;IAIlB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,kBAAkB,EAAE,CAAC;IAG/B,YAAY,EAAE,MAAM,CAAC;IAGrB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,iBAAiB,EAAE,MAAM,CAAC;IAG1B,KAAK,EAAE,MAAM,CAAC;IAId,QAAQ,EAAE,OAAO,CAAC;IAGlB,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;CAC9B"}
@@ -0,0 +1,72 @@
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.AiChatSession = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const core_1 = require("@vendure/core");
15
+ let AiChatSession = class AiChatSession extends core_1.VendureEntity {
16
+ constructor(input) {
17
+ super(input);
18
+ }
19
+ };
20
+ exports.AiChatSession = AiChatSession;
21
+ __decorate([
22
+ (0, typeorm_1.Column)({ type: 'varchar', unique: true }),
23
+ (0, typeorm_1.Index)(),
24
+ __metadata("design:type", String)
25
+ ], AiChatSession.prototype, "sessionId", void 0);
26
+ __decorate([
27
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
28
+ (0, typeorm_1.Index)(),
29
+ __metadata("design:type", Object)
30
+ ], AiChatSession.prototype, "administratorId", void 0);
31
+ __decorate([
32
+ (0, typeorm_1.Column)({ type: 'int', nullable: true }),
33
+ __metadata("design:type", Object)
34
+ ], AiChatSession.prototype, "channelId", void 0);
35
+ __decorate([
36
+ (0, typeorm_1.Column)({ type: 'varchar', length: 255, default: '' }),
37
+ __metadata("design:type", String)
38
+ ], AiChatSession.prototype, "title", void 0);
39
+ __decorate([
40
+ (0, typeorm_1.Column)({ type: 'jsonb', default: '[]' }),
41
+ __metadata("design:type", Array)
42
+ ], AiChatSession.prototype, "messages", void 0);
43
+ __decorate([
44
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
45
+ __metadata("design:type", Number)
46
+ ], AiChatSession.prototype, "messageCount", void 0);
47
+ __decorate([
48
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
49
+ __metadata("design:type", Number)
50
+ ], AiChatSession.prototype, "totalInputTokens", void 0);
51
+ __decorate([
52
+ (0, typeorm_1.Column)({ type: 'int', default: 0 }),
53
+ __metadata("design:type", Number)
54
+ ], AiChatSession.prototype, "totalOutputTokens", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ type: 'varchar', length: 100, default: '' }),
57
+ __metadata("design:type", String)
58
+ ], AiChatSession.prototype, "model", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ type: 'boolean', default: true }),
61
+ (0, typeorm_1.Index)(),
62
+ __metadata("design:type", Boolean)
63
+ ], AiChatSession.prototype, "isActive", void 0);
64
+ __decorate([
65
+ (0, typeorm_1.Column)({ type: 'timestamp', nullable: true }),
66
+ __metadata("design:type", Object)
67
+ ], AiChatSession.prototype, "lastMessageAt", void 0);
68
+ exports.AiChatSession = AiChatSession = __decorate([
69
+ (0, typeorm_1.Entity)('ai_chat_session'),
70
+ __metadata("design:paramtypes", [Object])
71
+ ], AiChatSession);
72
+ //# sourceMappingURL=ai-chat-session.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-chat-session.entity.js","sourceRoot":"","sources":["../../src/entities/ai-chat-session.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAgD;AAChD,wCAA8C;AAcvC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,oBAAa;IAC5C,YAAY,KAAkC;QAC1C,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CAqCJ,CAAA;AAxCY,sCAAa;AAOtB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACzC,IAAA,eAAK,GAAE;;gDACU;AAIlB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvC,IAAA,eAAK,GAAE;;sDACuB;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gDACf;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACxC;AAGd;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;;+CACV;AAG/B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;mDACf;AAGrB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACX;AAGzB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;wDACV;AAG1B;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACxC;AAId;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1C,IAAA,eAAK,GAAE;;+CACU;AAGlB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oDACnB;wBAvClB,aAAa;IADzB,IAAA,gBAAM,EAAC,iBAAiB,CAAC;;GACb,aAAa,CAwCzB"}
@@ -0,0 +1,59 @@
1
+ export type Maybe<T> = T | null;
2
+ export type InputMaybe<T> = Maybe<T>;
3
+ export type Exact<T extends {
4
+ [key: string]: unknown;
5
+ }> = {
6
+ [K in keyof T]: T[K];
7
+ };
8
+ export type MakeOptional<T, K extends keyof T> = Omit<T, K> & {
9
+ [SubKey in K]?: Maybe<T[SubKey]>;
10
+ };
11
+ export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & {
12
+ [SubKey in K]: Maybe<T[SubKey]>;
13
+ };
14
+ export type MakeEmpty<T extends {
15
+ [key: string]: unknown;
16
+ }, K extends keyof T> = {
17
+ [_ in K]?: never;
18
+ };
19
+ export type Incremental<T> = T | {
20
+ [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never;
21
+ };
22
+ /** All built-in and custom scalars, mapped to their actual values */
23
+ export type Scalars = {
24
+ ID: {
25
+ input: string;
26
+ output: string;
27
+ };
28
+ String: {
29
+ input: string;
30
+ output: string;
31
+ };
32
+ Boolean: {
33
+ input: boolean;
34
+ output: boolean;
35
+ };
36
+ Int: {
37
+ input: number;
38
+ output: number;
39
+ };
40
+ Float: {
41
+ input: number;
42
+ output: number;
43
+ };
44
+ };
45
+ export type EmbedAllResult = {
46
+ __typename?: 'EmbedAllResult';
47
+ jobId: Scalars['ID']['output'];
48
+ message: Scalars['String']['output'];
49
+ };
50
+ export type Mutation = {
51
+ __typename?: 'Mutation';
52
+ /** Enqueue a background job to embed all products, variants, and collections. */
53
+ triggerEmbedAll: EmbedAllResult;
54
+ };
55
+ export type Query = {
56
+ __typename?: 'Query';
57
+ _placeholder?: Maybe<Scalars['Boolean']['output']>;
58
+ };
59
+ //# sourceMappingURL=graphql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../src/generated/graphql.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAChC,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;AACrC,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,CAAC;AACnF,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AACnG,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;KAAG,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;CAAE,CAAC;AAC/F,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAC;AACtG,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,gBAAgB,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CAAE,CAAC;AAC/G,qEAAqE;AACrE,MAAM,MAAM,OAAO,GAAG;IACpB,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IACtC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IAC1C,OAAO,EAAE;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,OAAO,CAAC;KAAE,CAAA;IAC7C,GAAG,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;IACvC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;KAAE,CAAA;CAC1C,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,iFAAiF;IACjF,eAAe,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;CACpD,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=graphql.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/generated/graphql.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -10,6 +10,9 @@ export { CollectionEmbeddingService } from './services/collection-embedding.serv
10
10
  export { AiChatService } from './services/ai-chat.service';
11
11
  export { AdminAiChatService } from './services/admin-ai-chat.service';
12
12
  export { ConversationCacheService } from './services/conversation-cache.service';
13
+ export { AiChatHistoryService } from './services/ai-chat-history.service';
14
+ export { AiChatSession } from './entities/ai-chat-session.entity';
15
+ export type { AiChatMessageEntry } from './entities/ai-chat-session.entity';
13
16
  export type { CachedConversation } from './services/conversation-cache.service';
14
17
  export type { EmbeddingOptions } from './services/embedding.service';
15
18
  export type { SimilarProductResult } from './services/product-embedding.service';
@@ -20,5 +23,7 @@ export { AiAssistantController } from './controllers/ai-assistant.controller';
20
23
  export { AdminChatController } from './controllers/admin-chat.controller';
21
24
  export type { AdminChatRequest, AdminChatResponse } from './controllers/admin-chat.controller';
22
25
  export type { AiChatRequest, AiChatResponse, AiChatProduct, AddToCartAction, AiChatOrder, AiChatOrderLine, AiActiveOrder, AiCartLine, SetShippingAddressAction, SetBillingAddressAction, SetShippingMethodAction, } from './controllers/ai-assistant.controller';
23
- export type { AiPromotion, ApplyCouponAction } from './services/types';
26
+ export type { AiPromotion, ApplyCouponAction, AiTokenUsage } from './services/types';
27
+ export type { AdminChatResult } from './services/admin-ai-chat.service';
28
+ export type { EmbedAllResult } from './generated/graphql';
24
29
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC/F,YAAY,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,YAAY,EAAE,kBAAkB,EAAE,MAAM,uCAAuC,CAAC;AAChF,YAAY,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACrE,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AAC/F,YAAY,EACR,aAAa,EACb,cAAc,EACd,aAAa,EACb,eAAe,EACf,WAAW,EACX,eAAe,EACf,aAAa,EACb,UAAU,EACV,wBAAwB,EACxB,uBAAuB,EACvB,uBAAuB,GAC1B,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrF,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AdminChatController = exports.AiAssistantController = exports.EMBED_ALL_QUEUE_NAME = exports.AI_ASSISTANT_OPTIONS = exports.ConversationCacheService = exports.AdminAiChatService = exports.AiChatService = exports.CollectionEmbeddingService = exports.VariantEmbeddingService = exports.ProductEmbeddingService = exports.EmbeddingService = exports.CollectionEmbedding = exports.VariantEmbedding = exports.ProductEmbedding = exports.AiAssistantPlugin = void 0;
3
+ exports.AdminChatController = exports.AiAssistantController = exports.EMBED_ALL_QUEUE_NAME = exports.AI_ASSISTANT_OPTIONS = exports.AiChatSession = exports.AiChatHistoryService = exports.ConversationCacheService = exports.AdminAiChatService = exports.AiChatService = exports.CollectionEmbeddingService = exports.VariantEmbeddingService = exports.ProductEmbeddingService = exports.EmbeddingService = exports.CollectionEmbedding = exports.VariantEmbedding = exports.ProductEmbedding = exports.AiAssistantPlugin = void 0;
4
4
  var ai_assistant_plugin_1 = require("./ai-assistant.plugin");
5
5
  Object.defineProperty(exports, "AiAssistantPlugin", { enumerable: true, get: function () { return ai_assistant_plugin_1.AiAssistantPlugin; } });
6
6
  var product_embedding_entity_1 = require("./entities/product-embedding.entity");
@@ -23,6 +23,10 @@ var admin_ai_chat_service_1 = require("./services/admin-ai-chat.service");
23
23
  Object.defineProperty(exports, "AdminAiChatService", { enumerable: true, get: function () { return admin_ai_chat_service_1.AdminAiChatService; } });
24
24
  var conversation_cache_service_1 = require("./services/conversation-cache.service");
25
25
  Object.defineProperty(exports, "ConversationCacheService", { enumerable: true, get: function () { return conversation_cache_service_1.ConversationCacheService; } });
26
+ var ai_chat_history_service_1 = require("./services/ai-chat-history.service");
27
+ Object.defineProperty(exports, "AiChatHistoryService", { enumerable: true, get: function () { return ai_chat_history_service_1.AiChatHistoryService; } });
28
+ var ai_chat_session_entity_1 = require("./entities/ai-chat-session.entity");
29
+ Object.defineProperty(exports, "AiChatSession", { enumerable: true, get: function () { return ai_chat_session_entity_1.AiChatSession; } });
26
30
  var constants_1 = require("./constants");
27
31
  Object.defineProperty(exports, "AI_ASSISTANT_OPTIONS", { enumerable: true, get: function () { return constants_1.AI_ASSISTANT_OPTIONS; } });
28
32
  Object.defineProperty(exports, "EMBED_ALL_QUEUE_NAME", { enumerable: true, get: function () { return constants_1.EMBED_ALL_QUEUE_NAME; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAE1B,gFAAuE;AAA9D,4HAAA,gBAAgB,OAAA;AACzB,gFAAuE;AAA9D,4HAAA,gBAAgB,OAAA;AACzB,sFAA6E;AAApE,kIAAA,mBAAmB,OAAA;AAC5B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AACzB,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,wFAAqF;AAA5E,0IAAA,0BAA0B,OAAA;AACnC,8DAA2D;AAAlD,gHAAA,aAAa,OAAA;AACtB,0EAAsE;AAA7D,2HAAA,kBAAkB,OAAA;AAC3B,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AAMjC,yCAAyE;AAAhE,iHAAA,oBAAoB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AACnD,iFAA8E;AAArE,gIAAA,qBAAqB,OAAA;AAC9B,6EAA0E;AAAjE,4HAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,6DAA0D;AAAjD,wHAAA,iBAAiB,OAAA;AAE1B,gFAAuE;AAA9D,4HAAA,gBAAgB,OAAA;AACzB,gFAAuE;AAA9D,4HAAA,gBAAgB,OAAA;AACzB,sFAA6E;AAApE,kIAAA,mBAAmB,OAAA;AAC5B,kEAAgE;AAAvD,qHAAA,gBAAgB,OAAA;AACzB,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,kFAA+E;AAAtE,oIAAA,uBAAuB,OAAA;AAChC,wFAAqF;AAA5E,0IAAA,0BAA0B,OAAA;AACnC,8DAA2D;AAAlD,gHAAA,aAAa,OAAA;AACtB,0EAAsE;AAA7D,2HAAA,kBAAkB,OAAA;AAC3B,oFAAiF;AAAxE,sIAAA,wBAAwB,OAAA;AACjC,8EAA0E;AAAjE,+HAAA,oBAAoB,OAAA;AAC7B,4EAAkE;AAAzD,uHAAA,aAAa,OAAA;AAOtB,yCAAyE;AAAhE,iHAAA,oBAAoB,OAAA;AAAE,iHAAA,oBAAoB,OAAA;AACnD,iFAA8E;AAArE,gIAAA,qBAAqB,OAAA;AAC9B,6EAA0E;AAAjE,4HAAA,mBAAmB,OAAA"}