@carlonicora/nestjs-neo4jsonapi 1.116.0 → 1.118.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 (134) hide show
  1. package/dist/common/guards/jwt.auth.admin.guard.d.ts +3 -2
  2. package/dist/common/guards/jwt.auth.admin.guard.d.ts.map +1 -1
  3. package/dist/common/guards/jwt.auth.admin.guard.js +19 -4
  4. package/dist/common/guards/jwt.auth.admin.guard.js.map +1 -1
  5. package/dist/common/helpers/define-entity.d.ts +11 -1
  6. package/dist/common/helpers/define-entity.d.ts.map +1 -1
  7. package/dist/common/helpers/define-entity.js +7 -0
  8. package/dist/common/helpers/define-entity.js.map +1 -1
  9. package/dist/common/tokens.d.ts +4 -0
  10. package/dist/common/tokens.d.ts.map +1 -1
  11. package/dist/config/base.config.d.ts.map +1 -1
  12. package/dist/config/base.config.js +8 -0
  13. package/dist/config/base.config.js.map +1 -1
  14. package/dist/config/interfaces/base.config.interface.d.ts +2 -0
  15. package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
  16. package/dist/config/interfaces/config.ai.interface.d.ts +8 -0
  17. package/dist/config/interfaces/config.ai.interface.d.ts.map +1 -1
  18. package/dist/config/interfaces/config.credits.interface.d.ts +24 -0
  19. package/dist/config/interfaces/config.credits.interface.d.ts.map +1 -0
  20. package/dist/config/interfaces/config.credits.interface.js +3 -0
  21. package/dist/config/interfaces/config.credits.interface.js.map +1 -0
  22. package/dist/config/interfaces/index.d.ts +1 -0
  23. package/dist/config/interfaces/index.d.ts.map +1 -1
  24. package/dist/config/interfaces/index.js +1 -0
  25. package/dist/config/interfaces/index.js.map +1 -1
  26. package/dist/core/llm/services/embedder.service.d.ts +36 -2
  27. package/dist/core/llm/services/embedder.service.d.ts.map +1 -1
  28. package/dist/core/llm/services/embedder.service.js +87 -7
  29. package/dist/core/llm/services/embedder.service.js.map +1 -1
  30. package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
  31. package/dist/core/neo4j/abstracts/abstract.repository.js +6 -2
  32. package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
  33. package/dist/foundations/community/repositories/community.repository.d.ts.map +1 -1
  34. package/dist/foundations/community/repositories/community.repository.js +2 -1
  35. package/dist/foundations/community/repositories/community.repository.js.map +1 -1
  36. package/dist/foundations/company/dtos/company.post.dto.d.ts +3 -3
  37. package/dist/foundations/company/dtos/company.post.dto.d.ts.map +1 -1
  38. package/dist/foundations/company/dtos/company.post.dto.js +3 -3
  39. package/dist/foundations/company/dtos/company.post.dto.js.map +1 -1
  40. package/dist/foundations/company/dtos/company.put.dto.d.ts +3 -3
  41. package/dist/foundations/company/dtos/company.put.dto.d.ts.map +1 -1
  42. package/dist/foundations/company/dtos/company.put.dto.js +3 -3
  43. package/dist/foundations/company/dtos/company.put.dto.js.map +1 -1
  44. package/dist/foundations/company/entities/company.d.ts +3 -3
  45. package/dist/foundations/company/entities/company.d.ts.map +1 -1
  46. package/dist/foundations/company/entities/company.js +3 -3
  47. package/dist/foundations/company/entities/company.js.map +1 -1
  48. package/dist/foundations/company/repositories/company.repository.d.ts +31 -24
  49. package/dist/foundations/company/repositories/company.repository.d.ts.map +1 -1
  50. package/dist/foundations/company/repositories/company.repository.js +66 -77
  51. package/dist/foundations/company/repositories/company.repository.js.map +1 -1
  52. package/dist/foundations/company/services/company.service.d.ts +8 -9
  53. package/dist/foundations/company/services/company.service.d.ts.map +1 -1
  54. package/dist/foundations/company/services/company.service.js +29 -32
  55. package/dist/foundations/company/services/company.service.js.map +1 -1
  56. package/dist/foundations/notification/repositories/notification.repository.d.ts.map +1 -1
  57. package/dist/foundations/notification/repositories/notification.repository.js +2 -1
  58. package/dist/foundations/notification/repositories/notification.repository.js.map +1 -1
  59. package/dist/foundations/referral/services/referral.service.js +4 -4
  60. package/dist/foundations/referral/services/referral.service.js.map +1 -1
  61. package/dist/foundations/stripe-customer/repositories/stripe-customer.repository.js +1 -1
  62. package/dist/foundations/stripe-customer/repositories/stripe-customer.repository.js.map +1 -1
  63. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
  64. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +3 -2
  65. package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
  66. package/dist/foundations/stripe-subscription/services/token-allocation.service.d.ts +1 -1
  67. package/dist/foundations/stripe-subscription/services/token-allocation.service.js +10 -10
  68. package/dist/foundations/stripe-subscription/services/token-allocation.service.js.map +1 -1
  69. package/dist/foundations/stripe-trial/services/trial.service.js +2 -2
  70. package/dist/foundations/stripe-trial/services/trial.service.js.map +1 -1
  71. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js +2 -2
  72. package/dist/foundations/stripe-webhook/processors/stripe-webhook.processor.js.map +1 -1
  73. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.d.ts +27 -0
  74. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.d.ts.map +1 -0
  75. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js +136 -0
  76. package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js.map +1 -0
  77. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.d.ts +26 -0
  78. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.d.ts.map +1 -0
  79. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.js +24 -0
  80. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.js.map +1 -0
  81. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.d.ts +3 -0
  82. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.d.ts.map +1 -0
  83. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.js +10 -0
  84. package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.js.map +1 -0
  85. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.d.ts +24 -0
  86. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.d.ts.map +1 -0
  87. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.js +21 -0
  88. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.js.map +1 -0
  89. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.d.ts +3 -0
  90. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.d.ts.map +1 -0
  91. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.js +10 -0
  92. package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.js.map +1 -0
  93. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.d.ts +22 -0
  94. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.d.ts.map +1 -0
  95. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.js +21 -0
  96. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.js.map +1 -0
  97. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.d.ts +3 -0
  98. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.d.ts.map +1 -0
  99. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.js +10 -0
  100. package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.js.map +1 -0
  101. package/dist/foundations/tokenusage/entities/tokenusage.d.ts +1 -0
  102. package/dist/foundations/tokenusage/entities/tokenusage.d.ts.map +1 -1
  103. package/dist/foundations/tokenusage/entities/tokenusage.js +4 -0
  104. package/dist/foundations/tokenusage/entities/tokenusage.js.map +1 -1
  105. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts +2 -1
  106. package/dist/foundations/tokenusage/enums/tokenusage.type.d.ts.map +1 -1
  107. package/dist/foundations/tokenusage/enums/tokenusage.type.js +1 -0
  108. package/dist/foundations/tokenusage/enums/tokenusage.type.js.map +1 -1
  109. package/dist/foundations/tokenusage/events/tokenusage.events.d.ts +2 -0
  110. package/dist/foundations/tokenusage/events/tokenusage.events.d.ts.map +1 -1
  111. package/dist/foundations/tokenusage/index.d.ts +10 -1
  112. package/dist/foundations/tokenusage/index.d.ts.map +1 -1
  113. package/dist/foundations/tokenusage/index.js +19 -1
  114. package/dist/foundations/tokenusage/index.js.map +1 -1
  115. package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.d.ts +73 -0
  116. package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.d.ts.map +1 -0
  117. package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.js +342 -0
  118. package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.js.map +1 -0
  119. package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts +78 -3
  120. package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts.map +1 -1
  121. package/dist/foundations/tokenusage/repositories/tokenusage.repository.js +155 -5
  122. package/dist/foundations/tokenusage/repositories/tokenusage.repository.js.map +1 -1
  123. package/dist/foundations/tokenusage/services/tokenusage.admin.service.d.ts +50 -0
  124. package/dist/foundations/tokenusage/services/tokenusage.admin.service.d.ts.map +1 -0
  125. package/dist/foundations/tokenusage/services/tokenusage.admin.service.js +84 -0
  126. package/dist/foundations/tokenusage/services/tokenusage.admin.service.js.map +1 -0
  127. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts +37 -1
  128. package/dist/foundations/tokenusage/services/tokenusage.service.d.ts.map +1 -1
  129. package/dist/foundations/tokenusage/services/tokenusage.service.js +56 -5
  130. package/dist/foundations/tokenusage/services/tokenusage.service.js.map +1 -1
  131. package/dist/foundations/tokenusage/tokenusage.module.d.ts.map +1 -1
  132. package/dist/foundations/tokenusage/tokenusage.module.js +21 -3
  133. package/dist/foundations/tokenusage/tokenusage.module.js.map +1 -1
  134. package/package.json +2 -1
