@carlonicora/nestjs-neo4jsonapi 2.11.0 → 2.12.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 (65) hide show
  1. package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts +6 -1
  2. package/dist/agents/community.summariser/cron/community.summariser.cron.d.ts.map +1 -1
  3. package/dist/agents/community.summariser/cron/community.summariser.cron.js +16 -2
  4. package/dist/agents/community.summariser/cron/community.summariser.cron.js.map +1 -1
  5. package/dist/agents/community.summariser/processors/community.summariser.processor.d.ts.map +1 -1
  6. package/dist/agents/community.summariser/processors/community.summariser.processor.js +5 -0
  7. package/dist/agents/community.summariser/processors/community.summariser.processor.js.map +1 -1
  8. package/dist/agents/operator/controllers/operator.controller.d.ts +16 -1
  9. package/dist/agents/operator/controllers/operator.controller.d.ts.map +1 -1
  10. package/dist/agents/operator/controllers/operator.controller.js +17 -2
  11. package/dist/agents/operator/controllers/operator.controller.js.map +1 -1
  12. package/dist/common/helpers/credit-gate.d.ts +11 -0
  13. package/dist/common/helpers/credit-gate.d.ts.map +1 -1
  14. package/dist/common/helpers/credit-gate.js +19 -0
  15. package/dist/common/helpers/credit-gate.js.map +1 -1
  16. package/dist/common/tokens.d.ts +23 -0
  17. package/dist/common/tokens.d.ts.map +1 -1
  18. package/dist/common/tokens.js +12 -0
  19. package/dist/common/tokens.js.map +1 -1
  20. package/dist/foundations/assistant/controllers/assistant.controller.d.ts.map +1 -1
  21. package/dist/foundations/assistant/controllers/assistant.controller.js +7 -0
  22. package/dist/foundations/assistant/controllers/assistant.controller.js.map +1 -1
  23. package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts +23 -3
  24. package/dist/foundations/assistant-action/controllers/assistant-action.controller.d.ts.map +1 -1
  25. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js +25 -2
  26. package/dist/foundations/assistant-action/controllers/assistant-action.controller.js.map +1 -1
  27. package/dist/foundations/chunk/processors/chunk.embedding.processor.d.ts.map +1 -1
  28. package/dist/foundations/chunk/processors/chunk.embedding.processor.js +6 -0
  29. package/dist/foundations/chunk/processors/chunk.embedding.processor.js.map +1 -1
  30. package/dist/foundations/chunk/processors/chunk.processor.d.ts.map +1 -1
  31. package/dist/foundations/chunk/processors/chunk.processor.js +5 -0
  32. package/dist/foundations/chunk/processors/chunk.processor.js.map +1 -1
  33. package/dist/foundations/company/entities/company.d.ts +9 -0
  34. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  35. package/dist/foundations/company/entities/company.js +1 -0
  36. package/dist/foundations/company/entities/company.js.map +1 -1
  37. package/dist/foundations/company/events/company.events.d.ts +12 -0
  38. package/dist/foundations/company/events/company.events.d.ts.map +1 -0
  39. package/dist/foundations/company/events/company.events.js +12 -0
  40. package/dist/foundations/company/events/company.events.js.map +1 -0
  41. package/dist/foundations/company/index.d.ts +1 -0
  42. package/dist/foundations/company/index.d.ts.map +1 -1
  43. package/dist/foundations/company/index.js +3 -1
  44. package/dist/foundations/company/index.js.map +1 -1
  45. package/dist/foundations/company/repositories/company.repository.d.ts +2 -0
  46. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  47. package/dist/foundations/company/repositories/company.repository.js +5 -0
  48. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  49. package/dist/foundations/company/services/company.service.d.ts +46 -1
  50. package/dist/foundations/company/services/company.service.d.ts.map +1 -1
  51. package/dist/foundations/company/services/company.service.js +71 -2
  52. package/dist/foundations/company/services/company.service.js.map +1 -1
  53. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts +6 -1
  54. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.d.ts.map +1 -1
  55. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js +20 -2
  56. package/dist/foundations/keyconcept/processors/keyconcept.embedding.processor.js.map +1 -1
  57. package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts +3 -1
  58. package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts.map +1 -1
  59. package/dist/foundations/stripe-subscription/services/token-allocation.service.js +8 -3
  60. package/dist/foundations/stripe-subscription/services/token-allocation.service.js.map +1 -1
  61. package/dist/foundations/stripe-trial/services/trial.service.d.ts +3 -1
  62. package/dist/foundations/stripe-trial/services/trial.service.d.ts.map +1 -1
  63. package/dist/foundations/stripe-trial/services/trial.service.js +14 -9
  64. package/dist/foundations/stripe-trial/services/trial.service.js.map +1 -1
  65. package/package.json +1 -1
