@carlonicora/nestjs-neo4jsonapi 1.117.0 → 1.119.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/agents/contextualiser/contexts/contextualiser.context.d.ts +30 -0
- package/dist/agents/contextualiser/contexts/contextualiser.context.d.ts.map +1 -1
- package/dist/agents/contextualiser/contexts/notebook.context.d.ts +10 -0
- package/dist/agents/contextualiser/contexts/notebook.context.d.ts.map +1 -1
- package/dist/agents/contextualiser/contexts/notebook.context.js +2 -0
- package/dist/agents/contextualiser/contexts/notebook.context.js.map +1 -1
- package/dist/agents/contextualiser/contextualiser.module.d.ts.map +1 -1
- package/dist/agents/contextualiser/contextualiser.module.js +4 -2
- package/dist/agents/contextualiser/contextualiser.module.js.map +1 -1
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.d.ts +2 -4
- package/dist/agents/contextualiser/interfaces/contextualiser.response.interface.d.ts.map +1 -1
- package/dist/agents/contextualiser/interfaces/retrieval.source.interface.d.ts +38 -0
- package/dist/agents/contextualiser/interfaces/retrieval.source.interface.d.ts.map +1 -0
- package/dist/agents/contextualiser/interfaces/retrieval.source.interface.js +8 -0
- package/dist/agents/contextualiser/interfaces/retrieval.source.interface.js.map +1 -0
- package/dist/agents/contextualiser/nodes/chunk.node.service.d.ts +3 -1
- package/dist/agents/contextualiser/nodes/chunk.node.service.d.ts.map +1 -1
- package/dist/agents/contextualiser/nodes/chunk.node.service.js +12 -2
- package/dist/agents/contextualiser/nodes/chunk.node.service.js.map +1 -1
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.d.ts +4 -1
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.d.ts.map +1 -1
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js +59 -12
- package/dist/agents/contextualiser/nodes/chunk.vector.node.service.js.map +1 -1
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js +1 -1
- package/dist/agents/contextualiser/nodes/keyconcepts.node.service.js.map +1 -1
- package/dist/agents/contextualiser/services/contextualiser.service.d.ts +11 -1
- package/dist/agents/contextualiser/services/contextualiser.service.d.ts.map +1 -1
- package/dist/agents/contextualiser/services/contextualiser.service.js +25 -4
- package/dist/agents/contextualiser/services/contextualiser.service.js.map +1 -1
- package/dist/agents/drift/drift.module.d.ts.map +1 -1
- package/dist/agents/drift/drift.module.js +9 -2
- package/dist/agents/drift/drift.module.js.map +1 -1
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.d.ts +3 -0
- package/dist/agents/graph.creator/interfaces/chunk.analysis.interface.d.ts.map +1 -1
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts +11 -0
- package/dist/agents/graph.creator/services/graph.creator.service.d.ts.map +1 -1
- package/dist/agents/graph.creator/services/graph.creator.service.js +12 -1
- package/dist/agents/graph.creator/services/graph.creator.service.js.map +1 -1
- package/dist/agents/index.d.ts +5 -1
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +4 -1
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/prompts/index.d.ts +3 -1
- package/dist/agents/prompts/index.d.ts.map +1 -1
- package/dist/agents/prompts/index.js +8 -2
- package/dist/agents/prompts/index.js.map +1 -1
- package/dist/agents/responder/contexts/responder.context.d.ts +102 -0
- package/dist/agents/responder/contexts/responder.context.d.ts.map +1 -1
- package/dist/agents/responder/contexts/responder.context.js +2 -0
- package/dist/agents/responder/contexts/responder.context.js.map +1 -1
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts +4 -0
- package/dist/agents/responder/interfaces/responder.response.interface.d.ts.map +1 -1
- package/dist/agents/responder/interfaces/unified.trace.interface.d.ts +13 -0
- package/dist/agents/responder/interfaces/unified.trace.interface.d.ts.map +1 -1
- package/dist/agents/responder/nodes/planner.node.service.d.ts +6 -2
- package/dist/agents/responder/nodes/planner.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/planner.node.service.js +10 -5
- package/dist/agents/responder/nodes/planner.node.service.js.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts +6 -0
- package/dist/agents/responder/nodes/responder.answer.node.service.d.ts.map +1 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js +12 -1
- package/dist/agents/responder/nodes/responder.answer.node.service.js.map +1 -1
- package/dist/agents/responder/responder.module.d.ts.map +1 -1
- package/dist/agents/responder/responder.module.js +6 -2
- package/dist/agents/responder/responder.module.js.map +1 -1
- package/dist/agents/responder/services/responder.service.d.ts +20 -1
- package/dist/agents/responder/services/responder.service.d.ts.map +1 -1
- package/dist/agents/responder/services/responder.service.js +61 -4
- package/dist/agents/responder/services/responder.service.js.map +1 -1
- package/dist/agents/summariser/services/summariser.service.d.ts +1 -0
- package/dist/agents/summariser/services/summariser.service.d.ts.map +1 -1
- package/dist/agents/summariser/services/summariser.service.js +20 -1
- package/dist/agents/summariser/services/summariser.service.js.map +1 -1
- package/dist/agents/summariser/utils/tldr.sanitizer.d.ts +18 -0
- package/dist/agents/summariser/utils/tldr.sanitizer.d.ts.map +1 -0
- package/dist/agents/summariser/utils/tldr.sanitizer.js +44 -0
- package/dist/agents/summariser/utils/tldr.sanitizer.js.map +1 -0
- package/dist/common/helpers/define-entity.d.ts +11 -1
- package/dist/common/helpers/define-entity.d.ts.map +1 -1
- package/dist/common/helpers/define-entity.js +7 -0
- package/dist/common/helpers/define-entity.js.map +1 -1
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts +10 -4
- package/dist/common/interfaces/agents/graph.creator.interface.d.ts.map +1 -1
- package/dist/config/base.config.d.ts +6 -0
- package/dist/config/base.config.d.ts.map +1 -1
- package/dist/config/base.config.js +2 -0
- package/dist/config/base.config.js.map +1 -1
- package/dist/config/interfaces/base.config.interface.d.ts +4 -0
- package/dist/config/interfaces/base.config.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.prompts.interface.d.ts +1 -0
- package/dist/config/interfaces/config.prompts.interface.d.ts.map +1 -1
- package/dist/config/interfaces/config.responder.interface.d.ts +21 -0
- package/dist/config/interfaces/config.responder.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.responder.interface.js +3 -0
- package/dist/config/interfaces/config.responder.interface.js.map +1 -0
- package/dist/config/interfaces/config.summariser.interface.d.ts +21 -0
- package/dist/config/interfaces/config.summariser.interface.d.ts.map +1 -0
- package/dist/config/interfaces/config.summariser.interface.js +3 -0
- package/dist/config/interfaces/config.summariser.interface.js.map +1 -0
- package/dist/config/interfaces/index.d.ts +2 -0
- package/dist/config/interfaces/index.d.ts.map +1 -1
- package/dist/config/interfaces/index.js +2 -0
- package/dist/config/interfaces/index.js.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.d.ts.map +1 -1
- package/dist/core/neo4j/abstracts/abstract.repository.js +6 -2
- package/dist/core/neo4j/abstracts/abstract.repository.js.map +1 -1
- package/dist/foundations/community/repositories/community.repository.d.ts.map +1 -1
- package/dist/foundations/community/repositories/community.repository.js +2 -1
- package/dist/foundations/community/repositories/community.repository.js.map +1 -1
- package/dist/foundations/notification/repositories/notification.repository.d.ts.map +1 -1
- package/dist/foundations/notification/repositories/notification.repository.js +2 -1
- package/dist/foundations/notification/repositories/notification.repository.js.map +1 -1
- package/dist/foundations/stripe-customer/repositories/stripe-customer.repository.js +1 -1
- package/dist/foundations/stripe-customer/repositories/stripe-customer.repository.js.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.d.ts.map +1 -1
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js +3 -2
- package/dist/foundations/stripe-subscription/repositories/stripe-subscription.repository.js.map +1 -1
- package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.d.ts +27 -0
- package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.d.ts.map +1 -0
- package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js +136 -0
- package/dist/foundations/tokenusage/controllers/tokenusage.admin.controller.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.d.ts +26 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.js +24 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.d.ts +3 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.js +10 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.d.ts +24 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.js +21 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.d.ts +3 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.js +10 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-summary.meta.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.d.ts +22 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.js +21 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.js.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.d.ts +3 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.d.ts.map +1 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.js +10 -0
- package/dist/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.js.map +1 -0
- package/dist/foundations/tokenusage/index.d.ts +9 -0
- package/dist/foundations/tokenusage/index.d.ts.map +1 -1
- package/dist/foundations/tokenusage/index.js +19 -1
- package/dist/foundations/tokenusage/index.js.map +1 -1
- package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.d.ts +73 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.d.ts.map +1 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.js +342 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.admin.repository.js.map +1 -0
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts +21 -3
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.d.ts.map +1 -1
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.js +30 -5
- package/dist/foundations/tokenusage/repositories/tokenusage.repository.js.map +1 -1
- package/dist/foundations/tokenusage/services/tokenusage.admin.service.d.ts +50 -0
- package/dist/foundations/tokenusage/services/tokenusage.admin.service.d.ts.map +1 -0
- package/dist/foundations/tokenusage/services/tokenusage.admin.service.js +84 -0
- package/dist/foundations/tokenusage/services/tokenusage.admin.service.js.map +1 -0
- package/dist/foundations/tokenusage/tokenusage.module.d.ts.map +1 -1
- package/dist/foundations/tokenusage/tokenusage.module.js +21 -3
- package/dist/foundations/tokenusage/tokenusage.module.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FastifyReply } from "fastify";
|
|
2
|
+
import { TokenUsageAdminService } from "../services/tokenusage.admin.service";
|
|
3
|
+
/**
|
|
4
|
+
* Platform-wide token-usage reporting. Every route is administrator-only:
|
|
5
|
+
* JwtAuthGuard._validateRoles enforces @Roles and always admits the
|
|
6
|
+
* Administrator role, so a non-administrator receives 401.
|
|
7
|
+
*
|
|
8
|
+
* Mounted at /tokenusages/administration/* — no overlap with the consuming
|
|
9
|
+
* app's own /tokenusages, /tokenusages/summary and /tokenusages/aggregated
|
|
10
|
+
* routes, so importing TokenUsageModule cannot duplicate a Fastify route.
|
|
11
|
+
*
|
|
12
|
+
* Enum-valued query params are validated against a closed allowlist here rather
|
|
13
|
+
* than in a DTO: DTOs are body validation for POST/PUT/PATCH, and GET filters
|
|
14
|
+
* use bare @Query() params. The allowlist matters — the repository interpolates
|
|
15
|
+
* granularity and dimension into Cypher (they select a clause, they are not
|
|
16
|
+
* values), so an unvalidated string would be an injection vector.
|
|
17
|
+
*/
|
|
18
|
+
export declare class TokenUsageAdminController {
|
|
19
|
+
private readonly service;
|
|
20
|
+
constructor(service: TokenUsageAdminService);
|
|
21
|
+
getSummary(reply: FastifyReply, from?: string, to?: string, companyId?: string): Promise<void>;
|
|
22
|
+
getTimeline(reply: FastifyReply, from?: string, to?: string, granularity?: string, stackBy?: string, companyId?: string): Promise<void>;
|
|
23
|
+
getBreakdown(reply: FastifyReply, from?: string, to?: string, dimension?: string, scope?: string, companyId?: string, limit?: string): Promise<void>;
|
|
24
|
+
private _oneOf;
|
|
25
|
+
private _range;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=tokenusage.admin.controller.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage.admin.controller.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/controllers/tokenusage.admin.controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAU9E;;;;;;;;;;;;;;GAcG;AACH,qBAEa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,EAAE,sBAAsB;IAItD,UAAU,CACP,KAAK,EAAE,YAAY,EACX,IAAI,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,MAAM,EACJ,SAAS,CAAC,EAAE,MAAM;IAQlC,WAAW,CACR,KAAK,EAAE,YAAY,EACX,IAAI,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,MAAM,EACF,WAAW,CAAC,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM;IAelC,YAAY,CACT,KAAK,EAAE,YAAY,EACX,IAAI,CAAC,EAAE,MAAM,EACf,EAAE,CAAC,EAAE,MAAM,EACJ,SAAS,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM,EACV,SAAS,CAAC,EAAE,MAAM,EACtB,KAAK,CAAC,EAAE,MAAM;IAkBhC,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,MAAM;CAWf"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.TokenUsageAdminController = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const system_roles_1 = require("../../../common/constants/system.roles");
|
|
18
|
+
const roles_decorator_1 = require("../../../common/decorators/roles.decorator");
|
|
19
|
+
const jwt_auth_guard_1 = require("../../../common/guards/jwt.auth.guard");
|
|
20
|
+
const tokenusage_meta_1 = require("../entities/tokenusage.meta");
|
|
21
|
+
const tokenusage_admin_service_1 = require("../services/tokenusage.admin.service");
|
|
22
|
+
const GRANULARITIES = ["day", "week", "month"];
|
|
23
|
+
const STACK_BY = ["scope", "type", "company"];
|
|
24
|
+
const DIMENSIONS = ["company", "user", "operation"];
|
|
25
|
+
const SCOPES = ["customer", "platform"];
|
|
26
|
+
const DEFAULT_WINDOW_DAYS = 30;
|
|
27
|
+
const ONE_DAY_MS = 24 * 60 * 60 * 1000;
|
|
28
|
+
/**
|
|
29
|
+
* Platform-wide token-usage reporting. Every route is administrator-only:
|
|
30
|
+
* JwtAuthGuard._validateRoles enforces @Roles and always admits the
|
|
31
|
+
* Administrator role, so a non-administrator receives 401.
|
|
32
|
+
*
|
|
33
|
+
* Mounted at /tokenusages/administration/* — no overlap with the consuming
|
|
34
|
+
* app's own /tokenusages, /tokenusages/summary and /tokenusages/aggregated
|
|
35
|
+
* routes, so importing TokenUsageModule cannot duplicate a Fastify route.
|
|
36
|
+
*
|
|
37
|
+
* Enum-valued query params are validated against a closed allowlist here rather
|
|
38
|
+
* than in a DTO: DTOs are body validation for POST/PUT/PATCH, and GET filters
|
|
39
|
+
* use bare @Query() params. The allowlist matters — the repository interpolates
|
|
40
|
+
* granularity and dimension into Cypher (they select a clause, they are not
|
|
41
|
+
* values), so an unvalidated string would be an injection vector.
|
|
42
|
+
*/
|
|
43
|
+
let TokenUsageAdminController = class TokenUsageAdminController {
|
|
44
|
+
constructor(service) {
|
|
45
|
+
this.service = service;
|
|
46
|
+
}
|
|
47
|
+
async getSummary(reply, from, to, companyId) {
|
|
48
|
+
const range = this._range(from, to);
|
|
49
|
+
reply.send(await this.service.getSummary({ ...range, companyId }));
|
|
50
|
+
}
|
|
51
|
+
async getTimeline(reply, from, to, granularity, stackBy, companyId) {
|
|
52
|
+
const range = this._range(from, to);
|
|
53
|
+
reply.send(await this.service.getTimeline({
|
|
54
|
+
...range,
|
|
55
|
+
granularity: this._oneOf(granularity, GRANULARITIES, "day"),
|
|
56
|
+
stackBy: this._oneOf(stackBy, STACK_BY, "scope"),
|
|
57
|
+
companyId,
|
|
58
|
+
}));
|
|
59
|
+
}
|
|
60
|
+
async getBreakdown(reply, from, to, dimension, scope, companyId, limit) {
|
|
61
|
+
const range = this._range(from, to);
|
|
62
|
+
const parsedLimit = limit === undefined ? 10 : Number(limit);
|
|
63
|
+
if (!Number.isInteger(parsedLimit) || parsedLimit < 1 || parsedLimit > 100)
|
|
64
|
+
throw new common_1.BadRequestException("limit must be an integer between 1 and 100");
|
|
65
|
+
reply.send(await this.service.getBreakdown({
|
|
66
|
+
...range,
|
|
67
|
+
dimension: this._oneOf(dimension, DIMENSIONS, "company"),
|
|
68
|
+
scope: this._oneOf(scope, SCOPES, "customer"),
|
|
69
|
+
companyId,
|
|
70
|
+
limit: parsedLimit,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
_oneOf(value, allowed, fallback) {
|
|
74
|
+
if (value === undefined)
|
|
75
|
+
return fallback;
|
|
76
|
+
if (!allowed.includes(value))
|
|
77
|
+
throw new common_1.BadRequestException(`Expected one of ${allowed.join(", ")}, received "${value}"`);
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
_range(from, to) {
|
|
81
|
+
const toDate = to ? new Date(to) : new Date();
|
|
82
|
+
if (Number.isNaN(toDate.getTime()))
|
|
83
|
+
throw new common_1.BadRequestException("`to` is not a valid date");
|
|
84
|
+
const fromDate = from ? new Date(from) : new Date(toDate.getTime() - DEFAULT_WINDOW_DAYS * ONE_DAY_MS);
|
|
85
|
+
if (Number.isNaN(fromDate.getTime()))
|
|
86
|
+
throw new common_1.BadRequestException("`from` is not a valid date");
|
|
87
|
+
if (fromDate > toDate)
|
|
88
|
+
throw new common_1.BadRequestException("`from` must not be later than `to`");
|
|
89
|
+
return { from: fromDate.toISOString(), to: toDate.toISOString() };
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
exports.TokenUsageAdminController = TokenUsageAdminController;
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, common_1.Get)(`${tokenusage_meta_1.tokenUsageMeta.endpoint}/administration/summary`),
|
|
95
|
+
(0, roles_decorator_1.Roles)(system_roles_1.SystemRoles.Administrator),
|
|
96
|
+
__param(0, (0, common_1.Res)()),
|
|
97
|
+
__param(1, (0, common_1.Query)("from")),
|
|
98
|
+
__param(2, (0, common_1.Query)("to")),
|
|
99
|
+
__param(3, (0, common_1.Query)("companyId")),
|
|
100
|
+
__metadata("design:type", Function),
|
|
101
|
+
__metadata("design:paramtypes", [Object, String, String, String]),
|
|
102
|
+
__metadata("design:returntype", Promise)
|
|
103
|
+
], TokenUsageAdminController.prototype, "getSummary", null);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, common_1.Get)(`${tokenusage_meta_1.tokenUsageMeta.endpoint}/administration/timeline`),
|
|
106
|
+
(0, roles_decorator_1.Roles)(system_roles_1.SystemRoles.Administrator),
|
|
107
|
+
__param(0, (0, common_1.Res)()),
|
|
108
|
+
__param(1, (0, common_1.Query)("from")),
|
|
109
|
+
__param(2, (0, common_1.Query)("to")),
|
|
110
|
+
__param(3, (0, common_1.Query)("granularity")),
|
|
111
|
+
__param(4, (0, common_1.Query)("stackBy")),
|
|
112
|
+
__param(5, (0, common_1.Query)("companyId")),
|
|
113
|
+
__metadata("design:type", Function),
|
|
114
|
+
__metadata("design:paramtypes", [Object, String, String, String, String, String]),
|
|
115
|
+
__metadata("design:returntype", Promise)
|
|
116
|
+
], TokenUsageAdminController.prototype, "getTimeline", null);
|
|
117
|
+
__decorate([
|
|
118
|
+
(0, common_1.Get)(`${tokenusage_meta_1.tokenUsageMeta.endpoint}/administration/breakdown`),
|
|
119
|
+
(0, roles_decorator_1.Roles)(system_roles_1.SystemRoles.Administrator),
|
|
120
|
+
__param(0, (0, common_1.Res)()),
|
|
121
|
+
__param(1, (0, common_1.Query)("from")),
|
|
122
|
+
__param(2, (0, common_1.Query)("to")),
|
|
123
|
+
__param(3, (0, common_1.Query)("dimension")),
|
|
124
|
+
__param(4, (0, common_1.Query)("scope")),
|
|
125
|
+
__param(5, (0, common_1.Query)("companyId")),
|
|
126
|
+
__param(6, (0, common_1.Query)("limit")),
|
|
127
|
+
__metadata("design:type", Function),
|
|
128
|
+
__metadata("design:paramtypes", [Object, String, String, String, String, String, String]),
|
|
129
|
+
__metadata("design:returntype", Promise)
|
|
130
|
+
], TokenUsageAdminController.prototype, "getBreakdown", null);
|
|
131
|
+
exports.TokenUsageAdminController = TokenUsageAdminController = __decorate([
|
|
132
|
+
(0, common_1.UseGuards)(jwt_auth_guard_1.JwtAuthGuard),
|
|
133
|
+
(0, common_1.Controller)(),
|
|
134
|
+
__metadata("design:paramtypes", [tokenusage_admin_service_1.TokenUsageAdminService])
|
|
135
|
+
], TokenUsageAdminController);
|
|
136
|
+
//# sourceMappingURL=tokenusage.admin.controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage.admin.controller.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/controllers/tokenusage.admin.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Entity } from "../../../common/abstracts/entity";
|
|
2
|
+
/**
|
|
3
|
+
* One ranked row of a breakdown. The same shape serves all three dimensions —
|
|
4
|
+
* company, user and operation — which is why the three "by-X" endpoints
|
|
5
|
+
* collapse into a single `breakdown?dimension=` route.
|
|
6
|
+
*
|
|
7
|
+
* `activeUsers` / `monthlyCredits` / `availableMonthlyCredits` are populated
|
|
8
|
+
* only for `dimension=company`; they are absent on user and operation rows.
|
|
9
|
+
*
|
|
10
|
+
* NOT a Neo4j node — serialisation shape only (see the summary descriptor).
|
|
11
|
+
*/
|
|
12
|
+
export type TokenUsageAdminBreakdownEntity = Entity & {
|
|
13
|
+
label: string;
|
|
14
|
+
sublabel?: string;
|
|
15
|
+
cost: number;
|
|
16
|
+
credits: number;
|
|
17
|
+
tokensIn: number;
|
|
18
|
+
tokensOut: number;
|
|
19
|
+
cached: number;
|
|
20
|
+
calls: number;
|
|
21
|
+
activeUsers?: number;
|
|
22
|
+
monthlyCredits?: number;
|
|
23
|
+
availableMonthlyCredits?: number;
|
|
24
|
+
};
|
|
25
|
+
export declare const TokenUsageAdminBreakdownDescriptor: import("../../..").EntityDescriptor<TokenUsageAdminBreakdownEntity, {}>;
|
|
26
|
+
//# sourceMappingURL=tokenusage-admin-breakdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-breakdown.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-breakdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAI1D;;;;;;;;;GASG;AACH,MAAM,MAAM,8BAA8B,GAAG,MAAM,GAAG;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,kCAAkC,yEAoB7C,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenUsageAdminBreakdownDescriptor = void 0;
|
|
4
|
+
const define_entity_1 = require("../../../common/helpers/define-entity");
|
|
5
|
+
const tokenusage_admin_breakdown_meta_1 = require("./tokenusage-admin-breakdown.meta");
|
|
6
|
+
exports.TokenUsageAdminBreakdownDescriptor = (0, define_entity_1.defineEntity)()({
|
|
7
|
+
...tokenusage_admin_breakdown_meta_1.tokenUsageAdminBreakdownMeta,
|
|
8
|
+
isCompanyScoped: false,
|
|
9
|
+
fields: {
|
|
10
|
+
label: { type: "string", required: true },
|
|
11
|
+
sublabel: { type: "string" },
|
|
12
|
+
cost: { type: "number", required: true },
|
|
13
|
+
credits: { type: "number", required: true },
|
|
14
|
+
tokensIn: { type: "number", required: true },
|
|
15
|
+
tokensOut: { type: "number", required: true },
|
|
16
|
+
cached: { type: "number", required: true },
|
|
17
|
+
calls: { type: "number", required: true },
|
|
18
|
+
activeUsers: { type: "number" },
|
|
19
|
+
monthlyCredits: { type: "number" },
|
|
20
|
+
availableMonthlyCredits: { type: "number" },
|
|
21
|
+
},
|
|
22
|
+
relationships: {},
|
|
23
|
+
});
|
|
24
|
+
//# sourceMappingURL=tokenusage-admin-breakdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-breakdown.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-breakdown.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AACrE,uFAAiF;AA0BpE,QAAA,kCAAkC,GAAG,IAAA,4BAAY,GAAkC,CAAC;IAC/F,GAAG,8DAA4B;IAE/B,eAAe,EAAE,KAAK;IAEtB,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC5B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzC,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC/B,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAClC,uBAAuB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC5C;IAED,aAAa,EAAE,EAAE;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-breakdown.meta.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,eAAO,MAAM,4BAA4B,EAAE,QAK1C,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenUsageAdminBreakdownMeta = void 0;
|
|
4
|
+
exports.tokenUsageAdminBreakdownMeta = {
|
|
5
|
+
type: "tokenusage-admin-breakdowns",
|
|
6
|
+
endpoint: "tokenusages/administration/breakdown",
|
|
7
|
+
nodeName: "tokenUsageAdminBreakdown",
|
|
8
|
+
labelName: "TokenUsageAdminBreakdown",
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=tokenusage-admin-breakdown.meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-breakdown.meta.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-breakdown.meta.ts"],"names":[],"mappings":";;;AAEa,QAAA,4BAA4B,GAAa;IACpD,IAAI,EAAE,6BAA6B;IACnC,QAAQ,EAAE,sCAAsC;IAChD,QAAQ,EAAE,0BAA0B;IACpC,SAAS,EAAE,0BAA0B;CACtC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Entity } from "../../../common/abstracts/entity";
|
|
2
|
+
/**
|
|
3
|
+
* One row of the admin summary: a cost centre observed over one time window.
|
|
4
|
+
*
|
|
5
|
+
* Six rows are returned per request — scope ("customer" | "platform" | "total")
|
|
6
|
+
* crossed with window ("current" | "previous") — which is what lets the KPI
|
|
7
|
+
* tiles render both the value and its delta without a second call.
|
|
8
|
+
*
|
|
9
|
+
* NOT a Neo4j node: there is no TokenUsageAdminSummary label and no repository
|
|
10
|
+
* for this descriptor. It is a serialisation shape only, exactly like
|
|
11
|
+
* `ReferralStatsDescriptor`.
|
|
12
|
+
*/
|
|
13
|
+
export type TokenUsageAdminSummaryEntity = Entity & {
|
|
14
|
+
scope: string;
|
|
15
|
+
window: string;
|
|
16
|
+
cost: number;
|
|
17
|
+
credits: number;
|
|
18
|
+
tokensIn: number;
|
|
19
|
+
tokensOut: number;
|
|
20
|
+
cached: number;
|
|
21
|
+
calls: number;
|
|
22
|
+
};
|
|
23
|
+
export declare const TokenUsageAdminSummaryDescriptor: import("../../..").EntityDescriptor<TokenUsageAdminSummaryEntity, {}>;
|
|
24
|
+
//# sourceMappingURL=tokenusage-admin-summary.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-summary.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAI1D;;;;;;;;;;GAUG;AACH,MAAM,MAAM,4BAA4B,GAAG,MAAM,GAAG;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gCAAgC,uEAiB3C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenUsageAdminSummaryDescriptor = void 0;
|
|
4
|
+
const define_entity_1 = require("../../../common/helpers/define-entity");
|
|
5
|
+
const tokenusage_admin_summary_meta_1 = require("./tokenusage-admin-summary.meta");
|
|
6
|
+
exports.TokenUsageAdminSummaryDescriptor = (0, define_entity_1.defineEntity)()({
|
|
7
|
+
...tokenusage_admin_summary_meta_1.tokenUsageAdminSummaryMeta,
|
|
8
|
+
isCompanyScoped: false,
|
|
9
|
+
fields: {
|
|
10
|
+
scope: { type: "string", required: true },
|
|
11
|
+
window: { type: "string", required: true },
|
|
12
|
+
cost: { type: "number", required: true },
|
|
13
|
+
credits: { type: "number", required: true },
|
|
14
|
+
tokensIn: { type: "number", required: true },
|
|
15
|
+
tokensOut: { type: "number", required: true },
|
|
16
|
+
cached: { type: "number", required: true },
|
|
17
|
+
calls: { type: "number", required: true },
|
|
18
|
+
},
|
|
19
|
+
relationships: {},
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=tokenusage-admin-summary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-summary.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-summary.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AACrE,mFAA6E;AAwBhE,QAAA,gCAAgC,GAAG,IAAA,4BAAY,GAAgC,CAAC;IAC3F,GAAG,0DAA0B;IAE7B,eAAe,EAAE,KAAK;IAEtB,MAAM,EAAE;QACN,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACzC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC1C;IAED,aAAa,EAAE,EAAE;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-summary.meta.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-summary.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,eAAO,MAAM,0BAA0B,EAAE,QAKxC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenUsageAdminSummaryMeta = void 0;
|
|
4
|
+
exports.tokenUsageAdminSummaryMeta = {
|
|
5
|
+
type: "tokenusage-admin-summaries",
|
|
6
|
+
endpoint: "tokenusages/administration/summary",
|
|
7
|
+
nodeName: "tokenUsageAdminSummary",
|
|
8
|
+
labelName: "TokenUsageAdminSummary",
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=tokenusage-admin-summary.meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-summary.meta.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-summary.meta.ts"],"names":[],"mappings":";;;AAEa,QAAA,0BAA0B,GAAa;IAClD,IAAI,EAAE,4BAA4B;IAClC,QAAQ,EAAE,oCAAoC;IAC9C,QAAQ,EAAE,wBAAwB;IAClC,SAAS,EAAE,wBAAwB;CACpC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Entity } from "../../../common/abstracts/entity";
|
|
2
|
+
/**
|
|
3
|
+
* One (bucket, series) cell of the usage-over-time chart. Rows are flat; the
|
|
4
|
+
* frontend pivots them into stacked columns.
|
|
5
|
+
*
|
|
6
|
+
* `bucket` is a calendar day/week/month start with no time component, so it is
|
|
7
|
+
* `type: "date"` — never `"string"`. See references/date-handling.md rule 1.
|
|
8
|
+
*
|
|
9
|
+
* NOT a Neo4j node — serialisation shape only (see the summary descriptor).
|
|
10
|
+
*/
|
|
11
|
+
export type TokenUsageAdminTimelineEntity = Entity & {
|
|
12
|
+
bucket: string;
|
|
13
|
+
series: string;
|
|
14
|
+
cost: number;
|
|
15
|
+
credits: number;
|
|
16
|
+
tokensIn: number;
|
|
17
|
+
tokensOut: number;
|
|
18
|
+
cached: number;
|
|
19
|
+
calls: number;
|
|
20
|
+
};
|
|
21
|
+
export declare const TokenUsageAdminTimelineDescriptor: import("../../..").EntityDescriptor<TokenUsageAdminTimelineEntity, {}>;
|
|
22
|
+
//# sourceMappingURL=tokenusage-admin-timeline.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-timeline.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-timeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kCAAkC,CAAC;AAI1D;;;;;;;;GAQG;AACH,MAAM,MAAM,6BAA6B,GAAG,MAAM,GAAG;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,iCAAiC,wEAiB5C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenUsageAdminTimelineDescriptor = void 0;
|
|
4
|
+
const define_entity_1 = require("../../../common/helpers/define-entity");
|
|
5
|
+
const tokenusage_admin_timeline_meta_1 = require("./tokenusage-admin-timeline.meta");
|
|
6
|
+
exports.TokenUsageAdminTimelineDescriptor = (0, define_entity_1.defineEntity)()({
|
|
7
|
+
...tokenusage_admin_timeline_meta_1.tokenUsageAdminTimelineMeta,
|
|
8
|
+
isCompanyScoped: false,
|
|
9
|
+
fields: {
|
|
10
|
+
bucket: { type: "date", required: true },
|
|
11
|
+
series: { type: "string", required: true },
|
|
12
|
+
cost: { type: "number", required: true },
|
|
13
|
+
credits: { type: "number", required: true },
|
|
14
|
+
tokensIn: { type: "number", required: true },
|
|
15
|
+
tokensOut: { type: "number", required: true },
|
|
16
|
+
cached: { type: "number", required: true },
|
|
17
|
+
calls: { type: "number", required: true },
|
|
18
|
+
},
|
|
19
|
+
relationships: {},
|
|
20
|
+
});
|
|
21
|
+
//# sourceMappingURL=tokenusage-admin-timeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-timeline.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-timeline.ts"],"names":[],"mappings":";;;AACA,yEAAqE;AACrE,qFAA+E;AAsBlE,QAAA,iCAAiC,GAAG,IAAA,4BAAY,GAAiC,CAAC;IAC7F,GAAG,4DAA2B;IAE9B,eAAe,EAAE,KAAK;IAEtB,MAAM,EAAE;QACN,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QACxC,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC3C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC5C,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;QAC1C,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC1C;IAED,aAAa,EAAE,EAAE;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-timeline.meta.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gDAAgD,CAAC;AAE1E,eAAO,MAAM,2BAA2B,EAAE,QAKzC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.tokenUsageAdminTimelineMeta = void 0;
|
|
4
|
+
exports.tokenUsageAdminTimelineMeta = {
|
|
5
|
+
type: "tokenusage-admin-timelines",
|
|
6
|
+
endpoint: "tokenusages/administration/timeline",
|
|
7
|
+
nodeName: "tokenUsageAdminTimeline",
|
|
8
|
+
labelName: "TokenUsageAdminTimeline",
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=tokenusage-admin-timeline.meta.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage-admin-timeline.meta.js","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/entities/tokenusage-admin-timeline.meta.ts"],"names":[],"mappings":";;;AAEa,QAAA,2BAA2B,GAAa;IACnD,IAAI,EAAE,4BAA4B;IAClC,QAAQ,EAAE,qCAAqC;IAC/C,QAAQ,EAAE,yBAAyB;IACnC,SAAS,EAAE,yBAAyB;CACrC,CAAC"}
|
|
@@ -5,4 +5,13 @@ export { TOKEN_USAGE_RECORDED_EVENT, TokenUsageRecordedPayload } from "./events/
|
|
|
5
5
|
export { TokenUsageAggregated, TokenUsageRepository, TokenUsageSummary } from "./repositories/tokenusage.repository";
|
|
6
6
|
export { TokenUsageService } from "./services/tokenusage.service";
|
|
7
7
|
export { TokenUsageModule } from "./tokenusage.module";
|
|
8
|
+
export { TokenUsageAdminBreakdownDescriptor, TokenUsageAdminBreakdownEntity, } from "./entities/tokenusage-admin-breakdown";
|
|
9
|
+
export { tokenUsageAdminBreakdownMeta } from "./entities/tokenusage-admin-breakdown.meta";
|
|
10
|
+
export { TokenUsageAdminSummaryDescriptor, TokenUsageAdminSummaryEntity } from "./entities/tokenusage-admin-summary";
|
|
11
|
+
export { tokenUsageAdminSummaryMeta } from "./entities/tokenusage-admin-summary.meta";
|
|
12
|
+
export { TokenUsageAdminTimelineDescriptor, TokenUsageAdminTimelineEntity } from "./entities/tokenusage-admin-timeline";
|
|
13
|
+
export { tokenUsageAdminTimelineMeta } from "./entities/tokenusage-admin-timeline.meta";
|
|
14
|
+
export { TokenUsageAdminRepository } from "./repositories/tokenusage.admin.repository";
|
|
15
|
+
export { TokenUsageAdminService } from "./services/tokenusage.admin.service";
|
|
16
|
+
export { TokenUsageAdminController } from "./controllers/tokenusage.admin.controller";
|
|
8
17
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/tokenusage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/foundations/tokenusage/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACnG,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACrH,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,kCAAkC,EAClC,8BAA8B,GAC/B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,4BAA4B,EAAE,MAAM,4CAA4C,CAAC;AAC1F,OAAO,EAAE,gCAAgC,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACrH,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAC;AACtF,OAAO,EAAE,iCAAiC,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACxH,OAAO,EAAE,2BAA2B,EAAE,MAAM,2CAA2C,CAAC;AACxF,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TokenUsageModule = exports.TokenUsageService = exports.TokenUsageRepository = exports.TOKEN_USAGE_RECORDED_EVENT = exports.TokenUsageType = exports.tokenUsageMeta = exports.TokenUsageDescriptor = void 0;
|
|
3
|
+
exports.TokenUsageAdminController = exports.TokenUsageAdminService = exports.TokenUsageAdminRepository = exports.tokenUsageAdminTimelineMeta = exports.TokenUsageAdminTimelineDescriptor = exports.tokenUsageAdminSummaryMeta = exports.TokenUsageAdminSummaryDescriptor = exports.tokenUsageAdminBreakdownMeta = exports.TokenUsageAdminBreakdownDescriptor = exports.TokenUsageModule = exports.TokenUsageService = exports.TokenUsageRepository = exports.TOKEN_USAGE_RECORDED_EVENT = exports.TokenUsageType = exports.tokenUsageMeta = exports.TokenUsageDescriptor = void 0;
|
|
4
4
|
var tokenusage_1 = require("./entities/tokenusage");
|
|
5
5
|
Object.defineProperty(exports, "TokenUsageDescriptor", { enumerable: true, get: function () { return tokenusage_1.TokenUsageDescriptor; } });
|
|
6
6
|
var tokenusage_meta_1 = require("./entities/tokenusage.meta");
|
|
@@ -15,4 +15,22 @@ var tokenusage_service_1 = require("./services/tokenusage.service");
|
|
|
15
15
|
Object.defineProperty(exports, "TokenUsageService", { enumerable: true, get: function () { return tokenusage_service_1.TokenUsageService; } });
|
|
16
16
|
var tokenusage_module_1 = require("./tokenusage.module");
|
|
17
17
|
Object.defineProperty(exports, "TokenUsageModule", { enumerable: true, get: function () { return tokenusage_module_1.TokenUsageModule; } });
|
|
18
|
+
var tokenusage_admin_breakdown_1 = require("./entities/tokenusage-admin-breakdown");
|
|
19
|
+
Object.defineProperty(exports, "TokenUsageAdminBreakdownDescriptor", { enumerable: true, get: function () { return tokenusage_admin_breakdown_1.TokenUsageAdminBreakdownDescriptor; } });
|
|
20
|
+
var tokenusage_admin_breakdown_meta_1 = require("./entities/tokenusage-admin-breakdown.meta");
|
|
21
|
+
Object.defineProperty(exports, "tokenUsageAdminBreakdownMeta", { enumerable: true, get: function () { return tokenusage_admin_breakdown_meta_1.tokenUsageAdminBreakdownMeta; } });
|
|
22
|
+
var tokenusage_admin_summary_1 = require("./entities/tokenusage-admin-summary");
|
|
23
|
+
Object.defineProperty(exports, "TokenUsageAdminSummaryDescriptor", { enumerable: true, get: function () { return tokenusage_admin_summary_1.TokenUsageAdminSummaryDescriptor; } });
|
|
24
|
+
var tokenusage_admin_summary_meta_1 = require("./entities/tokenusage-admin-summary.meta");
|
|
25
|
+
Object.defineProperty(exports, "tokenUsageAdminSummaryMeta", { enumerable: true, get: function () { return tokenusage_admin_summary_meta_1.tokenUsageAdminSummaryMeta; } });
|
|
26
|
+
var tokenusage_admin_timeline_1 = require("./entities/tokenusage-admin-timeline");
|
|
27
|
+
Object.defineProperty(exports, "TokenUsageAdminTimelineDescriptor", { enumerable: true, get: function () { return tokenusage_admin_timeline_1.TokenUsageAdminTimelineDescriptor; } });
|
|
28
|
+
var tokenusage_admin_timeline_meta_1 = require("./entities/tokenusage-admin-timeline.meta");
|
|
29
|
+
Object.defineProperty(exports, "tokenUsageAdminTimelineMeta", { enumerable: true, get: function () { return tokenusage_admin_timeline_meta_1.tokenUsageAdminTimelineMeta; } });
|
|
30
|
+
var tokenusage_admin_repository_1 = require("./repositories/tokenusage.admin.repository");
|
|
31
|
+
Object.defineProperty(exports, "TokenUsageAdminRepository", { enumerable: true, get: function () { return tokenusage_admin_repository_1.TokenUsageAdminRepository; } });
|
|
32
|
+
var tokenusage_admin_service_1 = require("./services/tokenusage.admin.service");
|
|
33
|
+
Object.defineProperty(exports, "TokenUsageAdminService", { enumerable: true, get: function () { return tokenusage_admin_service_1.TokenUsageAdminService; } });
|
|
34
|
+
var tokenusage_admin_controller_1 = require("./controllers/tokenusage.admin.controller");
|
|
35
|
+
Object.defineProperty(exports, "TokenUsageAdminController", { enumerable: true, get: function () { return tokenusage_admin_controller_1.TokenUsageAdminController; } });
|
|
18
36
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/tokenusage/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyE;AAApD,kHAAA,oBAAoB,OAAA;AACzC,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,2DAAyD;AAAhD,iHAAA,cAAc,OAAA;AACvB,gEAAmG;AAA1F,+HAAA,0BAA0B,OAAA;AACnC,8EAAqH;AAAtF,6HAAA,oBAAoB,OAAA;AACnD,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/foundations/tokenusage/index.ts"],"names":[],"mappings":";;;AAAA,oDAAyE;AAApD,kHAAA,oBAAoB,OAAA;AACzC,8DAA4D;AAAnD,iHAAA,cAAc,OAAA;AACvB,2DAAyD;AAAhD,iHAAA,cAAc,OAAA;AACvB,gEAAmG;AAA1F,+HAAA,0BAA0B,OAAA;AACnC,8EAAqH;AAAtF,6HAAA,oBAAoB,OAAA;AACnD,oEAAkE;AAAzD,uHAAA,iBAAiB,OAAA;AAC1B,yDAAuD;AAA9C,qHAAA,gBAAgB,OAAA;AACzB,oFAG+C;AAF7C,gJAAA,kCAAkC,OAAA;AAGpC,8FAA0F;AAAjF,+IAAA,4BAA4B,OAAA;AACrC,gFAAqH;AAA5G,4IAAA,gCAAgC,OAAA;AACzC,0FAAsF;AAA7E,2IAAA,0BAA0B,OAAA;AACnC,kFAAwH;AAA/G,8IAAA,iCAAiC,OAAA;AAC1C,4FAAwF;AAA/E,6IAAA,2BAA2B,OAAA;AACpC,0FAAuF;AAA9E,wIAAA,yBAAyB,OAAA;AAClC,gFAA6E;AAApE,kIAAA,sBAAsB,OAAA;AAC/B,yFAAsF;AAA7E,wIAAA,yBAAyB,OAAA"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { ClsService } from "nestjs-cls";
|
|
2
|
+
import { AbstractRepository } from "../../../core/neo4j/abstracts/abstract.repository";
|
|
3
|
+
import { Neo4jService } from "../../../core/neo4j/services/neo4j.service";
|
|
4
|
+
import { SecurityService } from "../../../core/security/services/security.service";
|
|
5
|
+
import { TokenUsageAdminBreakdownEntity } from "../entities/tokenusage-admin-breakdown";
|
|
6
|
+
import { TokenUsageAdminSummaryEntity } from "../entities/tokenusage-admin-summary";
|
|
7
|
+
import { TokenUsageAdminTimelineEntity } from "../entities/tokenusage-admin-timeline";
|
|
8
|
+
import { TokenUsage, TokenUsageDescriptor } from "../entities/tokenusage";
|
|
9
|
+
/**
|
|
10
|
+
* Cross-tenant reporting queries behind /tokenusages/administration/*.
|
|
11
|
+
*
|
|
12
|
+
* Extends AbstractRepository for the shared Neo4j/security/CLS plumbing and the
|
|
13
|
+
* descriptor typing; none of the inherited finders are used, for the reasons in
|
|
14
|
+
* the file header, and it deliberately does NOT override onModuleInit — the
|
|
15
|
+
* :TokenUsage indexes belong to TokenUsageRepository.
|
|
16
|
+
*
|
|
17
|
+
* EVERY traversal constrains its target label — `->(:Company)`, `->(:User)`.
|
|
18
|
+
* The write bug fixed in tokenusage.repository.ts left 12,237 label-less nodes
|
|
19
|
+
* on exactly these two relationships; an unconstrained match returns them.
|
|
20
|
+
*/
|
|
21
|
+
export declare class TokenUsageAdminRepository extends AbstractRepository<TokenUsage, typeof TokenUsageDescriptor.relationships> {
|
|
22
|
+
protected readonly descriptor: import("../../..").EntityDescriptor<TokenUsage, {}>;
|
|
23
|
+
constructor(neo4j: Neo4jService, securityService: SecurityService, clsService: ClsService);
|
|
24
|
+
/**
|
|
25
|
+
* Six rows: {customer, platform, total} × {current, previous}. The previous
|
|
26
|
+
* window is the equal-length span immediately preceding `from`, which is what
|
|
27
|
+
* the KPI tiles' deltas are computed against.
|
|
28
|
+
*/
|
|
29
|
+
findSummary(params: {
|
|
30
|
+
from: string;
|
|
31
|
+
to: string;
|
|
32
|
+
companyId?: string;
|
|
33
|
+
}): Promise<TokenUsageAdminSummaryEntity[]>;
|
|
34
|
+
findTimeline(params: {
|
|
35
|
+
from: string;
|
|
36
|
+
to: string;
|
|
37
|
+
granularity: "day" | "week" | "month";
|
|
38
|
+
stackBy: "scope" | "type" | "company";
|
|
39
|
+
companyId?: string;
|
|
40
|
+
}): Promise<TokenUsageAdminTimelineEntity[]>;
|
|
41
|
+
/**
|
|
42
|
+
* Ranked rows, descending by cost, truncated to `limit` with the exact
|
|
43
|
+
* remainder folded into a single "other" row. The full ordered set is fetched
|
|
44
|
+
* and sliced in JS so the remainder is exact rather than a second query's
|
|
45
|
+
* approximation. Above ~1000 companies, move the LIMIT into Cypher and take
|
|
46
|
+
* the remainder from findSummary() instead.
|
|
47
|
+
*/
|
|
48
|
+
findBreakdown(params: {
|
|
49
|
+
from: string;
|
|
50
|
+
to: string;
|
|
51
|
+
dimension: "company" | "user" | "operation";
|
|
52
|
+
scope: "customer" | "platform";
|
|
53
|
+
companyId?: string;
|
|
54
|
+
limit: number;
|
|
55
|
+
}): Promise<TokenUsageAdminBreakdownEntity[]>;
|
|
56
|
+
/** Scalar rollup split by cost centre for one window. */
|
|
57
|
+
private _scopeTotals;
|
|
58
|
+
/**
|
|
59
|
+
* Guarantees both cost centres are present (zero-filled when a window has no
|
|
60
|
+
* rows) and appends their sum as the "total" scope, so the tiles never have to
|
|
61
|
+
* branch on a missing row.
|
|
62
|
+
*/
|
|
63
|
+
private _withTotal;
|
|
64
|
+
/** The equal-length span immediately preceding `from`. */
|
|
65
|
+
private _previousWindow;
|
|
66
|
+
/**
|
|
67
|
+
* Resolves a granularity to the `date.truncate` unit it may emit. Throws
|
|
68
|
+
* rather than interpolating anything the table does not know about.
|
|
69
|
+
*/
|
|
70
|
+
private _truncationUnit;
|
|
71
|
+
private _metrics;
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=tokenusage.admin.repository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenusage.admin.repository.d.ts","sourceRoot":"","sources":["../../../../src/foundations/tokenusage/repositories/tokenusage.admin.repository.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mDAAmD,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,4CAA4C,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kDAAkD,CAAC;AACnF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAEL,6BAA6B,EAC9B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAuC1E;;;;;;;;;;;GAWG;AACH,qBACa,yBAA0B,SAAQ,kBAAkB,CAC/D,UAAU,EACV,OAAO,oBAAoB,CAAC,aAAa,CAC1C;IACC,SAAS,CAAC,QAAQ,CAAC,UAAU,sDAAwB;gBAEzC,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU;IAIzF;;;;OAIG;IACG,WAAW,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAW9G,YAAY,CAAC,MAAM,EAAE;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,WAAW,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;QACtC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;QACtC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,6BAA6B,EAAE,CAAC;IA+D5C;;;;;;OAMG;IACG,aAAa,CAAC,MAAM,EAAE;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;QAC5C,KAAK,EAAE,UAAU,GAAG,UAAU,CAAC;QAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,8BAA8B,EAAE,CAAC;IAqH7C,yDAAyD;YAC3C,YAAY;IAkC1B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA8BlB,0DAA0D;IAC1D,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,QAAQ;CAUjB"}
|