@loopstack/quota 0.23.0 → 0.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/calculators/__tests__/ai-generate-text-quota.calculator.spec.js +3 -4
- package/dist/calculators/__tests__/ai-generate-text-quota.calculator.spec.js.map +1 -1
- package/dist/calculators/__tests__/processing-time-quota.calculator.spec.js +3 -4
- package/dist/calculators/__tests__/processing-time-quota.calculator.spec.js.map +1 -1
- package/dist/calculators/ai-generate-text-quota.calculator.d.ts +2 -2
- package/dist/calculators/ai-generate-text-quota.calculator.d.ts.map +1 -1
- package/dist/calculators/ai-generate-text-quota.calculator.js +3 -7
- package/dist/calculators/ai-generate-text-quota.calculator.js.map +1 -1
- package/dist/calculators/index.d.ts +3 -3
- package/dist/calculators/index.d.ts.map +1 -1
- package/dist/calculators/index.js +3 -19
- package/dist/calculators/index.js.map +1 -1
- package/dist/calculators/model-pricing.js +1 -4
- package/dist/calculators/model-pricing.js.map +1 -1
- package/dist/calculators/processing-time-quota.calculator.d.ts +2 -2
- package/dist/calculators/processing-time-quota.calculator.d.ts.map +1 -1
- package/dist/calculators/processing-time-quota.calculator.js +1 -5
- package/dist/calculators/processing-time-quota.calculator.js.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -20
- package/dist/index.js.map +1 -1
- package/dist/interfaces/index.d.ts +3 -3
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +3 -19
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/quota-client.interface.js +1 -4
- package/dist/interfaces/quota-client.interface.js.map +1 -1
- package/dist/interfaces/quota.interface.js +1 -2
- package/dist/interfaces/tool-quota-calculator.interface.d.ts +1 -1
- package/dist/interfaces/tool-quota-calculator.interface.d.ts.map +1 -1
- package/dist/interfaces/tool-quota-calculator.interface.js +1 -2
- package/dist/quota.module.d.ts +1 -1
- package/dist/quota.module.d.ts.map +1 -1
- package/dist/quota.module.js +24 -30
- package/dist/quota.module.js.map +1 -1
- package/dist/services/__tests__/quota-calculator-registry.service.spec.js +3 -4
- package/dist/services/__tests__/quota-calculator-registry.service.spec.js.map +1 -1
- package/dist/services/__tests__/quota-client.service.spec.js +6 -7
- package/dist/services/__tests__/quota-client.service.spec.js.map +1 -1
- package/dist/services/__tests__/quota.interceptor.spec.js +13 -14
- package/dist/services/__tests__/quota.interceptor.spec.js.map +1 -1
- package/dist/services/index.d.ts +3 -3
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -19
- package/dist/services/index.js.map +1 -1
- package/dist/services/quota-calculator-registry.service.d.ts +1 -1
- package/dist/services/quota-calculator-registry.service.d.ts.map +1 -1
- package/dist/services/quota-calculator-registry.service.js +5 -8
- package/dist/services/quota-calculator-registry.service.js.map +1 -1
- package/dist/services/quota-client.service.d.ts +2 -2
- package/dist/services/quota-client.service.d.ts.map +1 -1
- package/dist/services/quota-client.service.js +8 -11
- package/dist/services/quota-client.service.js.map +1 -1
- package/dist/services/quota.interceptor.d.ts +2 -2
- package/dist/services/quota.interceptor.d.ts.map +1 -1
- package/dist/services/quota.interceptor.js +12 -15
- package/dist/services/quota.interceptor.js.map +1 -1
- package/package.json +11 -36
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const ai_generate_text_quota_calculator_1 = require("../ai-generate-text-quota.calculator");
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { AiGenerateTextQuotaCalculator } from '../ai-generate-text-quota.calculator.js';
|
|
4
3
|
describe('AiGenerateTextQuotaCalculator', () => {
|
|
5
4
|
let calculator;
|
|
6
5
|
const context = {
|
|
@@ -10,7 +9,7 @@ describe('AiGenerateTextQuotaCalculator', () => {
|
|
|
10
9
|
metadata: {},
|
|
11
10
|
};
|
|
12
11
|
beforeEach(() => {
|
|
13
|
-
calculator = new
|
|
12
|
+
calculator = new AiGenerateTextQuotaCalculator();
|
|
14
13
|
});
|
|
15
14
|
it('should have quotaType "llm-cost"', () => {
|
|
16
15
|
expect(calculator.quotaType).toBe('llm-cost');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-generate-text-quota.calculator.spec.js","sourceRoot":"","sources":["../../../src/calculators/__tests__/ai-generate-text-quota.calculator.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-generate-text-quota.calculator.spec.js","sourceRoot":"","sources":["../../../src/calculators/__tests__/ai-generate-text-quota.calculator.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const processing_time_quota_calculator_1 = require("../processing-time-quota.calculator");
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { ProcessingTimeQuotaCalculator } from '../processing-time-quota.calculator.js';
|
|
4
3
|
describe('ProcessingTimeQuotaCalculator', () => {
|
|
5
4
|
let calculator;
|
|
6
5
|
const result = { data: {} };
|
|
7
6
|
beforeEach(() => {
|
|
8
|
-
calculator = new
|
|
7
|
+
calculator = new ProcessingTimeQuotaCalculator();
|
|
9
8
|
});
|
|
10
9
|
it('should have quotaType "processing-time-ms"', () => {
|
|
11
10
|
expect(calculator.quotaType).toBe('processing-time-ms');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing-time-quota.calculator.spec.js","sourceRoot":"","sources":["../../../src/calculators/__tests__/processing-time-quota.calculator.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processing-time-quota.calculator.spec.js","sourceRoot":"","sources":["../../../src/calculators/__tests__/processing-time-quota.calculator.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE1D,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AAEvF,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,IAAI,UAAyC,CAAC;IAC9C,MAAM,MAAM,GAAe,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAExC,UAAU,CAAC,GAAG,EAAE;QACd,UAAU,GAAG,IAAI,6BAA6B,EAAE,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,OAAO,GAAyB;YACpC,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAgB;YAC9C,QAAQ,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE;SAC/B,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC9D,SAAS,EAAE,oBAAoB;YAC/B,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,OAAO,GAAyB;YACpC,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAgB;YAC9C,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,OAAO,GAAyB;YACpC,IAAI,EAAE,EAAE;YACR,IAAI,EAAE,SAAS;YACf,UAAU,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAgB;YAC9C,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE;SAC5B,CAAC;QAEF,MAAM,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolExecutionContext, ToolResult } from '@loopstack/common';
|
|
2
|
-
import { QuotaUsage } from '../interfaces/quota.interface';
|
|
3
|
-
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface';
|
|
2
|
+
import { QuotaUsage } from '../interfaces/quota.interface.js';
|
|
3
|
+
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface.js';
|
|
4
4
|
export declare class AiGenerateTextQuotaCalculator implements ToolQuotaCalculator {
|
|
5
5
|
quotaType: string;
|
|
6
6
|
calculateQuotaUsage(_context: ToolExecutionContext, result: ToolResult): QuotaUsage | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-generate-text-quota.calculator.d.ts","sourceRoot":"","sources":["../../src/calculators/ai-generate-text-quota.calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"ai-generate-text-quota.calculator.d.ts","sourceRoot":"","sources":["../../src/calculators/ai-generate-text-quota.calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAGvF,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,SAAS,SAAc;IAEvB,mBAAmB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;CAwC3F"}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.AiGenerateTextQuotaCalculator = void 0;
|
|
4
|
-
const model_pricing_1 = require("./model-pricing");
|
|
5
|
-
class AiGenerateTextQuotaCalculator {
|
|
1
|
+
import { getModelPricing } from './model-pricing.js';
|
|
2
|
+
export class AiGenerateTextQuotaCalculator {
|
|
6
3
|
quotaType = 'llm-cost';
|
|
7
4
|
calculateQuotaUsage(_context, result) {
|
|
8
5
|
const metadata = result.metadata;
|
|
@@ -11,7 +8,7 @@ class AiGenerateTextQuotaCalculator {
|
|
|
11
8
|
return null;
|
|
12
9
|
const provider = metadata?.provider ?? '';
|
|
13
10
|
const model = metadata?.model ?? '';
|
|
14
|
-
const pricing =
|
|
11
|
+
const pricing = getModelPricing(provider, model);
|
|
15
12
|
const inputTokens = usage.inputTokens ?? 0;
|
|
16
13
|
const outputTokens = (usage.outputTokens ?? 0) + (usage.reasoningTokens ?? 0);
|
|
17
14
|
const cacheCreationTokens = usage.cacheCreationInputTokens ?? 0;
|
|
@@ -26,5 +23,4 @@ class AiGenerateTextQuotaCalculator {
|
|
|
26
23
|
return { quotaType: this.quotaType, actualAmount: microcents };
|
|
27
24
|
}
|
|
28
25
|
}
|
|
29
|
-
exports.AiGenerateTextQuotaCalculator = AiGenerateTextQuotaCalculator;
|
|
30
26
|
//# sourceMappingURL=ai-generate-text-quota.calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai-generate-text-quota.calculator.js","sourceRoot":"","sources":["../../src/calculators/ai-generate-text-quota.calculator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ai-generate-text-quota.calculator.js","sourceRoot":"","sources":["../../src/calculators/ai-generate-text-quota.calculator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,OAAO,6BAA6B;IACxC,SAAS,GAAG,UAAU,CAAC;IAEvB,mBAAmB,CAAC,QAA8B,EAAE,MAAkB;QACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,QAYX,CAAC;QAEd,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QAExB,MAAM,QAAQ,GAAG,QAAQ,EAAE,QAAQ,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAEjD,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC;QAC9E,MAAM,mBAAmB,GAAG,KAAK,CAAC,wBAAwB,IAAI,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,KAAK,CAAC,oBAAoB,IAAI,CAAC,CAAC;QAExD,MAAM,IAAI,GACR,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc;YAClD,CAAC,YAAY,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,eAAe;YACpD,CAAC,mBAAmB,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,sBAAsB,IAAI,OAAO,CAAC,cAAc,CAAC;YAC9F,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;QAE/F,IAAI,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAG5B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC,CAAC;QAElD,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACjE,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './ai-generate-text-quota.calculator';
|
|
2
|
-
export * from './model-pricing';
|
|
3
|
-
export * from './processing-time-quota.calculator';
|
|
1
|
+
export * from './ai-generate-text-quota.calculator.js';
|
|
2
|
+
export * from './model-pricing.js';
|
|
3
|
+
export * from './processing-time-quota.calculator.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calculators/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/calculators/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC"}
|
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./ai-generate-text-quota.calculator"), exports);
|
|
18
|
-
__exportStar(require("./model-pricing"), exports);
|
|
19
|
-
__exportStar(require("./processing-time-quota.calculator"), exports);
|
|
1
|
+
export * from './ai-generate-text-quota.calculator.js';
|
|
2
|
+
export * from './model-pricing.js';
|
|
3
|
+
export * from './processing-time-quota.calculator.js';
|
|
20
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calculators/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/calculators/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,oBAAoB,CAAC;AACnC,cAAc,uCAAuC,CAAC"}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getModelPricing = getModelPricing;
|
|
4
1
|
const MODEL_PRICING_TABLE = {
|
|
5
2
|
'claude:claude-opus-4': {
|
|
6
3
|
inputPerMToken: 15,
|
|
@@ -43,7 +40,7 @@ const MODEL_PRICING_TABLE = {
|
|
|
43
40
|
'claude:': { inputPerMToken: 3, outputPerMToken: 15, cacheCreationPerMToken: 3.75, cacheReadPerMToken: 0.3 },
|
|
44
41
|
'openai:': { inputPerMToken: 2.5, outputPerMToken: 10, cacheReadPerMToken: 1.25 },
|
|
45
42
|
};
|
|
46
|
-
function getModelPricing(provider, model) {
|
|
43
|
+
export function getModelPricing(provider, model) {
|
|
47
44
|
const key = `${provider}:${model}`;
|
|
48
45
|
if (MODEL_PRICING_TABLE[key])
|
|
49
46
|
return MODEL_PRICING_TABLE[key];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/calculators/model-pricing.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"model-pricing.js","sourceRoot":"","sources":["../../src/calculators/model-pricing.ts"],"names":[],"mappings":"AAgBA,MAAM,mBAAmB,GAAiC;IAExD,sBAAsB,EAAE;QACtB,cAAc,EAAE,EAAE;QAClB,eAAe,EAAE,EAAE;QACnB,sBAAsB,EAAE,KAAK;QAC7B,kBAAkB,EAAE,GAAG;KACxB;IACD,wBAAwB,EAAE;QACxB,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,EAAE;QACnB,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,GAAG;KACxB;IACD,uBAAuB,EAAE;QACvB,cAAc,EAAE,GAAG;QACnB,eAAe,EAAE,CAAC;QAClB,sBAAsB,EAAE,CAAC;QACzB,kBAAkB,EAAE,IAAI;KACzB;IACD,0BAA0B,EAAE;QAC1B,cAAc,EAAE,CAAC;QACjB,eAAe,EAAE,EAAE;QACnB,sBAAsB,EAAE,IAAI;QAC5B,kBAAkB,EAAE,GAAG;KACxB;IACD,yBAAyB,EAAE;QACzB,cAAc,EAAE,GAAG;QACnB,eAAe,EAAE,CAAC;QAClB,sBAAsB,EAAE,CAAC;QACzB,kBAAkB,EAAE,IAAI;KACzB;IAGD,eAAe,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACvF,oBAAoB,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAC/F,gBAAgB,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE;IACpF,qBAAqB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,EAAE,GAAG,EAAE;IAC7F,qBAAqB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE;IAC/F,WAAW,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,kBAAkB,EAAE,GAAG,EAAE;IAC/E,gBAAgB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE;IACzF,gBAAgB,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE;IAGzF,SAAS,EAAE,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE;IAC5G,SAAS,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,eAAe,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE;CAClF,CAAC;AAMF,MAAM,UAAU,eAAe,CAAC,QAAgB,EAAE,KAAa;IAC7D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAGnC,IAAI,mBAAmB,CAAC,GAAG,CAAC;QAAE,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAG9D,IAAI,SAAmC,CAAC;IACxC,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpE,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,OAAO,EAAE,CAAC;YACtD,SAAS,GAAG,OAAO,CAAC;YACpB,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,IAAI,SAAS;QAAE,OAAO,SAAS,CAAC;IAGhC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,CAAC;AAC3G,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolExecutionContext, ToolResult } from '@loopstack/common';
|
|
2
|
-
import { QuotaUsage } from '../interfaces/quota.interface';
|
|
3
|
-
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface';
|
|
2
|
+
import { QuotaUsage } from '../interfaces/quota.interface.js';
|
|
3
|
+
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface.js';
|
|
4
4
|
export declare class ProcessingTimeQuotaCalculator implements ToolQuotaCalculator {
|
|
5
5
|
quotaType: string;
|
|
6
6
|
calculateQuotaUsage(context: ToolExecutionContext, _result: ToolResult): QuotaUsage | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing-time-quota.calculator.d.ts","sourceRoot":"","sources":["../../src/calculators/processing-time-quota.calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"processing-time-quota.calculator.d.ts","sourceRoot":"","sources":["../../src/calculators/processing-time-quota.calculator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,qBAAa,6BAA8B,YAAW,mBAAmB;IACvE,SAAS,SAAwB;IAEjC,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;CAK3F"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ProcessingTimeQuotaCalculator = void 0;
|
|
4
|
-
class ProcessingTimeQuotaCalculator {
|
|
1
|
+
export class ProcessingTimeQuotaCalculator {
|
|
5
2
|
quotaType = 'processing-time-ms';
|
|
6
3
|
calculateQuotaUsage(context, _result) {
|
|
7
4
|
const durationMs = context.metadata?.durationMs;
|
|
@@ -10,5 +7,4 @@ class ProcessingTimeQuotaCalculator {
|
|
|
10
7
|
return { quotaType: this.quotaType, actualAmount: durationMs };
|
|
11
8
|
}
|
|
12
9
|
}
|
|
13
|
-
exports.ProcessingTimeQuotaCalculator = ProcessingTimeQuotaCalculator;
|
|
14
10
|
//# sourceMappingURL=processing-time-quota.calculator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing-time-quota.calculator.js","sourceRoot":"","sources":["../../src/calculators/processing-time-quota.calculator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"processing-time-quota.calculator.js","sourceRoot":"","sources":["../../src/calculators/processing-time-quota.calculator.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,6BAA6B;IACxC,SAAS,GAAG,oBAAoB,CAAC;IAEjC,mBAAmB,CAAC,OAA6B,EAAE,OAAmB;QACpE,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC;QAChD,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACpE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACjE,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export * from './calculators';
|
|
2
|
-
export * from './interfaces';
|
|
3
|
-
export * from './services';
|
|
4
|
-
export * from './quota.module';
|
|
1
|
+
export * from './calculators/index.js';
|
|
2
|
+
export * from './interfaces/index.js';
|
|
3
|
+
export * from './services/index.js';
|
|
4
|
+
export * from './quota.module.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,21 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./calculators"), exports);
|
|
18
|
-
__exportStar(require("./interfaces"), exports);
|
|
19
|
-
__exportStar(require("./services"), exports);
|
|
20
|
-
__exportStar(require("./quota.module"), exports);
|
|
1
|
+
export * from './calculators/index.js';
|
|
2
|
+
export * from './interfaces/index.js';
|
|
3
|
+
export * from './services/index.js';
|
|
4
|
+
export * from './quota.module.js';
|
|
21
5
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './quota-client.interface';
|
|
2
|
-
export * from './quota.interface';
|
|
3
|
-
export * from './tool-quota-calculator.interface';
|
|
1
|
+
export * from './quota-client.interface.js';
|
|
2
|
+
export * from './quota.interface.js';
|
|
3
|
+
export * from './tool-quota-calculator.interface.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC"}
|
package/dist/interfaces/index.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./quota-client.interface"), exports);
|
|
18
|
-
__exportStar(require("./quota.interface"), exports);
|
|
19
|
-
__exportStar(require("./tool-quota-calculator.interface"), exports);
|
|
1
|
+
export * from './quota-client.interface.js';
|
|
2
|
+
export * from './quota.interface.js';
|
|
3
|
+
export * from './tool-quota-calculator.interface.js';
|
|
20
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,sCAAsC,CAAC"}
|
|
@@ -1,5 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.QUOTA_CLIENT_SERVICE = void 0;
|
|
4
|
-
exports.QUOTA_CLIENT_SERVICE = 'QUOTA_CLIENT_SERVICE';
|
|
1
|
+
export const QUOTA_CLIENT_SERVICE = 'QUOTA_CLIENT_SERVICE';
|
|
5
2
|
//# sourceMappingURL=quota-client.interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-client.interface.js","sourceRoot":"","sources":["../../src/interfaces/quota-client.interface.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-client.interface.js","sourceRoot":"","sources":["../../src/interfaces/quota-client.interface.ts"],"names":[],"mappings":"AAMA,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ToolExecutionContext, ToolResult } from '@loopstack/common';
|
|
2
|
-
import { QuotaUsage } from './quota.interface';
|
|
2
|
+
import { QuotaUsage } from './quota.interface.js';
|
|
3
3
|
export interface ToolQuotaCalculator {
|
|
4
4
|
quotaType: string;
|
|
5
5
|
calculateQuotaUsage(context: ToolExecutionContext, result: ToolResult): QuotaUsage | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-quota-calculator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tool-quota-calculator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"tool-quota-calculator.interface.d.ts","sourceRoot":"","sources":["../../src/interfaces/tool-quota-calculator.interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,MAAM,WAAW,mBAAmB;IAIlC,SAAS,EAAE,MAAM,CAAC;IAMlB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAC;CAC3F"}
|
package/dist/quota.module.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.module.d.ts","sourceRoot":"","sources":["../src/quota.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIrE,OAAO,EAAe,uBAAuB,EAAwC,MAAM,
|
|
1
|
+
{"version":3,"file":"quota.module.d.ts","sourceRoot":"","sources":["../src/quota.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAIrE,OAAO,EAAe,uBAAuB,EAAwC,MAAM,qBAAqB,CAAC;AAEjH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,qBAUa,WAAY,YAAW,YAAY;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;gBAAlB,kBAAkB,EAAE,uBAAuB;IAExE,YAAY;IAMZ,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,aAAa;IAuC3D,MAAM,CAAC,YAAY,IAAI,aAAa;CAQrC"}
|
package/dist/quota.module.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -8,36 +7,31 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
7
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
10
|
var QuotaModule_1;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const interfaces_1 = require("./interfaces");
|
|
21
|
-
const services_1 = require("./services");
|
|
11
|
+
import { Module } from '@nestjs/common';
|
|
12
|
+
import { Redis } from 'ioredis';
|
|
13
|
+
import { AiGenerateTextQuotaCalculator } from './calculators/index.js';
|
|
14
|
+
import { QUOTA_CLIENT_SERVICE } from './interfaces/index.js';
|
|
15
|
+
import { QUOTA_REDIS, QuotaCalculatorRegistry, QuotaClientService, QuotaInterceptor } from './services/index.js';
|
|
22
16
|
let QuotaModule = QuotaModule_1 = class QuotaModule {
|
|
23
17
|
calculatorRegistry;
|
|
24
18
|
constructor(calculatorRegistry) {
|
|
25
19
|
this.calculatorRegistry = calculatorRegistry;
|
|
26
20
|
}
|
|
27
21
|
onModuleInit() {
|
|
28
|
-
const aiTokenCalculator = new
|
|
22
|
+
const aiTokenCalculator = new AiGenerateTextQuotaCalculator();
|
|
29
23
|
this.calculatorRegistry.register('LlmGenerateTextTool', aiTokenCalculator);
|
|
30
24
|
this.calculatorRegistry.register('LlmGenerateObjectTool', aiTokenCalculator);
|
|
31
25
|
}
|
|
32
26
|
static forRoot(options) {
|
|
33
27
|
const enabled = options?.enabled ?? false;
|
|
34
28
|
const redisProvider = {
|
|
35
|
-
provide:
|
|
29
|
+
provide: QUOTA_REDIS,
|
|
36
30
|
useFactory: () => {
|
|
37
31
|
if (!enabled) {
|
|
38
32
|
return null;
|
|
39
33
|
}
|
|
40
|
-
return new
|
|
34
|
+
return new Redis({
|
|
41
35
|
host: options?.redisHost ?? 'localhost',
|
|
42
36
|
port: options?.redisPort ?? 6379,
|
|
43
37
|
password: options?.redisPassword,
|
|
@@ -54,15 +48,15 @@ let QuotaModule = QuotaModule_1 = class QuotaModule {
|
|
|
54
48
|
global: true,
|
|
55
49
|
providers: [
|
|
56
50
|
redisProvider,
|
|
57
|
-
|
|
51
|
+
QuotaClientService,
|
|
58
52
|
{
|
|
59
|
-
provide:
|
|
60
|
-
useExisting:
|
|
53
|
+
provide: QUOTA_CLIENT_SERVICE,
|
|
54
|
+
useExisting: QuotaClientService,
|
|
61
55
|
},
|
|
62
|
-
|
|
63
|
-
|
|
56
|
+
QuotaCalculatorRegistry,
|
|
57
|
+
QuotaInterceptor,
|
|
64
58
|
],
|
|
65
|
-
exports: [
|
|
59
|
+
exports: [QUOTA_CLIENT_SERVICE, QuotaClientService, QuotaCalculatorRegistry],
|
|
66
60
|
};
|
|
67
61
|
}
|
|
68
62
|
static forRootAsync() {
|
|
@@ -74,18 +68,18 @@ let QuotaModule = QuotaModule_1 = class QuotaModule {
|
|
|
74
68
|
});
|
|
75
69
|
}
|
|
76
70
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
(0, common_1.Module)({
|
|
71
|
+
QuotaModule = QuotaModule_1 = __decorate([
|
|
72
|
+
Module({
|
|
80
73
|
providers: [
|
|
81
|
-
{ provide:
|
|
82
|
-
|
|
83
|
-
{ provide:
|
|
84
|
-
|
|
85
|
-
|
|
74
|
+
{ provide: QUOTA_REDIS, useValue: null },
|
|
75
|
+
QuotaClientService,
|
|
76
|
+
{ provide: QUOTA_CLIENT_SERVICE, useExisting: QuotaClientService },
|
|
77
|
+
QuotaCalculatorRegistry,
|
|
78
|
+
QuotaInterceptor,
|
|
86
79
|
],
|
|
87
|
-
exports: [
|
|
80
|
+
exports: [QUOTA_CLIENT_SERVICE, QuotaClientService, QuotaCalculatorRegistry],
|
|
88
81
|
}),
|
|
89
|
-
__metadata("design:paramtypes", [
|
|
82
|
+
__metadata("design:paramtypes", [QuotaCalculatorRegistry])
|
|
90
83
|
], QuotaModule);
|
|
84
|
+
export { QuotaModule };
|
|
91
85
|
//# sourceMappingURL=quota.module.js.map
|
package/dist/quota.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.module.js","sourceRoot":"","sources":["../src/quota.module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota.module.js","sourceRoot":"","sources":["../src/quota.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const quota_calculator_registry_service_1 = require("../quota-calculator-registry.service");
|
|
1
|
+
import { beforeEach, describe, expect, it } from 'vitest';
|
|
2
|
+
import { QuotaCalculatorRegistry } from '../quota-calculator-registry.service.js';
|
|
4
3
|
class MockCalculator {
|
|
5
4
|
quotaType = 'test-type';
|
|
6
5
|
calculateQuotaUsage(_context, _result) {
|
|
@@ -10,7 +9,7 @@ class MockCalculator {
|
|
|
10
9
|
describe('QuotaCalculatorRegistry', () => {
|
|
11
10
|
let registry;
|
|
12
11
|
beforeEach(() => {
|
|
13
|
-
registry = new
|
|
12
|
+
registry = new QuotaCalculatorRegistry();
|
|
14
13
|
});
|
|
15
14
|
it('should register and retrieve a calculator', () => {
|
|
16
15
|
const calculator = new MockCalculator();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-calculator-registry.service.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota-calculator-registry.service.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-calculator-registry.service.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota-calculator-registry.service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG1D,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAElF,MAAM,cAAc;IAClB,SAAS,GAAG,WAAW,CAAC;IACxB,mBAAmB,CAAC,QAA8B,EAAE,OAAmB;QACrE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;IACzD,CAAC;CACF;AAED,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,IAAI,QAAiC,CAAC;IAEtC,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,GAAG,IAAI,uBAAuB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAE1C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,cAAc,EAAE,CAAC;QACzC,WAAW,CAAC,SAAS,GAAG,iBAAiB,CAAC;QAE1C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC3C,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAE3C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QACzE,MAAM,UAAU,GAAG,IAAI,cAAc,EAAE,CAAC;QACxC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACvC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAEvC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const quota_client_service_1 = require("../quota-client.service");
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { QuotaClientService } from '../quota-client.service.js';
|
|
4
3
|
describe('QuotaClientService', () => {
|
|
5
4
|
describe('without Redis (null)', () => {
|
|
6
5
|
let service;
|
|
7
6
|
beforeEach(() => {
|
|
8
|
-
service = new
|
|
7
|
+
service = new QuotaClientService(null);
|
|
9
8
|
});
|
|
10
9
|
it('checkQuota should return not exceeded with unlimited', async () => {
|
|
11
10
|
const result = await service.checkQuota('user-1', 'llm-cost');
|
|
@@ -20,10 +19,10 @@ describe('QuotaClientService', () => {
|
|
|
20
19
|
let redisMock;
|
|
21
20
|
beforeEach(() => {
|
|
22
21
|
redisMock = {
|
|
23
|
-
get:
|
|
24
|
-
incrby:
|
|
22
|
+
get: vi.fn(),
|
|
23
|
+
incrby: vi.fn(),
|
|
25
24
|
};
|
|
26
|
-
service = new
|
|
25
|
+
service = new QuotaClientService(redisMock);
|
|
27
26
|
});
|
|
28
27
|
describe('checkQuota', () => {
|
|
29
28
|
it('should return not exceeded when under limit', async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-client.service.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota-client.service.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-client.service.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota-client.service.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,IAAI,OAA2B,CAAC;QAEhC,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACnF,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,OAA2B,CAAC;QAChC,IAAI,SAA+B,CAAC;QAEpC,UAAU,CAAC,GAAG,EAAE;YACd,SAAS,GAAG;gBACV,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;gBACZ,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;aAChB,CAAC;YACF,OAAO,GAAG,IAAI,kBAAkB,CAAC,SAAgB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;YAC1B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC3D,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAExE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;gBACpD,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAE1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;gBACtD,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAE1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;gBACzE,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAEvE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;gBAC9C,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAExE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;gBAC9D,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAE1E,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACvE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;gBACjE,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;gBAEtE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;gBAC/C,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAEjE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBAC9D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;YACtB,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;gBAC7C,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;gBAExC,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;gBAEhD,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,iCAAiC,EAAE,GAAG,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;gBAC/C,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAEpE,MAAM,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const quota_interceptor_1 = require("../quota.interceptor");
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
2
|
+
import { QuotaCalculatorRegistry } from '../quota-calculator-registry.service.js';
|
|
3
|
+
import { QuotaInterceptor } from '../quota.interceptor.js';
|
|
5
4
|
class FakeTool {
|
|
6
5
|
name;
|
|
7
6
|
constructor(name) {
|
|
@@ -22,14 +21,14 @@ describe('QuotaInterceptor', () => {
|
|
|
22
21
|
let interceptor;
|
|
23
22
|
let quotaClientService;
|
|
24
23
|
let registry;
|
|
25
|
-
const noopNext =
|
|
24
|
+
const noopNext = vi.fn().mockResolvedValue({ data: {} });
|
|
26
25
|
beforeEach(() => {
|
|
27
26
|
quotaClientService = {
|
|
28
|
-
checkQuota:
|
|
29
|
-
report:
|
|
27
|
+
checkQuota: vi.fn().mockResolvedValue({ exceeded: false, used: 0, limit: -1 }),
|
|
28
|
+
report: vi.fn().mockResolvedValue(undefined),
|
|
30
29
|
};
|
|
31
|
-
registry = new
|
|
32
|
-
interceptor = new
|
|
30
|
+
registry = new QuotaCalculatorRegistry();
|
|
31
|
+
interceptor = new QuotaInterceptor(quotaClientService, registry);
|
|
33
32
|
noopNext.mockClear();
|
|
34
33
|
});
|
|
35
34
|
describe('before execution (quota checks)', () => {
|
|
@@ -48,7 +47,7 @@ describe('QuotaInterceptor', () => {
|
|
|
48
47
|
it('should check both processing time and tool-specific quota', async () => {
|
|
49
48
|
registry.register('AiGenerateText', {
|
|
50
49
|
quotaType: 'llm-cost',
|
|
51
|
-
calculateQuotaUsage:
|
|
50
|
+
calculateQuotaUsage: vi.fn(),
|
|
52
51
|
});
|
|
53
52
|
const context = createContext('AiGenerateText');
|
|
54
53
|
await interceptor.intercept(context, noopNext);
|
|
@@ -59,7 +58,7 @@ describe('QuotaInterceptor', () => {
|
|
|
59
58
|
it('should throw when tool-specific quota is exceeded', async () => {
|
|
60
59
|
registry.register('AiGenerateText', {
|
|
61
60
|
quotaType: 'llm-cost',
|
|
62
|
-
calculateQuotaUsage:
|
|
61
|
+
calculateQuotaUsage: vi.fn(),
|
|
63
62
|
});
|
|
64
63
|
quotaClientService.checkQuota
|
|
65
64
|
.mockResolvedValueOnce({ exceeded: false, used: 0, limit: -1 })
|
|
@@ -71,7 +70,7 @@ describe('QuotaInterceptor', () => {
|
|
|
71
70
|
it('should not throw when all quotas are within limits', async () => {
|
|
72
71
|
registry.register('AiGenerateText', {
|
|
73
72
|
quotaType: 'llm-cost',
|
|
74
|
-
calculateQuotaUsage:
|
|
73
|
+
calculateQuotaUsage: vi.fn(),
|
|
75
74
|
});
|
|
76
75
|
quotaClientService.checkQuota.mockResolvedValue({ exceeded: false, used: 500, limit: 1000 });
|
|
77
76
|
const context = createContext('AiGenerateText');
|
|
@@ -92,7 +91,7 @@ describe('QuotaInterceptor', () => {
|
|
|
92
91
|
it('should report tool-specific usage when calculator returns usage', async () => {
|
|
93
92
|
registry.register('AiGenerateText', {
|
|
94
93
|
quotaType: 'llm-cost',
|
|
95
|
-
calculateQuotaUsage:
|
|
94
|
+
calculateQuotaUsage: vi.fn().mockReturnValue({ quotaType: 'llm-cost', actualAmount: 500 }),
|
|
96
95
|
});
|
|
97
96
|
const context = createContext('AiGenerateText', { metadata: { durationMs: 1000 } });
|
|
98
97
|
await interceptor.intercept(context, noopNext);
|
|
@@ -103,7 +102,7 @@ describe('QuotaInterceptor', () => {
|
|
|
103
102
|
it('should not report tool-specific usage when calculator returns null', async () => {
|
|
104
103
|
registry.register('AiGenerateText', {
|
|
105
104
|
quotaType: 'llm-cost',
|
|
106
|
-
calculateQuotaUsage:
|
|
105
|
+
calculateQuotaUsage: vi.fn().mockReturnValue(null),
|
|
107
106
|
});
|
|
108
107
|
const context = createContext('AiGenerateText', { metadata: { durationMs: 100 } });
|
|
109
108
|
await interceptor.intercept(context, noopNext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.interceptor.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota.interceptor.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota.interceptor.spec.js","sourceRoot":"","sources":["../../../src/services/__tests__/quota.interceptor.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export * from './quota-calculator-registry.service';
|
|
2
|
-
export * from './quota-client.service';
|
|
3
|
-
export * from './quota.interceptor';
|
|
1
|
+
export * from './quota-calculator-registry.service.js';
|
|
2
|
+
export * from './quota-client.service.js';
|
|
3
|
+
export * from './quota.interceptor.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
|
package/dist/services/index.js
CHANGED
|
@@ -1,20 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./quota-calculator-registry.service"), exports);
|
|
18
|
-
__exportStar(require("./quota-client.service"), exports);
|
|
19
|
-
__exportStar(require("./quota.interceptor"), exports);
|
|
1
|
+
export * from './quota-calculator-registry.service.js';
|
|
2
|
+
export * from './quota-client.service.js';
|
|
3
|
+
export * from './quota.interceptor.js';
|
|
20
4
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface';
|
|
1
|
+
import { ToolQuotaCalculator } from '../interfaces/tool-quota-calculator.interface.js';
|
|
2
2
|
export declare class QuotaCalculatorRegistry {
|
|
3
3
|
private readonly logger;
|
|
4
4
|
private readonly calculators;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-calculator-registry.service.d.ts","sourceRoot":"","sources":["../../src/services/quota-calculator-registry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"quota-calculator-registry.service.d.ts","sourceRoot":"","sources":["../../src/services/quota-calculator-registry.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAEvF,qBACa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAEtE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,IAAI;IAQtE,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI3D,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;CAGpC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -6,11 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
7
|
var QuotaCalculatorRegistry_1;
|
|
9
|
-
|
|
10
|
-
exports.QuotaCalculatorRegistry = void 0;
|
|
11
|
-
const common_1 = require("@nestjs/common");
|
|
8
|
+
import { Injectable, Logger } from '@nestjs/common';
|
|
12
9
|
let QuotaCalculatorRegistry = QuotaCalculatorRegistry_1 = class QuotaCalculatorRegistry {
|
|
13
|
-
logger = new
|
|
10
|
+
logger = new Logger(QuotaCalculatorRegistry_1.name);
|
|
14
11
|
calculators = new Map();
|
|
15
12
|
register(toolClassName, calculator) {
|
|
16
13
|
if (this.calculators.has(toolClassName)) {
|
|
@@ -26,8 +23,8 @@ let QuotaCalculatorRegistry = QuotaCalculatorRegistry_1 = class QuotaCalculatorR
|
|
|
26
23
|
return this.calculators.has(toolClassName);
|
|
27
24
|
}
|
|
28
25
|
};
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
(0, common_1.Injectable)()
|
|
26
|
+
QuotaCalculatorRegistry = QuotaCalculatorRegistry_1 = __decorate([
|
|
27
|
+
Injectable()
|
|
32
28
|
], QuotaCalculatorRegistry);
|
|
29
|
+
export { QuotaCalculatorRegistry };
|
|
33
30
|
//# sourceMappingURL=quota-calculator-registry.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-calculator-registry.service.js","sourceRoot":"","sources":["../../src/services/quota-calculator-registry.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-calculator-registry.service.js","sourceRoot":"","sources":["../../src/services/quota-calculator-registry.service.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAI7C,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IACjB,MAAM,GAAG,IAAI,MAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,WAAW,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEtE,QAAQ,CAAC,aAAqB,EAAE,UAA+B;QAC7D,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,aAAa,kCAAkC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QAChD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,yCAAyC,aAAa,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,GAAG,CAAC,aAAqB;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,GAAG,CAAC,aAAqB;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AAnBY,uBAAuB;IADnC,UAAU,EAAE;GACA,uBAAuB,CAmBnC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import Redis from 'ioredis';
|
|
2
|
-
import { QuotaCheckResult, QuotaClientServiceInterface } from '../interfaces';
|
|
1
|
+
import { Redis } from 'ioredis';
|
|
2
|
+
import { QuotaCheckResult, QuotaClientServiceInterface } from '../interfaces/index.js';
|
|
3
3
|
export declare const QUOTA_REDIS = "QUOTA_REDIS";
|
|
4
4
|
export declare class QuotaClientService implements QuotaClientServiceInterface {
|
|
5
5
|
private readonly redis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-client.service.d.ts","sourceRoot":"","sources":["../../src/services/quota-client.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"quota-client.service.d.ts","sourceRoot":"","sources":["../../src/services/quota-client.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AAEvF,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,qBACa,kBAAmB,YAAW,2BAA2B;IAMlE,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;gBAK3C,KAAK,EAAE,KAAK,GAAG,IAAI;IAGhC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2CxE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB9E,OAAO,CAAC,GAAG;CAGZ"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -12,13 +11,11 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
12
11
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
12
|
};
|
|
14
13
|
var QuotaClientService_1;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const common_1 = require("@nestjs/common");
|
|
18
|
-
exports.QUOTA_REDIS = 'QUOTA_REDIS';
|
|
14
|
+
import { Inject, Injectable, Logger, Optional } from '@nestjs/common';
|
|
15
|
+
export const QUOTA_REDIS = 'QUOTA_REDIS';
|
|
19
16
|
let QuotaClientService = QuotaClientService_1 = class QuotaClientService {
|
|
20
17
|
redis;
|
|
21
|
-
logger = new
|
|
18
|
+
logger = new Logger(QuotaClientService_1.name);
|
|
22
19
|
constructor(redis) {
|
|
23
20
|
this.redis = redis;
|
|
24
21
|
}
|
|
@@ -66,11 +63,11 @@ let QuotaClientService = QuotaClientService_1 = class QuotaClientService {
|
|
|
66
63
|
return `user:${userId}:quota:${quotaType}:${suffix}`;
|
|
67
64
|
}
|
|
68
65
|
};
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
(0,
|
|
72
|
-
__param(0, (
|
|
73
|
-
__param(0, (0, common_1.Inject)(exports.QUOTA_REDIS)),
|
|
66
|
+
QuotaClientService = QuotaClientService_1 = __decorate([
|
|
67
|
+
Injectable(),
|
|
68
|
+
__param(0, Optional()),
|
|
69
|
+
__param(0, Inject(QUOTA_REDIS)),
|
|
74
70
|
__metadata("design:paramtypes", [Object])
|
|
75
71
|
], QuotaClientService);
|
|
72
|
+
export { QuotaClientService };
|
|
76
73
|
//# sourceMappingURL=quota-client.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-client.service.js","sourceRoot":"","sources":["../../src/services/quota-client.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota-client.service.js","sourceRoot":"","sources":["../../src/services/quota-client.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ToolExecutionContext, ToolInterceptor, ToolResult } from '@loopstack/common';
|
|
2
|
-
import { QuotaCalculatorRegistry } from './quota-calculator-registry.service';
|
|
3
|
-
import { QuotaClientService } from './quota-client.service';
|
|
2
|
+
import { QuotaCalculatorRegistry } from './quota-calculator-registry.service.js';
|
|
3
|
+
import { QuotaClientService } from './quota-client.service.js';
|
|
4
4
|
export declare class QuotaInterceptor implements ToolInterceptor {
|
|
5
5
|
private readonly quotaClientService;
|
|
6
6
|
private readonly calculatorRegistry;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.interceptor.d.ts","sourceRoot":"","sources":["../../src/services/quota.interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"quota.interceptor.d.ts","sourceRoot":"","sources":["../../src/services/quota.interceptor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,UAAU,EAAsB,MAAM,mBAAmB,CAAC;AAE1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,qBACa,gBAAiB,YAAW,eAAe;IAKpD,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IALrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuC;gBAG7D,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE,uBAAuB;IAGxD,SAAS,CAAC,OAAO,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC;CAyCrG"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
@@ -9,18 +8,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
8
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
9
|
};
|
|
11
10
|
var QuotaInterceptor_1;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const quota_calculator_registry_service_1 = require("./quota-calculator-registry.service");
|
|
18
|
-
const quota_client_service_1 = require("./quota-client.service");
|
|
11
|
+
import { Logger } from '@nestjs/common';
|
|
12
|
+
import { UseToolInterceptor } from '@loopstack/common';
|
|
13
|
+
import { ProcessingTimeQuotaCalculator } from '../calculators/index.js';
|
|
14
|
+
import { QuotaCalculatorRegistry } from './quota-calculator-registry.service.js';
|
|
15
|
+
import { QuotaClientService } from './quota-client.service.js';
|
|
19
16
|
let QuotaInterceptor = QuotaInterceptor_1 = class QuotaInterceptor {
|
|
20
17
|
quotaClientService;
|
|
21
18
|
calculatorRegistry;
|
|
22
|
-
logger = new
|
|
23
|
-
processingTimeCalculator = new
|
|
19
|
+
logger = new Logger(QuotaInterceptor_1.name);
|
|
20
|
+
processingTimeCalculator = new ProcessingTimeQuotaCalculator();
|
|
24
21
|
constructor(quotaClientService, calculatorRegistry) {
|
|
25
22
|
this.quotaClientService = quotaClientService;
|
|
26
23
|
this.calculatorRegistry = calculatorRegistry;
|
|
@@ -55,10 +52,10 @@ let QuotaInterceptor = QuotaInterceptor_1 = class QuotaInterceptor {
|
|
|
55
52
|
return result;
|
|
56
53
|
}
|
|
57
54
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
(
|
|
61
|
-
|
|
62
|
-
quota_calculator_registry_service_1.QuotaCalculatorRegistry])
|
|
55
|
+
QuotaInterceptor = QuotaInterceptor_1 = __decorate([
|
|
56
|
+
UseToolInterceptor({ priority: 50 }),
|
|
57
|
+
__metadata("design:paramtypes", [QuotaClientService,
|
|
58
|
+
QuotaCalculatorRegistry])
|
|
63
59
|
], QuotaInterceptor);
|
|
60
|
+
export { QuotaInterceptor };
|
|
64
61
|
//# sourceMappingURL=quota.interceptor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota.interceptor.js","sourceRoot":"","sources":["../../src/services/quota.interceptor.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"quota.interceptor.js","sourceRoot":"","sources":["../../src/services/quota.interceptor.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAqD,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1G,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGxD,IAAM,gBAAgB,wBAAtB,MAAM,gBAAgB;IAKR;IACA;IALF,MAAM,GAAG,IAAI,MAAM,CAAC,kBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,wBAAwB,GAAG,IAAI,6BAA6B,EAAE,CAAC;IAEhF,YACmB,kBAAsC,EACtC,kBAA2C;QAD3C,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,uBAAkB,GAAlB,kBAAkB,CAAyB;IAC3D,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,OAA6B,EAAE,IAA+B;QAC5E,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QACzC,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAGpD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC5G,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,uBAAuB,IAAI,CAAC,wBAAwB,CAAC,SAAS,MAAM,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,KAAK,EAAE,CACxG,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9D,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;YAC3F,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,uBAAuB,UAAU,CAAC,SAAS,MAAM,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;YAC5G,CAAC;QACH,CAAC;QAGD,MAAM,MAAM,GAAG,MAAM,IAAI,EAAE,CAAC;QAG5B,MAAM,UAAU,GAAI,OAAO,CAAC,QAAQ,CAAC,UAAqB,IAAI,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACrF,IAAI,SAAS,EAAE,CAAC;YAEd,MAAM,MAAM,GAAG,UAAU,IAAI,SAAS,CAAC,YAAY,CAAC;YACpD,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC9D,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF,CAAA;AAlDY,gBAAgB;IAD5B,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;qCAMI,kBAAkB;QAClB,uBAAuB;GANnD,gBAAgB,CAkD5B"}
|
package/package.json
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
"redis",
|
|
10
10
|
"workflow"
|
|
11
11
|
],
|
|
12
|
-
"version": "0.
|
|
12
|
+
"version": "0.24.0",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Jakob Klippel",
|
|
@@ -18,57 +18,32 @@
|
|
|
18
18
|
"main": "dist/index.js",
|
|
19
19
|
"types": "dist/index.d.ts",
|
|
20
20
|
"exports": {
|
|
21
|
-
".":
|
|
21
|
+
".": {
|
|
22
|
+
"types": "./dist/index.d.ts",
|
|
23
|
+
"default": "./dist/index.js"
|
|
24
|
+
}
|
|
22
25
|
},
|
|
23
26
|
"scripts": {
|
|
24
27
|
"build": "nest build",
|
|
25
28
|
"compile": "tsc --noEmit",
|
|
26
29
|
"format": "prettier --write .",
|
|
27
30
|
"lint": "eslint .",
|
|
28
|
-
"test": "
|
|
31
|
+
"test": "vitest run",
|
|
29
32
|
"watch": "nest build --watch"
|
|
30
33
|
},
|
|
31
34
|
"dependencies": {
|
|
32
|
-
"@loopstack/common": "^0.
|
|
35
|
+
"@loopstack/common": "^0.30.0",
|
|
33
36
|
"@nestjs/common": "^11.1.19",
|
|
34
37
|
"ioredis": "^5.10.1"
|
|
35
38
|
},
|
|
36
39
|
"devDependencies": {
|
|
37
40
|
"@nestjs/cli": "^11.0.19",
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
+
"vitest": "^4.1.6",
|
|
42
|
+
"@swc/core": "^1.15.33",
|
|
43
|
+
"unplugin-swc": "^1.5.9"
|
|
41
44
|
},
|
|
42
45
|
"files": [
|
|
43
46
|
"dist"
|
|
44
47
|
],
|
|
45
|
-
"
|
|
46
|
-
"moduleFileExtensions": [
|
|
47
|
-
"js",
|
|
48
|
-
"json",
|
|
49
|
-
"ts"
|
|
50
|
-
],
|
|
51
|
-
"rootDir": "src",
|
|
52
|
-
"testRegex": ".*\\.spec\\.ts$",
|
|
53
|
-
"transform": {
|
|
54
|
-
"^.+\\.ts$": "ts-jest"
|
|
55
|
-
},
|
|
56
|
-
"collectCoverageFrom": [
|
|
57
|
-
"**/*.(t|j)s"
|
|
58
|
-
],
|
|
59
|
-
"coverageDirectory": "../coverage",
|
|
60
|
-
"testEnvironment": "node",
|
|
61
|
-
"maxWorkers": 1
|
|
62
|
-
},
|
|
63
|
-
"loopstack": {
|
|
64
|
-
"modules": [
|
|
65
|
-
{
|
|
66
|
-
"path": "src/quota.module.ts",
|
|
67
|
-
"className": "QuotaModule"
|
|
68
|
-
}
|
|
69
|
-
],
|
|
70
|
-
"installModes": [
|
|
71
|
-
"install"
|
|
72
|
-
]
|
|
73
|
-
}
|
|
48
|
+
"type": "module"
|
|
74
49
|
}
|