@@ -64,9 +64,9 @@ export declare class CompanyRepository extends AbstractRepository<Company, typeo
64
64
  companyId: string;
65
65
  name: string;
66
66
  configurations?: string;
67
- monthlyTokens?: number;
68
- availableMonthlyTokens?: number;
69
- availableExtraTokens?: number;
67
+ monthlyCredits?: number;
68
+ availableMonthlyCredits?: number;
69
+ availableExtraCredits?: number;
70
70
  featureIds?: string[];
71
71
  moduleIds?: string[];
72
72
  legal_address?: string;
@@ -85,9 +85,9 @@ export declare class CompanyRepository extends AbstractRepository<Company, typeo
85
85
  name: string;
86
86
  configurations?: string;
87
87
  logo?: string;
88
- monthlyTokens?: number;
89
- availableMonthlyTokens?: number;
90
- availableExtraTokens?: number;
88
+ monthlyCredits?: number;
89
+ availableMonthlyCredits?: number;
90
+ availableExtraCredits?: number;
91
91
  featureIds?: string[];
92
92
  moduleIds?: string[];
93
93
  legal_address?: string;
@@ -108,35 +108,42 @@ export declare class CompanyRepository extends AbstractRepository<Company, typeo
108
108
  createByName(params: {
109
109
  name: string;
110
110
  }): Promise<Company>;
