@taico/taico 0.2.14 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/app.module.js +2 -0
  2. package/dist/app.module.js.map +1 -1
  3. package/dist/executions/active/active-task-execution.controller.d.ts +5 -2
  4. package/dist/executions/active/active-task-execution.controller.js +54 -6
  5. package/dist/executions/active/active-task-execution.controller.js.map +1 -1
  6. package/dist/executions/active/active-task-execution.entity.d.ts +2 -0
  7. package/dist/executions/active/active-task-execution.entity.js +10 -0
  8. package/dist/executions/active/active-task-execution.entity.js.map +1 -1
  9. package/dist/executions/active/active-task-execution.service.d.ts +20 -1
  10. package/dist/executions/active/active-task-execution.service.js +62 -5
  11. package/dist/executions/active/active-task-execution.service.js.map +1 -1
  12. package/dist/executions/active/dto/http/active-task-execution-list-response.dto.d.ts +8 -0
  13. package/dist/executions/active/dto/http/active-task-execution-list-response.dto.js +62 -0
  14. package/dist/executions/active/dto/http/active-task-execution-list-response.dto.js.map +1 -0
  15. package/dist/executions/active/dto/http/active-task-execution-response.dto.d.ts +2 -0
  16. package/dist/executions/active/dto/http/active-task-execution-response.dto.js +11 -0
  17. package/dist/executions/active/dto/http/active-task-execution-response.dto.js.map +1 -1
  18. package/dist/executions/active/dto/http/list-active-executions-query.dto.d.ts +5 -0
  19. package/dist/executions/active/dto/http/list-active-executions-query.dto.js +55 -0
  20. package/dist/executions/active/dto/http/list-active-executions-query.dto.js.map +1 -0
  21. package/dist/executions/active/dto/http/update-execution-stats.dto.d.ts +8 -0
  22. package/dist/executions/active/dto/http/update-execution-stats.dto.js +108 -0
  23. package/dist/executions/active/dto/http/update-execution-stats.dto.js.map +1 -0
  24. package/dist/executions/dto/http/execution-stats-response.dto.d.ts +10 -0
  25. package/dist/executions/dto/http/execution-stats-response.dto.js +87 -0
  26. package/dist/executions/dto/http/execution-stats-response.dto.js.map +1 -0
  27. package/dist/executions/errors/executions.errors.d.ts +3 -0
  28. package/dist/executions/errors/executions.errors.js +7 -1
  29. package/dist/executions/errors/executions.errors.js.map +1 -1
  30. package/dist/executions/executions.module.js +2 -0
  31. package/dist/executions/executions.module.js.map +1 -1
  32. package/dist/executions/history/dto/http/list-history-query.dto.d.ts +5 -0
  33. package/dist/executions/history/dto/http/list-history-query.dto.js +55 -0
  34. package/dist/executions/history/dto/http/list-history-query.dto.js.map +1 -0
  35. package/dist/executions/history/dto/http/task-execution-history-list-response.dto.d.ts +8 -0
  36. package/dist/executions/history/dto/http/task-execution-history-list-response.dto.js +62 -0
  37. package/dist/executions/history/dto/http/task-execution-history-list-response.dto.js.map +1 -0
  38. package/dist/executions/history/dto/http/task-execution-history-response.dto.d.ts +2 -0
  39. package/dist/executions/history/dto/http/task-execution-history-response.dto.js +11 -0
  40. package/dist/executions/history/dto/http/task-execution-history-response.dto.js.map +1 -1
  41. package/dist/executions/history/task-execution-history.controller.d.ts +3 -2
  42. package/dist/executions/history/task-execution-history.controller.js +22 -6
  43. package/dist/executions/history/task-execution-history.controller.js.map +1 -1
  44. package/dist/executions/history/task-execution-history.entity.d.ts +2 -0
  45. package/dist/executions/history/task-execution-history.entity.js +10 -0
  46. package/dist/executions/history/task-execution-history.entity.js.map +1 -1
  47. package/dist/executions/history/task-execution-history.service.d.ts +12 -1
  48. package/dist/executions/history/task-execution-history.service.js +36 -4
  49. package/dist/executions/history/task-execution-history.service.js.map +1 -1
  50. package/dist/executions/history/task-execution-history.service.spec.d.ts +1 -0
  51. package/dist/executions/history/task-execution-history.service.spec.js +132 -0
  52. package/dist/executions/history/task-execution-history.service.spec.js.map +1 -0
  53. package/dist/executions/queue/dto/http/list-queue-query.dto.d.ts +4 -0
  54. package/dist/executions/queue/dto/http/list-queue-query.dto.js +45 -0
  55. package/dist/executions/queue/dto/http/list-queue-query.dto.js.map +1 -0
  56. package/dist/executions/queue/dto/http/task-execution-queue-list-response.dto.d.ts +8 -0
  57. package/dist/executions/queue/dto/http/task-execution-queue-list-response.dto.js +62 -0
  58. package/dist/executions/queue/dto/http/task-execution-queue-list-response.dto.js.map +1 -0
  59. package/dist/executions/queue/task-execution-queue.controller.d.ts +3 -2
  60. package/dist/executions/queue/task-execution-queue.controller.js +18 -6
  61. package/dist/executions/queue/task-execution-queue.controller.js.map +1 -1
  62. package/dist/executions/queue/task-execution-queue.service.d.ts +9 -1
  63. package/dist/executions/queue/task-execution-queue.service.js +8 -2
  64. package/dist/executions/queue/task-execution-queue.service.js.map +1 -1
  65. package/dist/executions/readiness/task-execution-queue-populator.service.d.ts +4 -1
  66. package/dist/executions/readiness/task-execution-queue-populator.service.js +42 -2
  67. package/dist/executions/readiness/task-execution-queue-populator.service.js.map +1 -1
  68. package/dist/executions/readiness/task-execution-queue-populator.service.spec.js +196 -0
  69. package/dist/executions/readiness/task-execution-queue-populator.service.spec.js.map +1 -1
  70. package/dist/executions/stats/execution-stats.entity.d.ts +12 -0
  71. package/dist/executions/stats/execution-stats.entity.js +70 -0
  72. package/dist/executions/stats/execution-stats.entity.js.map +1 -0
  73. package/dist/migrations/1742600000000-AddExecutionStatsTable.d.ts +5 -0
  74. package/dist/migrations/1742600000000-AddExecutionStatsTable.js +36 -0
  75. package/dist/migrations/1742600000000-AddExecutionStatsTable.js.map +1 -0
  76. package/dist/public/assets/index-BDd_IOss.css +1 -0
  77. package/dist/public/assets/index-BwirgFmY.js +73 -0
  78. package/dist/public/index.html +2 -2
  79. package/dist/threads/backends/chat-backend.utils.js +16 -3
  80. package/dist/threads/backends/chat-backend.utils.js.map +1 -1
  81. package/dist/tsconfig.tsbuildinfo +1 -1
  82. package/package.json +6 -5
  83. package/dist/public/assets/index-BFiHpO7T.js +0 -73
  84. package/dist/public/assets/index-N2Ursvu5.css +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-active-executions-query.dto.js","sourceRoot":"","sources":["../../../../../src/executions/active/dto/http/list-active-executions-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AACjE,6CAAsD;AACtD,yDAA8C;AAE9C,MAAa,4BAA4B;IAUvC,IAAI,GAAY,CAAC,CAAC;IAWlB,KAAK,GAAY,EAAE,CAAC;IAQpB,MAAM,CAAU;CACjB;AA9BD,oEA8BC;AApBC;IATC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;0DACW;AAWlB;IATC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;2DACa;AAQpB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;4DACO"}