@@ -2,6 +2,7 @@ import { WorkerHost } from "@nestjs/bullmq";
2
2
  import { ConfigService } from "@nestjs/config";
3
3
  import { Job } from "bullmq";
4
4
  import { ClsService } from "nestjs-cls";
5
+ import { CreditValidatorInterface } from "../../../common/tokens";
5
6
  import { BaseConfigInterface } from "../../../config/interfaces/base.config.interface";
6
7
  import { EmbedderService } from "../../../core";
7
8
  import { KeyConceptRepository } from "../repositories/keyconcept.repository";
@@ -10,8 +11,12 @@ export declare class KeyConceptEmbeddingProcessor extends WorkerHost {
10
11
  private readonly clsService;
11
12
  private readonly keyConceptRepository;
12
13
  private readonly embedderService;
14
+ /** See ChunkProcessor: seam, not CompanyService — CompanyModule would mount `companies/*` here. */
15
+ private readonly creditValidator?;
13
16
  private readonly rebuildKeyConceptsJobName;
14
- constructor(clsService: ClsService, keyConceptRepository: KeyConceptRepository, embedderService: EmbedderService, configService: ConfigService<BaseConfigInterface>);
17
+ constructor(clsService: ClsService, keyConceptRepository: KeyConceptRepository, embedderService: EmbedderService, configService: ConfigService<BaseConfigInterface>,
18
+ /** See ChunkProcessor: seam, not CompanyService — CompanyModule would mount `companies/*` here. */
19
+ creditValidator?: CreditValidatorInterface);
15
20
  onActive(job: Job): void;
16
21
  onError(job: Job): void;
17
22
  onCompleted(job: Job): void;
@@ -1 +1 @@
1
- {"version":3,"file":"keyconcept.embedding.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBACa,4BAA6B,SAAQ,UAAU;IAIxD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IALlC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAGhC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EACjD,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAQnD,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,OAAO,CAAC,GAAG,EAAE,GAAG;IAKhB,WAAW,CAAC,GAAG,EAAE,GAAG;IAId,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CA0CxD"}
1
+ {"version":3,"file":"keyconcept.embedding.processor.d.ts","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEtE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAoB,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AACvF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAE7E,eAAO,MAAM,0BAA0B,0BAA0B,CAAC;AAElE,qBACa,4BAA6B,SAAQ,UAAU;IAIxD,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe;IAEhC,mGAAmG;IAGnG,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;IAVnC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;gBAGhC,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,oBAAoB,EAC1C,eAAe,EAAE,eAAe,EACjD,aAAa,EAAE,aAAa,CAAC,mBAAmB,CAAC;IACjD,mGAAmG;IAGlF,eAAe,CAAC,EAAE,wBAAwB;IAQ7D,QAAQ,CAAC,GAAG,EAAE,GAAG;IAKjB,OAAO,CAAC,GAAG,EAAE,GAAG;IAKhB,WAAW,CAAC,GAAG,EAAE,GAAG;IAId,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;CAqDxD"}
@@ -8,21 +8,28 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.KeyConceptEmbeddingProcessor = exports.KEYCONCEPT_EMBEDDING_QUEUE = void 0;
13
16
  const bullmq_1 = require("@nestjs/bullmq");
17
+ const common_1 = require("@nestjs/common");
14
18
  const config_1 = require("@nestjs/config");
15
19
  const bullmq_2 = require("bullmq");
16
20
  const nestjs_cls_1 = require("nestjs-cls");
21
+ const credit_gate_1 = require("../../../common/helpers/credit-gate");
22
+ const tokens_1 = require("../../../common/tokens");
17
23
  const core_1 = require("../../../core");
18
24
  const keyconcept_repository_1 = require("../repositories/keyconcept.repository");
19
25
  exports.KEYCONCEPT_EMBEDDING_QUEUE = "embedding-keyconcepts";
20
26
  let KeyConceptEmbeddingProcessor = class KeyConceptEmbeddingProcessor extends bullmq_1.WorkerHost {
21
- constructor(clsService, keyConceptRepository, embedderService, configService) {
27
+ constructor(clsService, keyConceptRepository, embedderService, configService, creditValidator) {
22
28
  super();
23
29
  this.clsService = clsService;
24
30
  this.keyConceptRepository = keyConceptRepository;
25
31
  this.embedderService = embedderService;
32
+ this.creditValidator = creditValidator;
26
33
  this.rebuildKeyConceptsJobName =
27
34
  configService.get("jobNames", { infer: true })?.process?.rebuild_keyconcepts ?? "embedding:rebuild_keyconcepts";
28
35
  }
@@ -43,6 +50,15 @@ let KeyConceptEmbeddingProcessor = class KeyConceptEmbeddingProcessor extends bu
43
50
  this.clsService.set("companyId", job.data.companyId);
44
51
  this.clsService.set("userId", job.data.userId);
45
52
  this.clsService.set("isAutomatedJob", true);
53
+ // No AI on this plan: drop silently. Deliberately BEFORE the credit
54
+ // check so nothing is ever marked pending or deferred — an AI-free
55
+ // company must accumulate no backlog. Mirrors ChunkEmbeddingProcessor.
56
+ if (!(await (0, credit_gate_1.isAiEnabledVia)(this.creditValidator, { companyId: job.data.companyId }))) {
57
+ return { processed: 0 };
58
+ }
59
+ if (!(await (0, credit_gate_1.hasAvailableCreditsVia)(this.creditValidator, { companyId: job.data.companyId }))) {
60
+ return { processed: 0 }; // admin re-embed is maintenance; skip cleanly, no marker
61
+ }
46
62
  // 1. Recreate vector index with new dimensions
47
63
  await this.keyConceptRepository.recreateVectorIndex();
48
64
  // 2. Get all keyconcepts
@@ -90,9 +106,11 @@ __decorate([
90
106
  ], KeyConceptEmbeddingProcessor.prototype, "onCompleted", null);
91
107
  exports.KeyConceptEmbeddingProcessor = KeyConceptEmbeddingProcessor = __decorate([
92
108
  (0, bullmq_1.Processor)(exports.KEYCONCEPT_EMBEDDING_QUEUE, { concurrency: 1, lockDuration: 1000 * 60 * 30 }),
109
+ __param(4, (0, common_1.Optional)()),
110
+ __param(4, (0, common_1.Inject)(tokens_1.CREDIT_VALIDATOR)),
93
111
  __metadata("design:paramtypes", [nestjs_cls_1.ClsService,
94
112
  keyconcept_repository_1.KeyConceptRepository,
95
113
  core_1.EmbedderService,
96
- config_1.ConfigService])
114
+ config_1.ConfigService, Object])
97
115
  ], KeyConceptEmbeddingProcessor);
98
116
  //# sourceMappingURL=keyconcept.embedding.processor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyconcept.embedding.processor.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyconcept.embedding.processor.js","sourceRoot":"","sources":["../../../../src/foundations/keyconcept/processors/keyconcept.embedding.processor.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAsE;AACtE,2CAAkD;AAClD,2CAA+C;AAC/C,mCAA6B;AAC7B,2CAAwC;AACxC,qEAA6F;AAC7F,mDAAoF;AAEpF,wCAAgD;AAChD,iFAA6E;AAEhE,QAAA,0BAA0B,GAAG,uBAAuB,CAAC;AAG3D,IAAM,4BAA4B,GAAlC,MAAM,4BAA6B,SAAQ,mBAAU;IAG1D,YACmB,UAAsB,EACtB,oBAA0C,EAC1C,eAAgC,EACjD,aAAiD,EAIhC,eAA0C;QAE3D,KAAK,EAAE,CAAC;QATS,eAAU,GAAV,UAAU,CAAY;QACtB,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,oBAAe,GAAf,eAAe,CAAiB;QAKhC,oBAAe,GAAf,eAAe,CAA2B;QAG3D,IAAI,CAAC,yBAAyB;YAC5B,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,mBAAmB,IAAI,+BAA+B,CAAC;IACpH,CAAC;IAGD,QAAQ,CAAC,GAAQ;QACf,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC;IAC5C,CAAC;IAGD,OAAO,CAAC,GAAQ;QACd,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,cAAc,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;IACjG,CAAC;IAGD,WAAW,CAAC,GAAQ;QAClB,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAQ;QACpB,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,yBAAyB,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,8CAA8C,CAAC,CAAC;QACjF,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACrD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAE5C,oEAAoE;YACpE,mEAAmE;YACnE,uEAAuE;YACvE,IAAI,CAAC,CAAC,MAAM,IAAA,4BAAc,EAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;gBACrF,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;YAC1B,CAAC;YAED,IAAI,CAAC,CAAC,MAAM,IAAA,oCAAsB,EAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC;gBAC7F,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC,yDAAyD;YACpF,CAAC;YAED,+CAA+C;YAC/C,MAAM,IAAI,CAAC,oBAAoB,CAAC,mBAAmB,EAAE,CAAC;YAEtD,yBAAyB;YACzB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,CAAC;YAC5E,MAAM,qBAAqB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEpE,wBAAwB;YACxB,MAAM,SAAS,GAAG,GAAG,CAAC;YACtB,IAAI,SAAS,GAAG,CAAC,CAAC;YAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;gBACjE,MAAM,KAAK,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;gBAE5D,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACtC,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC;wBAC9C,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;wBACzB,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;qBACzB,CAAC,CAAC;oBACH,SAAS,EAAE,CAAC;gBACd,CAAC;gBAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,GAAG,qBAAqB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC9E,MAAM,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;YAED,OAAO,EAAE,SAAS,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAtFY,oEAA4B;AAmBvC;IADC,IAAA,sBAAa,EAAC,QAAQ,CAAC;;qCACV,YAAG;;4DAEhB;AAGD;IADC,IAAA,sBAAa,EAAC,QAAQ,CAAC;;qCACX,YAAG;;2DAEf;AAGD;IADC,IAAA,sBAAa,EAAC,WAAW,CAAC;;qCACV,YAAG;;+DAEnB;uCA/BU,4BAA4B;IADxC,IAAA,kBAAS,EAAC,kCAA0B,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAUnF,WAAA,IAAA,iBAAQ,GAAE,CAAA;IACV,WAAA,IAAA,eAAM,EAAC,yBAAgB,CAAC,CAAA;qCANI,uBAAU;QACA,4CAAoB;QACzB,sBAAe;QAClC,sBAAa;GAPnB,4BAA4B,CAsFxC"}
@@ -1,5 +1,6 @@
1
1
  import { AppLoggingService } from "../../../core/logging";
2
2
  import { CompanyRepository } from "../../company/repositories/company.repository";
3
+ import { CompanyService } from "../../company/services/company.service";
3
4
  import { StripePriceRepository } from "../../stripe-price/repositories/stripe-price.repository";
4
5
  import { StripeSubscriptionRepository } from "../repositories/stripe-subscription.repository";
5
6
  export interface TokenAllocationResult {
@@ -12,9 +13,10 @@ export interface TokenAllocationResult {
12
13
  export declare class TokenAllocationService {
13
14
  private readonly subscriptionRepository;
14
15
  private readonly companyRepository;
16
+ private readonly companyService;
15
17
  private readonly stripePriceRepository;
16
18
  private readonly logger;
17
- constructor(subscriptionRepository: StripeSubscriptionRepository, companyRepository: CompanyRepository, stripePriceRepository: StripePriceRepository, logger: AppLoggingService);
19
+ constructor(subscriptionRepository: StripeSubscriptionRepository, companyRepository: CompanyRepository, companyService: CompanyService, stripePriceRepository: StripePriceRepository, logger: AppLoggingService);
18
20
  /**
19
21
  * Allocate full tokens on subscription payment (new or renewal)
20
22
  *
@@ -1 +1 @@
1
- {"version":3,"file":"token-allocation.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,sBAAsB,EAAE,4BAA4B,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,iBAAiB;IAG5C;;;;;;;;;OASG;IACG,uBAAuB,CAAC,MAAM,EAAE;QAAE,oBAAoB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAsDvG;;;;;;;;;;;;OAYG;IACG,kCAAkC,CAAC,MAAM,EAAE;QAC/C,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA6DlC;;;;;;;;;;;OAWG;IACG,oCAAoC,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiD/G;;OAEG;YACW,yBAAyB;CAMxC"}
1
+ {"version":3,"file":"token-allocation.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,4BAA4B,EAAE,MAAM,gDAAgD,CAAC;AAE9F,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IACvC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAJN,sBAAsB,EAAE,4BAA4B,EACpD,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,qBAAqB,EAAE,qBAAqB,EAC5C,MAAM,EAAE,iBAAiB;IAG5C;;;;;;;;;OASG;IACG,uBAAuB,CAAC,MAAM,EAAE;QAAE,oBAAoB,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuDvG;;;;;;;;;;;;OAYG;IACG,kCAAkC,CAAC,MAAM,EAAE;QAC/C,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA8DlC;;;;;;;;;;;OAWG;IACG,oCAAoC,CAAC,MAAM,EAAE;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiD/G;;OAEG;YACW,yBAAyB;CAMxC"}
@@ -13,12 +13,14 @@ exports.TokenAllocationService = void 0;
13
13
  const common_1 = require("@nestjs/common");
14
14
  const logging_1 = require("../../../core/logging");
15
15
  const company_repository_1 = require("../../company/repositories/company.repository");
16
+ const company_service_1 = require("../../company/services/company.service");
16
17
  const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
17
18
  const stripe_subscription_repository_1 = require("../repositories/stripe-subscription.repository");
18
19
  let TokenAllocationService = class TokenAllocationService {
19
- constructor(subscriptionRepository, companyRepository, stripePriceRepository, logger) {
20
+ constructor(subscriptionRepository, companyRepository, companyService, stripePriceRepository, logger) {
20
21
  this.subscriptionRepository = subscriptionRepository;
21
22
  this.companyRepository = companyRepository;
23
+ this.companyService = companyService;
22
24
  this.stripePriceRepository = stripePriceRepository;
23
25
  this.logger = logger;
24
26
  }
@@ -60,10 +62,11 @@ let TokenAllocationService = class TokenAllocationService {
60
62
  isActiveSubscription: true,
61
63
  });
62
64
  // 5. Reset monthly tokens to full amount
63
- await this.companyRepository.updateTokens({
65
+ await this.companyService.updateTokensAndAiFlag({
64
66
  companyId: company.id,
65
67
  monthlyCredits: price.token,
66
68
  availableMonthlyCredits: price.token,
69
+ aiEnabled: (price.token ?? 0) > 0,
67
70
  });
68
71
  this.logger.log(`Token allocation on payment: Company ${company.id} - reset from ${previousTokens} to ${price.token} tokens`);
69
72
  return {
@@ -119,10 +122,11 @@ let TokenAllocationService = class TokenAllocationService {
119
122
  // 5. Get current company state
120
123
  const previousTokens = Number(company.availableMonthlyCredits ?? 0);
121
124
  // 6. Reset to prorated amount
122
- await this.companyRepository.updateTokens({
125
+ await this.companyService.updateTokensAndAiFlag({
123
126
  companyId: company.id,
124
127
  monthlyCredits: newPrice.token,
125
128
  availableMonthlyCredits: proratedTokens,
129
+ aiEnabled: (newPrice.token ?? 0) > 0,
126
130
  });
127
131
  this.logger.log(`Prorated token allocation: Company ${company.id} - reset from ${previousTokens} to ${proratedTokens} tokens (${remainingDays.toFixed(1)}/${totalDays.toFixed(1)} days remaining)`);
128
132
  return {
@@ -197,6 +201,7 @@ exports.TokenAllocationService = TokenAllocationService = __decorate([
197
201
  (0, common_1.Injectable)(),
198
202
  __metadata("design:paramtypes", [stripe_subscription_repository_1.StripeSubscriptionRepository,
199
203
  company_repository_1.CompanyRepository,
204
+ company_service_1.CompanyService,
200
205
  stripe_price_repository_1.StripePriceRepository,
201
206
  logging_1.AppLoggingService])
202
207
  ], TokenAllocationService);
@@ -1 +1 @@
1
- {"version":3,"file":"token-allocation.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-allocation.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-subscription/services/token-allocation.service.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { ModuleRef } from "@nestjs/core";
2
2
  import { AppLoggingService } from "../../../core/logging/services/logging.service";
3
3
  import { CompanyRepository } from "../../company/repositories/company.repository";
4
+ import { CompanyService } from "../../company/services/company.service";
4
5
  /**
5
6
  * TrialService
6
7
  *
@@ -24,8 +25,9 @@ import { CompanyRepository } from "../../company/repositories/company.repository
24
25
  export declare class TrialService {
25
26
  private readonly moduleRef;
26
27
  private readonly companyRepository;
28
+ private readonly companyService;
27
29
  private readonly logger;
28
- constructor(moduleRef: ModuleRef, companyRepository: CompanyRepository, logger: AppLoggingService);
30
+ constructor(moduleRef: ModuleRef, companyRepository: CompanyRepository, companyService: CompanyService, logger: AppLoggingService);
29
31
  /**
30
32
  * Lazily get Stripe services via ModuleRef to avoid circular dependencies.
31
33
  * Stripe modules form a complex circular chain that can't be resolved with forwardRef alone.
@@ -1 +1 @@
1
- {"version":3,"file":"trial.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAMlF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAFN,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,MAAM,EAAE,iBAAiB;IAG5C;;;OAGG;IACH,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,KAAK,8BAA8B,GAEzC;IAED,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAsD/E"}
1
+ {"version":3,"file":"trial.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAMxE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBACa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAHN,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,iBAAiB;IAG5C;;;OAGG;IACH,OAAO,KAAK,0BAA0B,GAErC;IAED,OAAO,KAAK,8BAA8B,GAEzC;IAED,OAAO,KAAK,qBAAqB,GAEhC;IAED,OAAO,KAAK,wBAAwB,GAEnC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAwD/E"}
@@ -14,6 +14,7 @@ const common_1 = require("@nestjs/common");
14
14
  const core_1 = require("@nestjs/core");
15
15
  const logging_service_1 = require("../../../core/logging/services/logging.service");
16
16
  const company_repository_1 = require("../../company/repositories/company.repository");
17
+ const company_service_1 = require("../../company/services/company.service");
17
18
  const stripe_customer_repository_1 = require("../../stripe-customer/repositories/stripe-customer.repository");
18
19
  const stripe_customer_admin_service_1 = require("../../stripe-customer/services/stripe-customer-admin.service");
19
20
  const stripe_price_repository_1 = require("../../stripe-price/repositories/stripe-price.repository");
@@ -39,9 +40,10 @@ const stripe_subscription_admin_service_1 = require("../../stripe-subscription/s
39
40
  * ```
40
41
  */
41
42
  let TrialService = class TrialService {
42
- constructor(moduleRef, companyRepository, logger) {
43
+ constructor(moduleRef, companyRepository, companyService, logger) {
43
44
  this.moduleRef = moduleRef;
44
45
  this.companyRepository = companyRepository;
46
+ this.companyService = companyService;
45
47
  this.logger = logger;
46
48
  }
47
49
  /**
@@ -110,15 +112,17 @@ let TrialService = class TrialService {
110
112
  trialPeriodDays: 14,
111
113
  // trialEnd: Math.floor(Date.now() / 1000) + 3 * 60,
112
114
  });
113
- // 4. Allocate trial tokens from price configuration
115
+ // 4. Allocate trial tokens from price configuration.
116
+ // The flag is written unconditionally: a trial price with token 0 is an
117
+ // AI-free trial, and gating this behind `trialTokens > 0` would silently
118
+ // leave such a company with AI enabled.
114
119
  const trialTokens = trialPrice.token ?? 0;
115
- if (trialTokens > 0) {
116
- await this.companyRepository.updateTokens({
117
- companyId: params.companyId,
118
- monthlyCredits: trialTokens,
119
- availableMonthlyCredits: trialTokens,
120
- });
121
- }
120
+ await this.companyService.updateTokensAndAiFlag({
121
+ companyId: params.companyId,
122
+ monthlyCredits: trialTokens,
123
+ availableMonthlyCredits: trialTokens,
124
+ aiEnabled: trialTokens > 0,
125
+ });
122
126
  // 5. Mark subscription as active (during trial)
123
127
  await this.companyRepository.markSubscriptionStatus({
124
128
  companyId: params.companyId,
@@ -132,6 +136,7 @@ exports.TrialService = TrialService = __decorate([
132
136
  (0, common_1.Injectable)(),
133
137
  __metadata("design:paramtypes", [core_1.ModuleRef,
134
138
  company_repository_1.CompanyRepository,
139
+ company_service_1.CompanyService,
135
140
  logging_service_1.AppLoggingService])
136
141
  ], TrialService);
137
142
  //# sourceMappingURL=trial.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trial.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trial.service.js","sourceRoot":"","sources":["../../../../src/foundations/stripe-trial/services/trial.service.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carlonicora/nestjs-neo4jsonapi",
3
- "version": "2.11.0",
3
+ "version": "2.12.0",
4
4
  "description": "NestJS foundation package with JSON:API, Neo4j, Redis, LangChain agents, and common utilities",
5
5
  "author": "Carlo Nicora",
6
6
  "license": "GPL-3.0-or-later",