111
- useTokens(params: {
112
- input: number;
113
- output: number;
111
+ /**
112
+ * Deduct billing credits from a company's balances (monthly allowance first,
113
+ * then the extra top-up balance).
114
+ *
115
+ * @param params - Parameters
116
+ * @param params.credits - Credits to deduct (fractional, 2 decimals)
117
+ * @param params.companyId - Company identifier; defaults to the CLS company
118
+ */
119
+ useCredits(params: {
120
+ credits: number;
114
121
  companyId?: string;
115
122
  }): Promise<{
116
- availableMonthlyTokens: number;
117
- availableExtraTokens: number;
123
+ availableMonthlyCredits: number;
124
+ availableExtraCredits: number;
118
125
  } | undefined>;
119
126
  markSubscriptionStatus(params: {
120
127
  companyId: string;
121
128
  isActiveSubscription: boolean;
122
129
  }): Promise<void>;
123
130
  /**
124
- * Update company token allocation fields
131
+ * Update company credit allocation fields
125
132
  *
126
- * Used by TokenAllocationService to reset tokens on subscription payment
127
- * or pro-rate tokens on plan changes.
133
+ * Used by TokenAllocationService to reset credits on subscription payment
134
+ * or pro-rate credits on plan changes.
128
135
  *
129
136
  * @param params - Update parameters
130
137
  * @param params.companyId - Company identifier
131
- * @param params.monthlyTokens - Optional new monthly token allocation
132
- * @param params.availableMonthlyTokens - Optional new available monthly tokens
133
- * @param params.availableExtraTokens - Optional new available extra tokens
138
+ * @param params.monthlyCredits - Optional new monthly credit allocation
139
+ * @param params.availableMonthlyCredits - Optional new available monthly credits
140
+ * @param params.availableExtraCredits - Optional new available extra credits
134
141
  */
135
142
  updateTokens(params: {
136
143
  companyId: string;
137
- monthlyTokens?: number;
138
- availableMonthlyTokens?: number;
139
- availableExtraTokens?: number;
144
+ monthlyCredits?: number;
145
+ availableMonthlyCredits?: number;
146
+ availableExtraCredits?: number;
140
147
  }): Promise<void>;
141
148
  find(params: {
142
149
  term: string;
@@ -230,15 +237,15 @@ export declare class CompanyRepository extends AbstractRepository<Company, typeo
230
237
  referralCode: string;
231
238
  }): Promise<void>;
232
239
  /**
233
- * Add extra tokens to a company (increments availableExtraTokens)
240
+ * Add extra credits to a company (increments availableExtraCredits)
234
241
  *
235
242
  * @param params - Parameters
236
243
  * @param params.companyId - Company identifier
237
- * @param params.tokens - Number of tokens to add
244
+ * @param params.credits - Number of credits to add
238
245
  */
239
- addExtraTokens(params: {
246
+ addExtraCredits(params: {
240
247
  companyId: string;
241
- tokens: number;
248
+ credits: number;
242
249
  }): Promise<void>;
243
250
  }
244
251
  //# sourceMappingURL=company.repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"company.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"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"}
@@ -116,9 +116,9 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
116
116
  const createSetParams = [];
117
117
  createSetParams.push("company.name=$name");
118
118
  createSetParams.push("company.configurations=$configurations");
119
- createSetParams.push("company.monthlyTokens=$monthlyTokens");
120
- createSetParams.push("company.availableMonthlyTokens=$availableMonthlyTokens");
121
- createSetParams.push("company.availableExtraTokens=$availableExtraTokens");
119
+ createSetParams.push("company.monthlyCredits=$monthlyCredits");
120
+ createSetParams.push("company.availableMonthlyCredits=$availableMonthlyCredits");
121
+ createSetParams.push("company.availableExtraCredits=$availableExtraCredits");
122
122
  if (params.legal_address !== undefined)
123
123
  createSetParams.push("company.legal_address=$legal_address");
124
124
  if (params.street_number !== undefined)
@@ -145,9 +145,9 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
145
145
  companyId: params.companyId,
146
146
  name: params.name,
147
147
  configurations: params.configurations ?? "",
148
- monthlyTokens: params.monthlyTokens ?? 0,
149
- availableMonthlyTokens: params.availableMonthlyTokens ?? 0,
150
- availableExtraTokens: params.availableExtraTokens ?? 0,
148
+ monthlyCredits: params.monthlyCredits ?? 0,
149
+ availableMonthlyCredits: params.availableMonthlyCredits ?? 0,
150
+ availableExtraCredits: params.availableExtraCredits ?? 0,
151
151
  featureIds: params.featureIds ?? [],
152
152
  moduleIds: params.moduleIds ?? [],
153
153
  ...(params.legal_address !== undefined && { legal_address: params.legal_address }),
@@ -211,12 +211,12 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
211
211
  updateParams.push("company.configurations = $configurations");
212
212
  if (params.logo !== undefined)
213
213
  updateParams.push("company.logo = $logo");
214
- if (params.monthlyTokens !== undefined)
215
- updateParams.push("company.monthlyTokens = $monthlyTokens");
216
- if (params.availableMonthlyTokens !== undefined)
217
- updateParams.push("company.availableMonthlyTokens = $availableMonthlyTokens");
218
- if (params.availableExtraTokens !== undefined)
219
- updateParams.push("company.availableExtraTokens = $availableExtraTokens");
214
+ if (params.monthlyCredits !== undefined)
215
+ updateParams.push("company.monthlyCredits = $monthlyCredits");
216
+ if (params.availableMonthlyCredits !== undefined)
217
+ updateParams.push("company.availableMonthlyCredits = $availableMonthlyCredits");
218
+ if (params.availableExtraCredits !== undefined)
219
+ updateParams.push("company.availableExtraCredits = $availableExtraCredits");
220
220
  if (params.legal_address !== undefined)
221
221
  updateParams.push("company.legal_address = $legal_address");
222
222
  if (params.street_number !== undefined)
@@ -244,9 +244,9 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
244
244
  name: params.name,
245
245
  configurations: params.configurations ?? "",
246
246
  logo: params.logo ?? "",
247
- monthlyTokens: params.monthlyTokens ?? 0,
248
- availableMonthlyTokens: params.availableMonthlyTokens ?? 0,
249
- availableExtraTokens: params.availableExtraTokens ?? 0,
247
+ monthlyCredits: params.monthlyCredits ?? 0,
248
+ availableMonthlyCredits: params.availableMonthlyCredits ?? 0,
249
+ availableExtraCredits: params.availableExtraCredits ?? 0,
250
250
  featureIds: params.featureIds ?? [],
251
251
  moduleIds: params.moduleIds ?? [],
252
252
  ...(params.legal_address !== undefined && { legal_address: params.legal_address }),
@@ -325,56 +325,45 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
325
325
  `;
326
326
  return await this.neo4j.writeOne(query);
327
327
  }
328
- async useTokens(params) {
329
- const tokens = params.input + params.output;
330
- // Nothing consumed — skip the read/write entirely.
331
- if (tokens <= 0)
328
+ /**
329
+ * Deduct billing credits from a company's balances (monthly allowance first,
330
+ * then the extra top-up balance).
331
+ *
332
+ * @param params - Parameters
333
+ * @param params.credits - Credits to deduct (fractional, 2 decimals)
334
+ * @param params.companyId - Company identifier; defaults to the CLS company
335
+ */
336
+ async useCredits(params) {
337
+ if (params.credits <= 0)
332
338
  return undefined;
333
- const companyQuery = this.neo4j.initQuery({ serialiser: company_1.CompanyDescriptor.model });
334
- companyQuery.queryParams = {
335
- companyId: params.companyId ?? this.clsService.get("companyId"),
336
- };
337
- companyQuery.query = `MATCH (company:Company {id: $companyId}) RETURN company`;
338
- const company = await this.neo4j.readOne(companyQuery);
339
- // Convert BigInt values from Neo4j to numbers for arithmetic operations
340
- const availableMonthlyTokens = Number(company.availableMonthlyTokens ?? 0);
341
- const availableExtraTokens = Number(company.availableExtraTokens ?? 0);
342
- const query = this.neo4j.initQuery();
339
+ const query = this.neo4j.initQuery({ serialiser: company_1.CompanyDescriptor.model });
343
340
  query.queryParams = {
344
341
  companyId: params.companyId ?? this.clsService.get("companyId"),
342
+ credits: params.credits,
345
343
  };
346
- if (availableMonthlyTokens >= tokens) {
347
- query.queryParams.availableMonthlyTokens = availableMonthlyTokens - tokens;
348
- query.query = `
349
- MATCH (company:Company {id: $companyId})
350
- SET company.availableMonthlyTokens = $availableMonthlyTokens,
351
- company.updatedAt = datetime()
352
- `;
353
- }
354
- else if (availableMonthlyTokens > 0) {
355
- const remainingTokens = tokens - availableMonthlyTokens;
356
- query.queryParams.availableMonthlyTokens = 0;
357
- query.queryParams.availableExtraTokens = availableExtraTokens - remainingTokens;
358
- query.query = `
359
- MATCH (company:Company {id: $companyId})
360
- SET company.availableMonthlyTokens = $availableMonthlyTokens,
361
- company.availableExtraTokens = $availableExtraTokens,
362
- company.updatedAt = datetime()
363
- `;
364
- }
365
- else {
366
- // Monthly allowance exhausted — deduct entirely from extra tokens.
367
- query.queryParams.availableExtraTokens = availableExtraTokens - tokens;
368
- query.query = `
344
+ // Single-statement read-and-write: the monthly-then-extra waterfall is computed
345
+ // inside the SET so concurrent deductions cannot lose updates. Balances are
346
+ // 2-dp floats and are deliberately NOT clamped (a mid-operation overrun may go
347
+ // negative; the pre-flight guard blocks the NEXT operation).
348
+ query.query = `
369
349
  MATCH (company:Company {id: $companyId})
370
- SET company.availableExtraTokens = $availableExtraTokens,
350
+ WITH company,
351
+ toFloat(coalesce(company.availableMonthlyCredits, 0)) AS m,
352
+ toFloat(coalesce(company.availableExtraCredits, 0)) AS e,
353
+ toFloat($credits) AS c
354
+ SET company.availableMonthlyCredits = CASE WHEN m >= c THEN round(m - c, 2) ELSE 0.0 END,
355
+ company.availableExtraCredits = CASE WHEN m >= c THEN e
356
+ WHEN m > 0 THEN round(e - (c - m), 2)
357
+ ELSE round(e - c, 2) END,
371
358
  company.updatedAt = datetime()
359
+ RETURN company
372
360
  `;
373
- }
374
- await this.neo4j.writeOne(query);
361
+ const company = await this.neo4j.writeOne(query);
362
+ if (!company)
363
+ return undefined;
375
364
  return {
376
- availableMonthlyTokens: query.queryParams.availableMonthlyTokens ?? availableMonthlyTokens,
377
- availableExtraTokens: query.queryParams.availableExtraTokens ?? availableExtraTokens,
365
+ availableMonthlyCredits: Number(company.availableMonthlyCredits ?? 0),
366
+ availableExtraCredits: Number(company.availableExtraCredits ?? 0),
378
367
  };
379
368
  }
380
369
  async markSubscriptionStatus(params) {
@@ -391,35 +380,35 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
391
380
  await this.neo4j.writeOne(query);
392
381
  }
393
382
  /**
394
- * Update company token allocation fields
383
+ * Update company credit allocation fields
395
384
  *
396
- * Used by TokenAllocationService to reset tokens on subscription payment
397
- * or pro-rate tokens on plan changes.
385
+ * Used by TokenAllocationService to reset credits on subscription payment
386
+ * or pro-rate credits on plan changes.
398
387
  *
399
388
  * @param params - Update parameters
400
389
  * @param params.companyId - Company identifier
401
- * @param params.monthlyTokens - Optional new monthly token allocation
402
- * @param params.availableMonthlyTokens - Optional new available monthly tokens
403
- * @param params.availableExtraTokens - Optional new available extra tokens
390
+ * @param params.monthlyCredits - Optional new monthly credit allocation
391
+ * @param params.availableMonthlyCredits - Optional new available monthly credits
392
+ * @param params.availableExtraCredits - Optional new available extra credits
404
393
  */
405
394
  async updateTokens(params) {
406
395
  const setParams = [];
407
396
  setParams.push("company.updatedAt = datetime()");
408
- if (params.monthlyTokens !== undefined) {
409
- setParams.push("company.monthlyTokens = $monthlyTokens");
397
+ if (params.monthlyCredits !== undefined) {
398
+ setParams.push("company.monthlyCredits = $monthlyCredits");
410
399
  }
411
- if (params.availableMonthlyTokens !== undefined) {
412
- setParams.push("company.availableMonthlyTokens = $availableMonthlyTokens");
400
+ if (params.availableMonthlyCredits !== undefined) {
401
+ setParams.push("company.availableMonthlyCredits = $availableMonthlyCredits");
413
402
  }
414
- if (params.availableExtraTokens !== undefined) {
415
- setParams.push("company.availableExtraTokens = $availableExtraTokens");
403
+ if (params.availableExtraCredits !== undefined) {
404
+ setParams.push("company.availableExtraCredits = $availableExtraCredits");
416
405
  }
417
406
  const query = this.neo4j.initQuery();
418
407
  query.queryParams = {
419
408
  companyId: params.companyId,
420
- monthlyTokens: params.monthlyTokens,
421
- availableMonthlyTokens: params.availableMonthlyTokens,
422
- availableExtraTokens: params.availableExtraTokens,
409
+ monthlyCredits: params.monthlyCredits,
410
+ availableMonthlyCredits: params.availableMonthlyCredits,
411
+ availableExtraCredits: params.availableExtraCredits,
423
412
  };
424
413
  query.query = `
425
414
  MATCH (company:Company {id: $companyId})
@@ -669,21 +658,21 @@ let CompanyRepository = class CompanyRepository extends abstract_repository_1.Ab
669
658
  await this.neo4j.writeOne(query);
670
659
  }
671
660
  /**
672
- * Add extra tokens to a company (increments availableExtraTokens)
661
+ * Add extra credits to a company (increments availableExtraCredits)
673
662
  *
674
663
  * @param params - Parameters
675
664
  * @param params.companyId - Company identifier
676
- * @param params.tokens - Number of tokens to add
665
+ * @param params.credits - Number of credits to add
677
666
  */
678
- async addExtraTokens(params) {
667
+ async addExtraCredits(params) {
679
668
  const query = this.neo4j.initQuery();
680
669
  query.queryParams = {
681
670
  companyId: params.companyId,
682
- tokens: params.tokens,
671
+ credits: params.credits,
683
672
  };
684
673
  query.query = `
685
674
  MATCH (company:Company {id: $companyId})
686
- SET company.availableExtraTokens = COALESCE(company.availableExtraTokens, 0) + $tokens,
675
+ SET company.availableExtraCredits = round(COALESCE(company.availableExtraCredits, 0) + $credits, 2),
687
676
  company.updatedAt = datetime()
688
677
  `;
689
678
  await this.neo4j.writeOne(query);
@@ -1 +1 @@
1
- {"version":3,"file":"company.repository.js","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.repository.js","sourceRoot":"","sources":["../../../../src/foundations/company/repositories/company.repository.ts"],"names":[],"mappings":"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"}
@@ -52,21 +52,20 @@ export declare class CompanyService extends AbstractService<Company, typeof Comp
52
52
  validate(params: {
53
53
  companyId: string;
54
54
  }): Promise<void>;
55
- validateCompanyTokens(params: {
55
+ validateCompanyCredits(params: {
56
56
  companyId: string;
57
57
  }): Promise<void>;
58
- hasAvailableTokens(params: {
58
+ hasAvailableCredits(params: {
59
59
  companyId: string;
60
60
  }): Promise<boolean>;
61
- useTokens(params: {
62
- inputTokens: number;
63
- outputTokens: number;
61
+ useCredits(params: {
62
+ credits: number;
64
63
  }): Promise<void>;
65
64
  /**
66
- * Reacts to LLM token consumption recorded by TokenUsageService and decrements
67
- * the company's running balance. Decoupled via the event bus so the tokenusage
68
- * module never imports CompanyModule. Best-effort: must never throw back into
69
- * the emitter (the LLM call that triggered it must not break).
65
+ * Reacts to LLM usage recorded by TokenUsageService and decrements the
66
+ * company's running credit balance. Decoupled via the event bus so the
67
+ * tokenusage module never imports CompanyModule. Best-effort: must never throw
68
+ * back into the emitter (the LLM call that triggered it must not break).
70
69
  */
71
70
  handleTokenUsageRecorded(payload: TokenUsageRecordedPayload): Promise<void>;
72
71
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"company.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/services/company.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"company.service.d.ts","sourceRoot":"","sources":["../../../../src/foundations/company/services/company.service.ts"],"names":[],"mappings":"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"}
@@ -60,51 +60,48 @@ let CompanyService = CompanyService_1 = class CompanyService extends abstract_se
60
60
  if (!company)
61
61
  throw new common_1.HttpException("Company not found", common_1.HttpStatus.UNAUTHORIZED);
62
62
  }
63
- async validateCompanyTokens(params) {
63
+ async validateCompanyCredits(params) {
64
64
  const company = await this.companyRepository.findByCompanyId({
65
65
  companyId: params.companyId,
66
66
  });
67
- if ((!company.availableMonthlyTokens || company.availableMonthlyTokens <= 0) &&
68
- (!company.availableExtraTokens || company.availableExtraTokens <= 0))
69
- throw new common_1.HttpException("NO_TOKENS", common_1.HttpStatus.PAYMENT_REQUIRED);
67
+ if ((!company.availableMonthlyCredits || company.availableMonthlyCredits <= 0) &&
68
+ (!company.availableExtraCredits || company.availableExtraCredits <= 0))
69
+ throw new common_1.HttpException("NO_CREDITS", common_1.HttpStatus.PAYMENT_REQUIRED);
70
70
  }
71
- async hasAvailableTokens(params) {
71
+ async hasAvailableCredits(params) {
72
72
  const company = await this.companyRepository.findByCompanyId({ companyId: params.companyId });
73
- return ((company.availableMonthlyTokens && company.availableMonthlyTokens > 0) ||
74
- (company.availableExtraTokens && company.availableExtraTokens > 0));
73
+ return ((company.availableMonthlyCredits && company.availableMonthlyCredits > 0) ||
74
+ (company.availableExtraCredits && company.availableExtraCredits > 0));
75
75
  }
76
- async useTokens(params) {
77
- const balances = await this.companyRepository.useTokens({
78
- input: params.inputTokens,
79
- output: params.outputTokens,
80
- });
76
+ async useCredits(params) {
77
+ const balances = await this.companyRepository.useCredits({ credits: params.credits });
81
78
  // Nothing consumed — no balance change worth broadcasting.
82
79
  if (!balances)
83
80
  return;
84
81
  // Broadcast the new balances to all company users. Consumers patch these in
85
- // directly; they must never need to refetch the user to read a token count.
82
+ // directly; they must never need to refetch the user to read a credit count.
86
83
  const companyId = this.cls.get("companyId");
87
84
  if (companyId) {
88
- await this.webSocketService.sendMessageToCompany(companyId, "company:tokens_updated", {
89
- type: "company:tokens_updated",
85
+ await this.webSocketService.sendMessageToCompany(companyId, "company:credits_updated", {
86
+ type: "company:credits_updated",
90
87
  companyId,
91
- availableMonthlyTokens: balances.availableMonthlyTokens,
92
- availableExtraTokens: balances.availableExtraTokens,
88
+ availableMonthlyCredits: balances.availableMonthlyCredits,
89
+ availableExtraCredits: balances.availableExtraCredits,
93
90
  });
94
91
  }
95
92
  }
96
93
  /**
97
- * Reacts to LLM token consumption recorded by TokenUsageService and decrements
98
- * the company's running balance. Decoupled via the event bus so the tokenusage
99
- * module never imports CompanyModule. Best-effort: must never throw back into
100
- * the emitter (the LLM call that triggered it must not break).
94
+ * Reacts to LLM usage recorded by TokenUsageService and decrements the
95
+ * company's running credit balance. Decoupled via the event bus so the
96
+ * tokenusage module never imports CompanyModule. Best-effort: must never throw
97
+ * back into the emitter (the LLM call that triggered it must not break).
101
98
  */
102
99
  async handleTokenUsageRecorded(payload) {
103
100
  try {
104
- await this.useTokens({ inputTokens: payload.input, outputTokens: payload.output });
101
+ await this.useCredits({ credits: payload.credits });
105
102
  }
106
103
  catch (error) {
107
- this.logger.warn(`Failed to deduct company tokens: ${error instanceof Error ? error.message : String(error)}`);
104
+ this.logger.warn(`Failed to deduct company credits: ${error instanceof Error ? error.message : String(error)}`);
108
105
  }
109
106
  }
110
107
  /**
@@ -120,9 +117,9 @@ let CompanyService = CompanyService_1 = class CompanyService extends abstract_se
120
117
  companyId: params.data.id,
121
118
  name: params.data.attributes.name,
122
119
  configurations: params.data.attributes.configurations,
123
- monthlyTokens: params.data.attributes.monthlyTokens,
124
- availableMonthlyTokens: params.data.attributes.availableMonthlyTokens,
125
- availableExtraTokens: params.data.attributes.availableExtraTokens,
120
+ monthlyCredits: params.data.attributes.monthlyCredits,
121
+ availableMonthlyCredits: params.data.attributes.availableMonthlyCredits,
122
+ availableExtraCredits: params.data.attributes.availableExtraCredits,
126
123
  featureIds: params.data.relationships?.features?.data.map((feature) => feature.id),
127
124
  legal_address: params.data.attributes.legal_address,
128
125
  street_number: params.data.attributes.street_number,
@@ -141,9 +138,9 @@ let CompanyService = CompanyService_1 = class CompanyService extends abstract_se
141
138
  companyId: params.data.id,
142
139
  name: params.data.attributes.name,
143
140
  configurations: params.data.attributes.configurations,
144
- monthlyTokens: params.data.attributes.monthlyTokens,
145
- availableMonthlyTokens: params.data.attributes.availableMonthlyTokens,
146
- availableExtraTokens: params.data.attributes.availableExtraTokens,
141
+ monthlyCredits: params.data.attributes.monthlyCredits,
142
+ availableMonthlyCredits: params.data.attributes.availableMonthlyCredits,
143
+ availableExtraCredits: params.data.attributes.availableExtraCredits,
147
144
  featureIds: params.data.relationships?.features?.data.map((feature) => feature.id),
148
145
  moduleIds: params.data.relationships?.modules?.data.map((module) => module.id),
149
146
  legal_address: params.data.attributes.legal_address,
@@ -165,9 +162,9 @@ let CompanyService = CompanyService_1 = class CompanyService extends abstract_se
165
162
  name: params.data.attributes.name,
166
163
  configurations: params.data.attributes.configurations,
167
164
  logo: params.data.attributes.logo,
168
- monthlyTokens: params.data.attributes.monthlyTokens,
169
- availableMonthlyTokens: params.data.attributes.availableMonthlyTokens,
170
- availableExtraTokens: params.data.attributes.availableExtraTokens,
165
+ monthlyCredits: params.data.attributes.monthlyCredits,
166
+ availableMonthlyCredits: params.data.attributes.availableMonthlyCredits,
167
+ availableExtraCredits: params.data.attributes.availableExtraCredits,
171
168
  featureIds: params.data.relationships?.features?.data.map((feature) => feature.id),
172
169
  moduleIds: params.data.relationships?.modules?.data.map((module) => module.id),
173
170
  legal_address: params.data.attributes.legal_address,