@@ -0,0 +1,8 @@
1
+ export declare class UpdateExecutionStatsDto {
2
+ harness?: string | null;
3
+ providerId?: string | null;
4
+ modelId?: string | null;
5
+ inputTokens?: number | null;
6
+ outputTokens?: number | null;
7
+ totalTokens?: number | null;
8
+ }
@@ -0,0 +1,108 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateExecutionStatsDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_validator_1 = require("class-validator");
15
+ class UpdateExecutionStatsDto {
16
+ harness;
17
+ providerId;
18
+ modelId;
19
+ inputTokens;
20
+ outputTokens;
21
+ totalTokens;
22
+ }
23
+ exports.UpdateExecutionStatsDto = UpdateExecutionStatsDto;
24
+ __decorate([
25
+ (0, swagger_1.ApiProperty)({
26
+ type: String,
27
+ required: false,
28
+ nullable: true,
29
+ description: 'Harness used by the worker to run this execution',
30
+ example: 'opencode',
31
+ maxLength: 50,
32
+ }),
33
+ (0, class_validator_1.IsOptional)(),
34
+ (0, class_validator_1.IsString)(),
35
+ (0, class_validator_1.MaxLength)(50),
36
+ __metadata("design:type", Object)
37
+ ], UpdateExecutionStatsDto.prototype, "harness", void 0);
38
+ __decorate([
39
+ (0, swagger_1.ApiProperty)({
40
+ type: String,
41
+ required: false,
42
+ nullable: true,
43
+ description: 'Model provider id used by the harness',
44
+ example: 'openai',
45
+ maxLength: 100,
46
+ }),
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsString)(),
49
+ (0, class_validator_1.MaxLength)(100),
50
+ __metadata("design:type", Object)
51
+ ], UpdateExecutionStatsDto.prototype, "providerId", void 0);
52
+ __decorate([
53
+ (0, swagger_1.ApiProperty)({
54
+ type: String,
55
+ required: false,
56
+ nullable: true,
57
+ description: 'Model id used by the harness',
58
+ example: 'gpt-5.4',
59
+ maxLength: 255,
60
+ }),
61
+ (0, class_validator_1.IsOptional)(),
62
+ (0, class_validator_1.IsString)(),
63
+ (0, class_validator_1.MaxLength)(255),
64
+ __metadata("design:type", Object)
65
+ ], UpdateExecutionStatsDto.prototype, "modelId", void 0);
66
+ __decorate([
67
+ (0, swagger_1.ApiProperty)({
68
+ type: Number,
69
+ required: false,
70
+ nullable: true,
71
+ description: 'Input token usage when available',
72
+ example: 1200,
73
+ minimum: 0,
74
+ }),
75
+ (0, class_validator_1.IsOptional)(),
76
+ (0, class_validator_1.IsInt)(),
77
+ (0, class_validator_1.Min)(0),
78
+ __metadata("design:type", Object)
79
+ ], UpdateExecutionStatsDto.prototype, "inputTokens", void 0);
80
+ __decorate([
81
+ (0, swagger_1.ApiProperty)({
82
+ type: Number,
83
+ required: false,
84
+ nullable: true,
85
+ description: 'Output token usage when available',
86
+ example: 380,
87
+ minimum: 0,
88
+ }),
89
+ (0, class_validator_1.IsOptional)(),
90
+ (0, class_validator_1.IsInt)(),
91
+ (0, class_validator_1.Min)(0),
92
+ __metadata("design:type", Object)
93
+ ], UpdateExecutionStatsDto.prototype, "outputTokens", void 0);
94
+ __decorate([
95
+ (0, swagger_1.ApiProperty)({
96
+ type: Number,
97
+ required: false,
98
+ nullable: true,
99
+ description: 'Total token usage when available',
100
+ example: 1580,
101
+ minimum: 0,
102
+ }),
103
+ (0, class_validator_1.IsOptional)(),
104
+ (0, class_validator_1.IsInt)(),
105
+ (0, class_validator_1.Min)(0),
106
+ __metadata("design:type", Object)
107
+ ], UpdateExecutionStatsDto.prototype, "totalTokens", void 0);
108
+ //# sourceMappingURL=update-execution-stats.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-execution-stats.dto.js","sourceRoot":"","sources":["../../../../../src/executions/active/dto/http/update-execution-stats.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,qDAMyB;AAEzB,MAAa,uBAAuB;IAYlC,OAAO,CAAiB;IAaxB,UAAU,CAAiB;IAa3B,OAAO,CAAiB;IAaxB,WAAW,CAAiB;IAa5B,YAAY,CAAiB;IAa7B,WAAW,CAAiB;CAC7B;AA9ED,0DA8EC;AAlEC;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,kDAAkD;QAC/D,OAAO,EAAE,UAAU;QACnB,SAAS,EAAE,EAAE;KACd,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,EAAE,CAAC;;wDACU;AAaxB;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;2DACY;AAa3B;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,8BAA8B;QAC3C,OAAO,EAAE,SAAS;QAClB,SAAS,EAAE,GAAG;KACf,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,0BAAQ,GAAE;IACV,IAAA,2BAAS,EAAC,GAAG,CAAC;;wDACS;AAaxB;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;4DACqB;AAa5B;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,GAAG;QACZ,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;6DACsB;AAa7B;IAXC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;4DACqB"}
@@ -0,0 +1,10 @@
1
+ import { ExecutionStatsEntity } from '../../stats/execution-stats.entity';
2
+ export declare class ExecutionStatsResponseDto {
3
+ harness: string | null;
4
+ providerId: string | null;
5
+ modelId: string | null;
6
+ inputTokens: number | null;
7
+ outputTokens: number | null;
8
+ totalTokens: number | null;
9
+ static fromEntity(entity: ExecutionStatsEntity): ExecutionStatsResponseDto;
10
+ }
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ExecutionStatsResponseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ class ExecutionStatsResponseDto {
15
+ harness;
16
+ providerId;
17
+ modelId;
18
+ inputTokens;
19
+ outputTokens;
20
+ totalTokens;
21
+ static fromEntity(entity) {
22
+ return {
23
+ harness: entity.harness,
24
+ providerId: entity.providerId,
25
+ modelId: entity.modelId,
26
+ inputTokens: entity.inputTokens,
27
+ outputTokens: entity.outputTokens,
28
+ totalTokens: entity.totalTokens,
29
+ };
30
+ }
31
+ }
32
+ exports.ExecutionStatsResponseDto = ExecutionStatsResponseDto;
33
+ __decorate([
34
+ (0, swagger_1.ApiProperty)({
35
+ type: String,
36
+ description: 'Harness used to execute the run',
37
+ example: 'opencode',
38
+ nullable: true,
39
+ }),
40
+ __metadata("design:type", Object)
41
+ ], ExecutionStatsResponseDto.prototype, "harness", void 0);
42
+ __decorate([
43
+ (0, swagger_1.ApiProperty)({
44
+ type: String,
45
+ description: 'LLM provider id resolved for this run',
46
+ example: 'openai',
47
+ nullable: true,
48
+ }),
49
+ __metadata("design:type", Object)
50
+ ], ExecutionStatsResponseDto.prototype, "providerId", void 0);
51
+ __decorate([
52
+ (0, swagger_1.ApiProperty)({
53
+ type: String,
54
+ description: 'LLM model id resolved for this run',
55
+ example: 'gpt-5.4',
56
+ nullable: true,
57
+ }),
58
+ __metadata("design:type", Object)
59
+ ], ExecutionStatsResponseDto.prototype, "modelId", void 0);
60
+ __decorate([
61
+ (0, swagger_1.ApiProperty)({
62
+ type: Number,
63
+ description: 'Input token usage when available',
64
+ example: 1200,
65
+ nullable: true,
66
+ }),
67
+ __metadata("design:type", Object)
68
+ ], ExecutionStatsResponseDto.prototype, "inputTokens", void 0);
69
+ __decorate([
70
+ (0, swagger_1.ApiProperty)({
71
+ type: Number,
72
+ description: 'Output token usage when available',
73
+ example: 380,
74
+ nullable: true,
75
+ }),
76
+ __metadata("design:type", Object)
77
+ ], ExecutionStatsResponseDto.prototype, "outputTokens", void 0);
78
+ __decorate([
79
+ (0, swagger_1.ApiProperty)({
80
+ type: Number,
81
+ description: 'Total token usage when available',
82
+ example: 1580,
83
+ nullable: true,
84
+ }),
85
+ __metadata("design:type", Object)
86
+ ], ExecutionStatsResponseDto.prototype, "totalTokens", void 0);
87
+ //# sourceMappingURL=execution-stats-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-stats-response.dto.js","sourceRoot":"","sources":["../../../../src/executions/dto/http/execution-stats-response.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAG9C,MAAa,yBAAyB;IAOpC,OAAO,CAAiB;IAQxB,UAAU,CAAiB;IAQ3B,OAAO,CAAiB;IAQxB,WAAW,CAAiB;IAQ5B,YAAY,CAAiB;IAQ7B,WAAW,CAAiB;IAE5B,MAAM,CAAC,UAAU,CAAC,MAA4B;QAC5C,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,WAAW,EAAE,MAAM,CAAC,WAAW;YAC/B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,WAAW,EAAE,MAAM,CAAC,WAAW;SAChC,CAAC;IACJ,CAAC;CACF;AA3DD,8DA2DC;AApDC;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,UAAU;QACnB,QAAQ,EAAE,IAAI;KACf,CAAC;;0DACsB;AAQxB;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,uCAAuC;QACpD,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,IAAI;KACf,CAAC;;6DACyB;AAQ3B;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,oCAAoC;QACjD,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,IAAI;KACf,CAAC;;0DACsB;AAQxB;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;;8DAC0B;AAQ5B;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,IAAI;KACf,CAAC;;+DAC2B;AAQ7B;IANC,IAAA,qBAAW,EAAC;QACX,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,kCAAkC;QAC/C,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC;;8DAC0B"}
@@ -11,3 +11,6 @@ export declare class TaskAlreadyClaimedError extends ExecutionsError {
11
11
  export declare class ActiveTaskExecutionNotFoundError extends ExecutionsError {
12
12
  constructor(executionId: string);
13
13
  }
14
+ export declare class ExecutionStatsNotFoundError extends ExecutionsError {
15
+ constructor(executionId: string);
16
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ActiveTaskExecutionNotFoundError = exports.TaskAlreadyClaimedError = exports.TaskExecutionQueueEntryNotFoundError = exports.ExecutionsError = void 0;
3
+ exports.ExecutionStatsNotFoundError = exports.ActiveTaskExecutionNotFoundError = exports.TaskAlreadyClaimedError = exports.TaskExecutionQueueEntryNotFoundError = exports.ExecutionsError = void 0;
4
4
  class ExecutionsError extends Error {
5
5
  context;
6
6
  constructor(message, context) {
@@ -28,4 +28,10 @@ class ActiveTaskExecutionNotFoundError extends ExecutionsError {
28
28
  }
29
29
  }
30
30
  exports.ActiveTaskExecutionNotFoundError = ActiveTaskExecutionNotFoundError;
31
+ class ExecutionStatsNotFoundError extends ExecutionsError {
32
+ constructor(executionId) {
33
+ super('Execution stats were not found.', { executionId });
34
+ }
35
+ }
36
+ exports.ExecutionStatsNotFoundError = ExecutionStatsNotFoundError;
31
37
  //# sourceMappingURL=executions.errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"executions.errors.js","sourceRoot":"","sources":["../../../src/executions/errors/executions.errors.ts"],"names":[],"mappings":";;;AAAA,MAAsB,eAAgB,SAAQ,KAAK;IACX;IAAtC,YAAY,OAAe,EAAW,OAAiC;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,YAAO,GAAP,OAAO,CAA0B;QAErE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,oCAAqC,SAAQ,eAAe;IACvE,YAAY,MAAc;QACxB,KAAK,CAAC,6CAA6C,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAJD,oFAIC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IACnE,YAAY,WAAmB;QAC7B,KAAK,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,4EAIC"}
1
+ {"version":3,"file":"executions.errors.js","sourceRoot":"","sources":["../../../src/executions/errors/executions.errors.ts"],"names":[],"mappings":";;;AAAA,MAAsB,eAAgB,SAAQ,KAAK;IACX;IAAtC,YAAY,OAAe,EAAW,OAAiC;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QADqB,YAAO,GAAP,OAAO,CAA0B;QAErE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AALD,0CAKC;AAED,MAAa,oCAAqC,SAAQ,eAAe;IACvE,YAAY,MAAc;QACxB,KAAK,CAAC,6CAA6C,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACnE,CAAC;CACF;AAJD,oFAIC;AAED,MAAa,uBAAwB,SAAQ,eAAe;IAC1D,YAAY,MAAc;QACxB,KAAK,CAAC,uCAAuC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;CACF;AAJD,0DAIC;AAED,MAAa,gCAAiC,SAAQ,eAAe;IACnE,YAAY,WAAmB;QAC7B,KAAK,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,4EAIC;AAED,MAAa,2BAA4B,SAAQ,eAAe;IAC9D,YAAY,WAAmB;QAC7B,KAAK,CAAC,iCAAiC,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC;IAC5D,CAAC;CACF;AAJD,kEAIC"}
@@ -35,6 +35,7 @@ const stale_active_task_execution_detector_service_1 = require("./staleness/stal
35
35
  const stale_active_task_execution_pruner_service_1 = require("./staleness/stale-active-task-execution-pruner.service");
36
36
  const stale_active_task_execution_scheduler_service_1 = require("./staleness/stale-active-task-execution-scheduler.service");
37
37
  const workers_module_1 = require("../workers/workers.module");
38
+ const execution_stats_entity_1 = require("./stats/execution-stats.entity");
38
39
  let ExecutionsModule = class ExecutionsModule {
39
40
  };
40
41
  exports.ExecutionsModule = ExecutionsModule;
@@ -46,6 +47,7 @@ exports.ExecutionsModule = ExecutionsModule = __decorate([
46
47
  task_execution_queue_entity_1.TaskExecutionQueueEntity,
47
48
  active_task_execution_entity_1.ActiveTaskExecutionEntity,
48
49
  task_execution_history_entity_1.TaskExecutionHistoryEntity,
50
+ execution_stats_entity_1.ExecutionStatsEntity,
49
51
  agent_run_entity_1.AgentRunEntity,
50
52
  ]),
51
53
  agents_module_1.AgentsModule,
@@ -1 +1 @@
1
- {"version":3,"file":"executions.module.js","sourceRoot":"","sources":["../../src/executions/executions.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,2DAAuD;AACvD,sDAAkD;AAClD,wFAAkF;AAClF,gGAA0F;AAC1F,0FAAoF;AACpF,kHAA2G;AAC3G,mGAA6F;AAC7F,2FAAqF;AACrF,6FAAuF;AACvF,6GAAsG;AACtG,qFAA+E;AAC/E,6FAAuF;AACvF,uFAAiF;AACjF,+FAA0F;AAC1F,uGAAiG;AACjG,+GAAwG;AACxG,0EAAqE;AACrE,8DAA0D;AAC1D,qEAAgE;AAChE,6EAAwE;AACxE,yFAAmF;AACnF,2EAAsE;AACtE,2HAAmH;AACnH,uHAA+G;AAC/G,6HAAqH;AACrH,8DAA0D;AAuCnD,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IArC5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,wBAAU;gBACV,sDAAwB;gBACxB,wDAAyB;gBACzB,0DAA0B;gBAC1B,iCAAc;aACf,CAAC;YACF,4BAAY;YACZ,8BAAa;YACb,qCAAgB;YAChB,8BAAa;SACd;QACD,WAAW,EAAE;YACX,8DAA4B;YAC5B,gEAA6B;YAC7B,kEAA8B;SAC/B;QACD,SAAS,EAAE;YACT,wDAAyB;YACzB,0DAA0B;YAC1B,iFAAqC;YACrC,4DAA2B;YAC3B,qDAAwB;YACxB,gEAA6B;YAC7B,mDAAuB;YACvB,6DAA4B;YAC5B,2EAAkC;YAClC,yEAAiC;YACjC,oEAA+B;YAC/B,sFAAuC;YACvC,kFAAqC;YACrC,wFAAwC;SACzC;QACD,OAAO,EAAE,CAAC,iFAAqC,CAAC;KACjD,CAAC;GACW,gBAAgB,CAAG"}
1
+ {"version":3,"file":"executions.module.js","sourceRoot":"","sources":["../../src/executions/executions.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,6CAAgD;AAChD,2DAAuD;AACvD,sDAAkD;AAClD,wFAAkF;AAClF,gGAA0F;AAC1F,0FAAoF;AACpF,kHAA2G;AAC3G,mGAA6F;AAC7F,2FAAqF;AACrF,6FAAuF;AACvF,6GAAsG;AACtG,qFAA+E;AAC/E,6FAAuF;AACvF,uFAAiF;AACjF,+FAA0F;AAC1F,uGAAiG;AACjG,+GAAwG;AACxG,0EAAqE;AACrE,8DAA0D;AAC1D,qEAAgE;AAChE,6EAAwE;AACxE,yFAAmF;AACnF,2EAAsE;AACtE,2HAAmH;AACnH,uHAA+G;AAC/G,6HAAqH;AACrH,8DAA0D;AAC1D,2EAAsE;AAwC/D,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;CAAG,CAAA;AAAnB,4CAAgB;2BAAhB,gBAAgB;IAtC5B,IAAA,eAAM,EAAC;QACN,OAAO,EAAE;YACP,uBAAa,CAAC,UAAU,CAAC;gBACvB,wBAAU;gBACV,sDAAwB;gBACxB,wDAAyB;gBACzB,0DAA0B;gBAC1B,6CAAoB;gBACpB,iCAAc;aACf,CAAC;YACF,4BAAY;YACZ,8BAAa;YACb,qCAAgB;YAChB,8BAAa;SACd;QACD,WAAW,EAAE;YACX,8DAA4B;YAC5B,gEAA6B;YAC7B,kEAA8B;SAC/B;QACD,SAAS,EAAE;YACT,wDAAyB;YACzB,0DAA0B;YAC1B,iFAAqC;YACrC,4DAA2B;YAC3B,qDAAwB;YACxB,gEAA6B;YAC7B,mDAAuB;YACvB,6DAA4B;YAC5B,2EAAkC;YAClC,yEAAiC;YACjC,oEAA+B;YAC/B,sFAAuC;YACvC,kFAAqC;YACrC,wFAAwC;SACzC;QACD,OAAO,EAAE,CAAC,iFAAqC,CAAC;KACjD,CAAC;GACW,gBAAgB,CAAG"}
@@ -0,0 +1,5 @@
1
+ export declare class ListHistoryQueryDto {
2
+ page?: number;
3
+ limit?: number;
4
+ taskId?: string;
5
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ListHistoryQueryDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const swagger_1 = require("@nestjs/swagger");
15
+ const class_transformer_1 = require("class-transformer");
16
+ class ListHistoryQueryDto {
17
+ page = 1;
18
+ limit = 50;
19
+ taskId;
20
+ }
21
+ exports.ListHistoryQueryDto = ListHistoryQueryDto;
22
+ __decorate([
23
+ (0, swagger_1.ApiPropertyOptional)({
24
+ description: 'Page number (1-indexed)',
25
+ example: 1,
26
+ default: 1,
27
+ }),
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_transformer_1.Transform)(({ value }) => Number(value)),
30
+ (0, class_validator_1.IsInt)(),
31
+ (0, class_validator_1.Min)(1),
32
+ __metadata("design:type", Number)
33
+ ], ListHistoryQueryDto.prototype, "page", void 0);
34
+ __decorate([
35
+ (0, swagger_1.ApiPropertyOptional)({
36
+ description: 'Items per page (1-100)',
37
+ example: 50,
38
+ default: 50,
39
+ }),
40
+ (0, class_validator_1.IsOptional)(),
41
+ (0, class_transformer_1.Transform)(({ value }) => Number(value)),
42
+ (0, class_validator_1.IsInt)(),
43
+ (0, class_validator_1.Min)(1),
44
+ __metadata("design:type", Number)
45
+ ], ListHistoryQueryDto.prototype, "limit", void 0);
46
+ __decorate([
47
+ (0, swagger_1.ApiPropertyOptional)({
48
+ description: 'Filter by task ID',
49
+ example: '123e4567-e89b-12d3-a456-426614174000',
50
+ }),
51
+ (0, class_validator_1.IsOptional)(),
52
+ (0, class_validator_1.IsUUID)(),
53
+ __metadata("design:type", String)
54
+ ], ListHistoryQueryDto.prototype, "taskId", void 0);
55
+ //# sourceMappingURL=list-history-query.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list-history-query.dto.js","sourceRoot":"","sources":["../../../../../src/executions/history/dto/http/list-history-query.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qDAAiE;AACjE,6CAAsD;AACtD,yDAA8C;AAE9C,MAAa,mBAAmB;IAU9B,IAAI,GAAY,CAAC,CAAC;IAWlB,KAAK,GAAY,EAAE,CAAC;IAQpB,MAAM,CAAU;CACjB;AA9BD,kDA8BC;AApBC;IATC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,CAAC;KACX,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;iDACW;AAWlB;IATC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,6BAAS,EAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACvC,IAAA,uBAAK,GAAE;IACP,IAAA,qBAAG,EAAC,CAAC,CAAC;;kDACa;AAQpB;IANC,IAAA,6BAAmB,EAAC;QACnB,WAAW,EAAE,mBAAmB;QAChC,OAAO,EAAE,sCAAsC;KAChD,CAAC;IACD,IAAA,4BAAU,GAAE;IACZ,IAAA,wBAAM,GAAE;;mDACO"}
@@ -0,0 +1,8 @@
1
+ import { TaskExecutionHistoryResponseDto } from './task-execution-history-response.dto';
2
+ export declare class TaskExecutionHistoryListResponseDto {
3
+ items: TaskExecutionHistoryResponseDto[];
4
+ total: number;
5
+ page: number;
6
+ limit: number;
7
+ totalPages: number;
8
+ }
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.TaskExecutionHistoryListResponseDto = void 0;
13
+ const swagger_1 = require("@nestjs/swagger");
14
+ const class_transformer_1 = require("class-transformer");
15
+ const class_validator_1 = require("class-validator");
16
+ const task_execution_history_response_dto_1 = require("./task-execution-history-response.dto");
17
+ class TaskExecutionHistoryListResponseDto {
18
+ items;
19
+ total;
20
+ page;
21
+ limit;
22
+ totalPages;
23
+ }
24
+ exports.TaskExecutionHistoryListResponseDto = TaskExecutionHistoryListResponseDto;
25
+ __decorate([
26
+ (0, swagger_1.ApiProperty)({
27
+ description: 'List of task execution history entries',
28
+ type: () => [task_execution_history_response_dto_1.TaskExecutionHistoryResponseDto],
29
+ }),
30
+ (0, class_validator_1.ValidateNested)({ each: true }),
31
+ (0, class_transformer_1.Type)(() => task_execution_history_response_dto_1.TaskExecutionHistoryResponseDto),
32
+ __metadata("design:type", Array)
33
+ ], TaskExecutionHistoryListResponseDto.prototype, "items", void 0);
34
+ __decorate([
35
+ (0, swagger_1.ApiProperty)({
36
+ description: 'Total number of history entries',
37
+ example: 42,
38
+ }),
39
+ __metadata("design:type", Number)
40
+ ], TaskExecutionHistoryListResponseDto.prototype, "total", void 0);
41
+ __decorate([
42
+ (0, swagger_1.ApiProperty)({
43
+ description: 'Current page number',
44
+ example: 1,
45
+ }),
46
+ __metadata("design:type", Number)
47
+ ], TaskExecutionHistoryListResponseDto.prototype, "page", void 0);
48
+ __decorate([
49
+ (0, swagger_1.ApiProperty)({
50
+ description: 'Number of items per page',
51
+ example: 50,
52
+ }),
53
+ __metadata("design:type", Number)
54
+ ], TaskExecutionHistoryListResponseDto.prototype, "limit", void 0);
55
+ __decorate([
56
+ (0, swagger_1.ApiProperty)({
57
+ description: 'Total number of pages',
58
+ example: 3,
59
+ }),
60
+ __metadata("design:type", Number)
61
+ ], TaskExecutionHistoryListResponseDto.prototype, "totalPages", void 0);
62
+ //# sourceMappingURL=task-execution-history-list-response.dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-execution-history-list-response.dto.js","sourceRoot":"","sources":["../../../../../src/executions/history/dto/http/task-execution-history-list-response.dto.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA8C;AAC9C,yDAAyC;AACzC,qDAAiD;AACjD,+FAAwF;AAExF,MAAa,mCAAmC;IAO9C,KAAK,CAAqC;IAM1C,KAAK,CAAU;IAMf,IAAI,CAAU;IAMd,KAAK,CAAU;IAMf,UAAU,CAAU;CACrB;AAhCD,kFAgCC;AAzBC;IANC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,qEAA+B,CAAC;KAC9C,CAAC;IACD,IAAA,gCAAc,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC9B,IAAA,wBAAI,EAAC,GAAG,EAAE,CAAC,qEAA+B,CAAC;;kEACF;AAM1C;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,iCAAiC;QAC9C,OAAO,EAAE,EAAE;KACZ,CAAC;;kEACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,qBAAqB;QAClC,OAAO,EAAE,CAAC;KACX,CAAC;;iEACY;AAMd;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,EAAE;KACZ,CAAC;;kEACa;AAMf;IAJC,IAAA,qBAAW,EAAC;QACX,WAAW,EAAE,uBAAuB;QACpC,OAAO,EAAE,CAAC;KACX,CAAC;;uEACkB"}
@@ -2,6 +2,7 @@ import { TaskStatus } from '../../../../tasks/enums';
2
2
  import { TaskExecutionHistoryEntity } from '../../task-execution-history.entity';
3
3
  import { TaskExecutionHistoryErrorCode } from '../../task-execution-history-error-code.enum';
4
4
  import { TaskExecutionHistoryStatus } from '../../task-execution-history-status.enum';
5
+ import { ExecutionStatsResponseDto } from '../../../dto/http/execution-stats-response.dto';
5
6
  export declare class TaskExecutionHistoryResponseDto {
6
7
  id: string;
7
8
  taskId: string;
@@ -16,5 +17,6 @@ export declare class TaskExecutionHistoryResponseDto {
16
17
  status: TaskExecutionHistoryStatus;
17
18
  errorCode: TaskExecutionHistoryErrorCode | null;
18
19
  errorMessage: string | null;
20
+ stats: ExecutionStatsResponseDto | null;
19
21
  static fromEntity(entity: TaskExecutionHistoryEntity): TaskExecutionHistoryResponseDto;
20
22
  }
@@ -14,6 +14,7 @@ const swagger_1 = require("@nestjs/swagger");
14
14
  const enums_1 = require("../../../../tasks/enums");
15
15
  const task_execution_history_error_code_enum_1 = require("../../task-execution-history-error-code.enum");
16
16
  const task_execution_history_status_enum_1 = require("../../task-execution-history-status.enum");
17
+ const execution_stats_response_dto_1 = require("../../../dto/http/execution-stats-response.dto");
17
18
  class TaskExecutionHistoryResponseDto {
18
19
  id;
19
20
  taskId;
@@ -28,6 +29,7 @@ class TaskExecutionHistoryResponseDto {
28
29
  status;
29
30
  errorCode;
30
31
  errorMessage;
32
+ stats;
31
33
  static fromEntity(entity) {
32
34
  return {
33
35
  id: entity.id,
@@ -43,6 +45,7 @@ class TaskExecutionHistoryResponseDto {
43
45
  status: entity.status,
44
46
  errorCode: entity.errorCode,
45
47
  errorMessage: entity.errorMessage,
48
+ stats: entity.stats ? execution_stats_response_dto_1.ExecutionStatsResponseDto.fromEntity(entity.stats) : null,
46
49
  };
47
50
  }
48
51
  }
@@ -146,4 +149,12 @@ __decorate([
146
149
  }),
147
150
  __metadata("design:type", Object)
148
151
  ], TaskExecutionHistoryResponseDto.prototype, "errorMessage", void 0);
152
+ __decorate([
153
+ (0, swagger_1.ApiProperty)({
154
+ description: 'Execution metadata and usage stats',
155
+ type: execution_stats_response_dto_1.ExecutionStatsResponseDto,
156
+ nullable: true,
157
+ }),
158
+ __metadata("design:type", Object)
159
+ ], TaskExecutionHistoryResponseDto.prototype, "stats", void 0);
149
160
  //# sourceMappingURL=task-execution-history-response.dto.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"task-execution-history-response.dto.js","sourceRoot":"","sources":["../../../../../src/executions/history/dto/http/task-execution-history-response.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-execution-history-response.dto.js","sourceRoot":"","sources":["../../../../../src/executions/history/dto/http/task-execution-history-response.dto.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { TaskExecutionHistoryService } from './task-execution-history.service';
2
- import { TaskExecutionHistoryResponseDto } from './dto/http/task-execution-history-response.dto';
2
+ import { TaskExecutionHistoryListResponseDto } from './dto/http/task-execution-history-list-response.dto';
3
+ import { ListHistoryQueryDto } from './dto/http/list-history-query.dto';
3
4
  export declare class TaskExecutionHistoryController {
4
5
  private readonly taskExecutionHistoryService;
5
6
  constructor(taskExecutionHistoryService: TaskExecutionHistoryService);
6
- listHistory(): Promise<TaskExecutionHistoryResponseDto[]>;
7
+ listHistory(query: ListHistoryQueryDto): Promise<TaskExecutionHistoryListResponseDto>;
7
8
  }
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.TaskExecutionHistoryController = void 0;
13
16
  const common_1 = require("@nestjs/common");
@@ -18,14 +21,26 @@ const require_scopes_decorator_1 = require("../../auth/guards/decorators/require
18
21
  const tasks_scopes_1 = require("../../tasks/tasks.scopes");
19
22
  const task_execution_history_service_1 = require("./task-execution-history.service");
20
23
  const task_execution_history_response_dto_1 = require("./dto/http/task-execution-history-response.dto");
24
+ const task_execution_history_list_response_dto_1 = require("./dto/http/task-execution-history-list-response.dto");
25
+ const list_history_query_dto_1 = require("./dto/http/list-history-query.dto");
21
26
  let TaskExecutionHistoryController = class TaskExecutionHistoryController {
22
27
  taskExecutionHistoryService;
23
28
  constructor(taskExecutionHistoryService) {
24
29
  this.taskExecutionHistoryService = taskExecutionHistoryService;
25
30
  }
26
- async listHistory() {
27
- const history = await this.taskExecutionHistoryService.listHistory();
28
- return history.map((entry) => task_execution_history_response_dto_1.TaskExecutionHistoryResponseDto.fromEntity(entry));
31
+ async listHistory(query) {
32
+ const result = await this.taskExecutionHistoryService.listHistory({
33
+ page: query.page ?? 1,
34
+ limit: query.limit ?? 50,
35
+ taskId: query.taskId,
36
+ });
37
+ return {
38
+ items: result.items.map((item) => task_execution_history_response_dto_1.TaskExecutionHistoryResponseDto.fromEntity(item)),
39
+ total: result.total,
40
+ page: result.page,
41
+ limit: result.limit,
42
+ totalPages: Math.ceil(result.total / result.limit),
43
+ };
29
44
  }
30
45
  };
31
46
  exports.TaskExecutionHistoryController = TaskExecutionHistoryController;
@@ -33,11 +48,12 @@ __decorate([
33
48
  (0, common_1.Get)(),
34
49
  (0, swagger_1.ApiOperation)({
35
50
  summary: 'List task execution history',
36
- description: 'Returns the persisted execution history rows in the execution system.',
51
+ description: 'Returns the persisted execution history rows in the execution system with pagination.',
37
52
  }),
38
- (0, swagger_1.ApiOkResponse)({ type: [task_execution_history_response_dto_1.TaskExecutionHistoryResponseDto] }),
53
+ (0, swagger_1.ApiOkResponse)({ type: task_execution_history_list_response_dto_1.TaskExecutionHistoryListResponseDto }),
54
+ __param(0, (0, common_1.Query)()),
39
55
  __metadata("design:type", Function),
40
- __metadata("design:paramtypes", []),
56
+ __metadata("design:paramtypes", [list_history_query_dto_1.ListHistoryQueryDto]),
41
57
  __metadata("design:returntype", Promise)
42
58
  ], TaskExecutionHistoryController.prototype, "listHistory", null);
43
59
  exports.TaskExecutionHistoryController = TaskExecutionHistoryController = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"task-execution-history.controller.js","sourceRoot":"","sources":["../../../src/executions/history/task-execution-history.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4D;AAC5D,6CAKyB;AACzB,oFAA+E;AAC/E,wEAAoE;AACpE,oGAAsF;AACtF,2DAAuD;AACvD,qFAA+E;AAC/E,wGAAiG;AAO1F,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAEtB;IADnB,YACmB,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;IACxE,CAAC;IASE,AAAN,KAAK,CAAC,WAAW;QACf,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,EAAE,CAAC;QACrE,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,qEAA+B,CAAC,UAAU,CAAC,KAAK,CAAC,CAClD,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,wEAA8B;AAYnC;IAPL,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,6BAA6B;QACtC,WAAW,EACT,uEAAuE;KAC1E,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,CAAC,qEAA+B,CAAC,EAAE,CAAC;;;;iEAM1D;yCAjBU,8BAA8B;IAL1C,IAAA,iBAAO,EAAC,YAAY,CAAC;IACrB,IAAA,uBAAa,EAAC,YAAY,CAAC;IAC3B,IAAA,mBAAU,EAAC,oBAAoB,CAAC;IAChC,IAAA,kBAAS,EAAC,qCAAgB,EAAE,0BAAW,CAAC;IACxC,IAAA,wCAAa,EAAC,0BAAW,CAAC,IAAI,CAAC,EAAE,CAAC;qCAGe,4DAA2B;GAFhE,8BAA8B,CAkB1C"}
1
+ {"version":3,"file":"task-execution-history.controller.js","sourceRoot":"","sources":["../../../src/executions/history/task-execution-history.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAmE;AACnE,6CAKyB;AACzB,oFAA+E;AAC/E,wEAAoE;AACpE,oGAAsF;AACtF,2DAAuD;AACvD,qFAA+E;AAC/E,wGAAiG;AACjG,kHAA0G;AAC1G,8EAAwE;AAOjE,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IAEtB;IADnB,YACmB,2BAAwD;QAAxD,gCAA2B,GAA3B,2BAA2B,CAA6B;IACxE,CAAC;IASE,AAAN,KAAK,CAAC,WAAW,CACN,KAA0B;QAEnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,WAAW,CAAC;YAChE,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC;YACrB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;SACrB,CAAC,CAAC;QAEH,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAC/B,qEAA+B,CAAC,UAAU,CAAC,IAAI,CAAC,CACjD;YACD,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;SACnD,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,wEAA8B;AAYnC;IAPL,IAAA,YAAG,GAAE;IACL,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,6BAA6B;QACtC,WAAW,EACT,uFAAuF;KAC1F,CAAC;IACD,IAAA,uBAAa,EAAC,EAAE,IAAI,EAAE,8EAAmC,EAAE,CAAC;IAE1D,WAAA,IAAA,cAAK,GAAE,CAAA;;qCAAQ,4CAAmB;;iEAiBpC;yCA9BU,8BAA8B;IAL1C,IAAA,iBAAO,EAAC,YAAY,CAAC;IACrB,IAAA,uBAAa,EAAC,YAAY,CAAC;IAC3B,IAAA,mBAAU,EAAC,oBAAoB,CAAC;IAChC,IAAA,kBAAS,EAAC,qCAAgB,EAAE,0BAAW,CAAC;IACxC,IAAA,wCAAa,EAAC,0BAAW,CAAC,IAAI,CAAC,EAAE,CAAC;qCAGe,4DAA2B;GAFhE,8BAA8B,CA+B1C"}
@@ -2,6 +2,7 @@ import { AgentEntity } from '../../agents/agent.entity';
2
2
  import { TaskEntity } from '../../tasks/task.entity';
3
3
  import { TaskExecutionHistoryErrorCode } from './task-execution-history-error-code.enum';
4
4
  import { TaskExecutionHistoryStatus } from './task-execution-history-status.enum';
5
+ import { ExecutionStatsEntity } from '../stats/execution-stats.entity';
5
6
  export declare class TaskExecutionHistoryEntity {
6
7
  id: string;
7
8
  taskId: string;
@@ -13,6 +14,7 @@ export declare class TaskExecutionHistoryEntity {
13
14
  workerClientId: string;
14
15
  runnerSessionId: string | null;
15
16
  toolCallCount: number;
17
+ stats: ExecutionStatsEntity | null;
16
18
  status: TaskExecutionHistoryStatus;
17
19
  errorCode: TaskExecutionHistoryErrorCode | null;
18
20
  errorMessage: string | null;
@@ -15,6 +15,7 @@ const agent_entity_1 = require("../../agents/agent.entity");
15
15
  const task_entity_1 = require("../../tasks/task.entity");
16
16
  const task_execution_history_error_code_enum_1 = require("./task-execution-history-error-code.enum");
17
17
  const task_execution_history_status_enum_1 = require("./task-execution-history-status.enum");
18
+ const execution_stats_entity_1 = require("../stats/execution-stats.entity");
18
19
  let TaskExecutionHistoryEntity = class TaskExecutionHistoryEntity {
19
20
  id;
20
21
  taskId;
@@ -26,6 +27,7 @@ let TaskExecutionHistoryEntity = class TaskExecutionHistoryEntity {
26
27
  workerClientId;
27
28
  runnerSessionId;
28
29
  toolCallCount;
30
+ stats;
29
31
  status;
30
32
  errorCode;
31
33
  errorMessage;
@@ -77,6 +79,14 @@ __decorate([
77
79
  (0, typeorm_1.Column)({ type: 'integer', name: 'tool_call_count', default: 0 }),
78
80
  __metadata("design:type", Number)
79
81
  ], TaskExecutionHistoryEntity.prototype, "toolCallCount", void 0);
82
+ __decorate([
83
+ (0, typeorm_1.OneToOne)(() => execution_stats_entity_1.ExecutionStatsEntity, {
84
+ nullable: true,
85
+ createForeignKeyConstraints: false,
86
+ }),
87
+ (0, typeorm_1.JoinColumn)({ name: 'id', referencedColumnName: 'executionId' }),
88
+ __metadata("design:type", Object)
89
+ ], TaskExecutionHistoryEntity.prototype, "stats", void 0);
80
90
  __decorate([
81
91
  (0, typeorm_1.Column)({
82
92
  type: 'text',