@taico/taico 0.0.5 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/dist/app-init/app-init.runner.js +7 -0
  2. package/dist/app-init/app-init.runner.js.map +1 -1
  3. package/dist/app-init/mcp/elen.mcp.d.ts +2 -0
  4. package/dist/app-init/mcp/elen.mcp.js +12 -0
  5. package/dist/app-init/mcp/elen.mcp.js.map +1 -0
  6. package/dist/app.module.js +7 -1
  7. package/dist/app.module.js.map +1 -1
  8. package/dist/authorization-server/dto/authorization-request.dto.d.ts +1 -1
  9. package/dist/authorization-server/dto/authorization-request.dto.js +2 -2
  10. package/dist/authorization-server/dto/authorization-request.dto.js.map +1 -1
  11. package/dist/authorization-server/dto/authorization-request.dto.spec.d.ts +1 -0
  12. package/dist/authorization-server/dto/authorization-request.dto.spec.js +30 -0
  13. package/dist/authorization-server/dto/authorization-request.dto.spec.js.map +1 -0
  14. package/dist/authorization-server/dto/onboarding-request.dto.d.ts +6 -0
  15. package/dist/authorization-server/dto/onboarding-request.dto.js +57 -0
  16. package/dist/authorization-server/dto/onboarding-request.dto.js.map +1 -0
  17. package/dist/authorization-server/dto/onboarding-status-response.dto.d.ts +3 -0
  18. package/dist/authorization-server/dto/onboarding-status-response.dto.js +25 -0
  19. package/dist/authorization-server/dto/onboarding-status-response.dto.js.map +1 -0
  20. package/dist/authorization-server/dto/user-response.dto.d.ts +1 -0
  21. package/dist/authorization-server/dto/user-response.dto.js +8 -0
  22. package/dist/authorization-server/dto/user-response.dto.js.map +1 -1
  23. package/dist/authorization-server/issued-access-token.service.d.ts +13 -0
  24. package/dist/authorization-server/issued-access-token.service.js +53 -27
  25. package/dist/authorization-server/issued-access-token.service.js.map +1 -1
  26. package/dist/authorization-server/web-auth.controller.d.ts +7 -0
  27. package/dist/authorization-server/web-auth.controller.js +129 -0
  28. package/dist/authorization-server/web-auth.controller.js.map +1 -1
  29. package/dist/context/context.gateway.d.ts +15 -3
  30. package/dist/context/context.gateway.js +45 -9
  31. package/dist/context/context.gateway.js.map +1 -1
  32. package/dist/context/context.mcp.gateway.js +36 -0
  33. package/dist/context/context.mcp.gateway.js.map +1 -1
  34. package/dist/context/context.service.js +2 -0
  35. package/dist/context/context.service.js.map +1 -1
  36. package/dist/errors/http/error-catalog.js +42 -0
  37. package/dist/errors/http/error-catalog.js.map +1 -1
  38. package/dist/identity-provider/errors/identity-provider.errors.d.ts +38 -0
  39. package/dist/identity-provider/errors/identity-provider.errors.js +70 -0
  40. package/dist/identity-provider/errors/identity-provider.errors.js.map +1 -0
  41. package/dist/identity-provider/identity-provider.service.d.ts +3 -0
  42. package/dist/identity-provider/identity-provider.service.js +71 -4
  43. package/dist/identity-provider/identity-provider.service.js.map +1 -1
  44. package/dist/identity-provider/user.entity.d.ts +1 -0
  45. package/dist/identity-provider/user.entity.js +5 -0
  46. package/dist/identity-provider/user.entity.js.map +1 -1
  47. package/dist/mcp-registry/entities/mcp-server.entity.js +1 -1
  48. package/dist/mcp-registry/entities/mcp-server.entity.js.map +1 -1
  49. package/dist/mcp-registry/mcp-registry.service.js +14 -11
  50. package/dist/mcp-registry/mcp-registry.service.js.map +1 -1
  51. package/dist/meta/dto/create-project.dto.js +3 -2
  52. package/dist/meta/dto/create-project.dto.js.map +1 -1
  53. package/dist/meta/dto/patch-project.dto.js +3 -2
  54. package/dist/meta/dto/patch-project.dto.js.map +1 -1
  55. package/dist/meta/meta.module.js +2 -1
  56. package/dist/meta/meta.module.js.map +1 -1
  57. package/dist/meta/meta.service.d.ts +5 -1
  58. package/dist/meta/meta.service.js +63 -6
  59. package/dist/meta/meta.service.js.map +1 -1
  60. package/dist/meta/tag-usage.entity.d.ts +10 -0
  61. package/dist/meta/tag-usage.entity.js +58 -0
  62. package/dist/meta/tag-usage.entity.js.map +1 -0
  63. package/dist/meta/validators/is-git-url.validator.d.ts +6 -0
  64. package/dist/meta/validators/is-git-url.validator.js +47 -0
  65. package/dist/meta/validators/is-git-url.validator.js.map +1 -0
  66. package/dist/meta/validators/is-git-url.validator.spec.d.ts +1 -0
  67. package/dist/meta/validators/is-git-url.validator.spec.js +73 -0
  68. package/dist/meta/validators/is-git-url.validator.spec.js.map +1 -0
  69. package/dist/migrations/1741100000000-AddTagUsageTable.d.ts +6 -0
  70. package/dist/migrations/1741100000000-AddTagUsageTable.js +67 -0
  71. package/dist/migrations/1741100000000-AddTagUsageTable.js.map +1 -0
  72. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.d.ts +5 -0
  73. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.js +69 -0
  74. package/dist/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.js.map +1 -0
  75. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.d.ts +6 -0
  76. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.js +43 -0
  77. package/dist/migrations/1741300000000-AddHasSeenWalkthroughToUsers.js.map +1 -0
  78. package/dist/public/assets/index-DlrnfsdV.js +14 -0
  79. package/dist/public/assets/index-KcLmbe3v.css +1 -0
  80. package/dist/public/beta/assets/{index-B-4bxmRw.js → index-BeS9PvAQ.js} +10 -10
  81. package/dist/public/beta/index.html +1 -1
  82. package/dist/public/index.html +2 -2
  83. package/dist/tasks/tasks.controller.d.ts +1 -1
  84. package/dist/tasks/tasks.controller.js +23 -11
  85. package/dist/tasks/tasks.controller.js.map +1 -1
  86. package/dist/tasks/tasks.mcp.gateway.js +38 -0
  87. package/dist/tasks/tasks.mcp.gateway.js.map +1 -1
  88. package/dist/tasks/tasks.service.js +2 -0
  89. package/dist/tasks/tasks.service.js.map +1 -1
  90. package/dist/threads/chat.service.d.ts +1 -0
  91. package/dist/threads/chat.service.js +107 -47
  92. package/dist/threads/chat.service.js.map +1 -1
  93. package/dist/threads/events/threads.events.d.ts +9 -0
  94. package/dist/threads/events/threads.events.js +8 -1
  95. package/dist/threads/events/threads.events.js.map +1 -1
  96. package/dist/threads/openai-mcp-server-factory.service.d.ts +5 -2
  97. package/dist/threads/openai-mcp-server-factory.service.js.map +1 -1
  98. package/dist/threads/thread-state-reconciler.service.js +1 -17
  99. package/dist/threads/thread-state-reconciler.service.js.map +1 -1
  100. package/dist/threads/threads.gateway.d.ts +3 -1
  101. package/dist/threads/threads.gateway.js +52 -0
  102. package/dist/threads/threads.gateway.js.map +1 -1
  103. package/dist/threads/threads.service.d.ts +10 -0
  104. package/dist/threads/threads.service.js +59 -1
  105. package/dist/threads/threads.service.js.map +1 -1
  106. package/dist/tsconfig.tsbuildinfo +1 -1
  107. package/package.json +3 -3
  108. package/dist/public/assets/index-BpWAKFIY.css +0 -1
  109. package/dist/public/assets/index-gfAmuo9i.js +0 -11
@@ -17,7 +17,9 @@ exports.MetaService = exports.TAG_COLOR_PALETTE = void 0;
17
17
  const common_1 = require("@nestjs/common");
18
18
  const typeorm_1 = require("@nestjs/typeorm");
19
19
  const typeorm_2 = require("typeorm");
20
+ const crypto_1 = require("crypto");
20
21
  const tag_entity_1 = require("./tag.entity");
22
+ const tag_usage_entity_1 = require("./tag-usage.entity");
21
23
  const project_entity_1 = require("./project.entity");
22
24
  exports.TAG_COLOR_PALETTE = [
23
25
  '#FF6B6B',
@@ -43,10 +45,12 @@ exports.TAG_COLOR_PALETTE = [
43
45
  ];
44
46
  let MetaService = MetaService_1 = class MetaService {
45
47
  tagRepository;
48
+ tagUsageRepository;
46
49
  projectRepository;
47
50
  logger = new common_1.Logger(MetaService_1.name);
48
- constructor(tagRepository, projectRepository) {
51
+ constructor(tagRepository, tagUsageRepository, projectRepository) {
49
52
  this.tagRepository = tagRepository;
53
+ this.tagUsageRepository = tagUsageRepository;
50
54
  this.projectRepository = projectRepository;
51
55
  }
52
56
  getRandomTagColor() {
@@ -126,14 +130,35 @@ let MetaService = MetaService_1 = class MetaService {
126
130
  }
127
131
  async getAllTags() {
128
132
  this.logger.log({ message: 'Getting all tags' });
129
- const tags = await this.tagRepository.find({
130
- order: { name: 'ASC' },
133
+ const [tags, usageRows] = await Promise.all([
134
+ this.tagRepository.find(),
135
+ this.tagUsageRepository.find(),
136
+ ]);
137
+ const usageByTagId = new Map(usageRows.map((usage) => [usage.tagId, usage]));
138
+ const sortedTags = tags.sort((a, b) => {
139
+ const aUsage = usageByTagId.get(a.id);
140
+ const bUsage = usageByTagId.get(b.id);
141
+ const aLastUsed = aUsage?.lastUsedAt
142
+ ? new Date(aUsage.lastUsedAt).getTime()
143
+ : 0;
144
+ const bLastUsed = bUsage?.lastUsedAt
145
+ ? new Date(bUsage.lastUsedAt).getTime()
146
+ : 0;
147
+ if (aLastUsed !== bLastUsed) {
148
+ return bLastUsed - aLastUsed;
149
+ }
150
+ const aUsageCount = aUsage?.usageCount ?? 0;
151
+ const bUsageCount = bUsage?.usageCount ?? 0;
152
+ if (aUsageCount !== bUsageCount) {
153
+ return bUsageCount - aUsageCount;
154
+ }
155
+ return a.name.localeCompare(b.name);
131
156
  });
132
157
  this.logger.log({
133
158
  message: 'Tags retrieved',
134
- count: tags.length,
159
+ count: sortedTags.length,
135
160
  });
136
- return tags.map((tag) => this.mapTagToResult(tag));
161
+ return sortedTags.map((tag) => this.mapTagToResult(tag));
137
162
  }
138
163
  async getTagById(tagId) {
139
164
  const tag = await this.tagRepository.findOne({ where: { id: tagId } });
@@ -299,6 +324,36 @@ let MetaService = MetaService_1 = class MetaService {
299
324
  });
300
325
  }
301
326
  }
327
+ async incrementTagUsage(tagId) {
328
+ this.logger.log({
329
+ message: 'Incrementing tag usage',
330
+ tagId,
331
+ });
332
+ const now = new Date().toISOString();
333
+ await this.tagUsageRepository.query(`
334
+ INSERT INTO tag_usage (id, tag_id, usage_count, last_used_at, created_at, updated_at)
335
+ VALUES (?, ?, 1, ?, ?, ?)
336
+ ON CONFLICT(tag_id) DO UPDATE SET
337
+ usage_count = usage_count + 1,
338
+ last_used_at = excluded.last_used_at,
339
+ updated_at = excluded.updated_at
340
+ `, [(0, crypto_1.randomUUID)(), tagId, now, now, now]);
341
+ this.logger.log({
342
+ message: 'Tag usage updated',
343
+ tagId,
344
+ });
345
+ }
346
+ async incrementTagsUsage(tagIds) {
347
+ if (tagIds.length === 0)
348
+ return;
349
+ this.logger.log({
350
+ message: 'Batch incrementing tag usage',
351
+ tagCount: tagIds.length,
352
+ });
353
+ for (const tagId of tagIds) {
354
+ await this.incrementTagUsage(tagId);
355
+ }
356
+ }
302
357
  mapTagToResult(tag) {
303
358
  return {
304
359
  id: tag.id,
@@ -313,8 +368,10 @@ exports.MetaService = MetaService;
313
368
  exports.MetaService = MetaService = MetaService_1 = __decorate([
314
369
  (0, common_1.Injectable)(),
315
370
  __param(0, (0, typeorm_1.InjectRepository)(tag_entity_1.TagEntity)),
316
- __param(1, (0, typeorm_1.InjectRepository)(project_entity_1.ProjectEntity)),
371
+ __param(1, (0, typeorm_1.InjectRepository)(tag_usage_entity_1.TagUsageEntity)),
372
+ __param(2, (0, typeorm_1.InjectRepository)(project_entity_1.ProjectEntity)),
317
373
  __metadata("design:paramtypes", [typeorm_2.Repository,
374
+ typeorm_2.Repository,
318
375
  typeorm_2.Repository])
319
376
  ], MetaService);
320
377
  //# sourceMappingURL=meta.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"meta.service.js","sourceRoot":"","sources":["../../src/meta/meta.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"meta.service.js","sourceRoot":"","sources":["../../src/meta/meta.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TagEntity } from './tag.entity';
2
+ export declare class TagUsageEntity {
3
+ id: string;
4
+ tagId: string;
5
+ tag: TagEntity;
6
+ usageCount: number;
7
+ lastUsedAt?: Date | null;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ }
@@ -0,0 +1,58 @@
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.TagUsageEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const tag_entity_1 = require("./tag.entity");
15
+ let TagUsageEntity = class TagUsageEntity {
16
+ id;
17
+ tagId;
18
+ tag;
19
+ usageCount;
20
+ lastUsedAt;
21
+ createdAt;
22
+ updatedAt;
23
+ };
24
+ exports.TagUsageEntity = TagUsageEntity;
25
+ __decorate([
26
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
27
+ __metadata("design:type", String)
28
+ ], TagUsageEntity.prototype, "id", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.Column)({ type: 'text', name: 'tag_id' }),
31
+ __metadata("design:type", String)
32
+ ], TagUsageEntity.prototype, "tagId", void 0);
33
+ __decorate([
34
+ (0, typeorm_1.ManyToOne)(() => tag_entity_1.TagEntity, { onDelete: 'CASCADE' }),
35
+ (0, typeorm_1.JoinColumn)({ name: 'tag_id' }),
36
+ __metadata("design:type", tag_entity_1.TagEntity)
37
+ ], TagUsageEntity.prototype, "tag", void 0);
38
+ __decorate([
39
+ (0, typeorm_1.Column)({ type: 'integer', name: 'usage_count', default: 0 }),
40
+ __metadata("design:type", Number)
41
+ ], TagUsageEntity.prototype, "usageCount", void 0);
42
+ __decorate([
43
+ (0, typeorm_1.Column)({ type: 'datetime', name: 'last_used_at', nullable: true }),
44
+ __metadata("design:type", Object)
45
+ ], TagUsageEntity.prototype, "lastUsedAt", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.CreateDateColumn)({ type: 'datetime', name: 'created_at' }),
48
+ __metadata("design:type", Date)
49
+ ], TagUsageEntity.prototype, "createdAt", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.UpdateDateColumn)({ type: 'datetime', name: 'updated_at' }),
52
+ __metadata("design:type", Date)
53
+ ], TagUsageEntity.prototype, "updatedAt", void 0);
54
+ exports.TagUsageEntity = TagUsageEntity = __decorate([
55
+ (0, typeorm_1.Entity)({ name: 'tag_usage' }),
56
+ (0, typeorm_1.Index)(['tagId'], { unique: true })
57
+ ], TagUsageEntity);
58
+ //# sourceMappingURL=tag-usage.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tag-usage.entity.js","sourceRoot":"","sources":["../../src/meta/tag-usage.entity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCASiB;AACjB,6CAAyC;AAIlC,IAAM,cAAc,GAApB,MAAM,cAAc;IAEzB,EAAE,CAAU;IAGZ,KAAK,CAAU;IAIf,GAAG,CAAa;IAGhB,UAAU,CAAU;IAGpB,UAAU,CAAe;IAGzB,SAAS,CAAQ;IAGjB,SAAS,CAAQ;CAClB,CAAA;AAtBY,wCAAc;AAEzB;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;0CACnB;AAGZ;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;;6CAC1B;AAIf;IAFC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,sBAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACnD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;8BACzB,sBAAS;2CAAC;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;kDACzC;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kDAC1C;AAGzB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC/C,IAAI;iDAAC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BAC/C,IAAI;iDAAC;yBArBN,cAAc;IAF1B,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IAC7B,IAAA,eAAK,EAAC,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;GACtB,cAAc,CAsB1B"}
@@ -0,0 +1,6 @@
1
+ import { ValidationOptions, ValidatorConstraintInterface } from 'class-validator';
2
+ export declare class IsGitUrlConstraint implements ValidatorConstraintInterface {
3
+ validate(value: any): boolean;
4
+ defaultMessage(): string;
5
+ }
6
+ export declare function IsGitUrl(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
@@ -0,0 +1,47 @@
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 __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.IsGitUrlConstraint = void 0;
13
+ exports.IsGitUrl = IsGitUrl;
14
+ const class_validator_1 = require("class-validator");
15
+ const isURL_1 = __importDefault(require("validator/lib/isURL"));
16
+ let IsGitUrlConstraint = class IsGitUrlConstraint {
17
+ validate(value) {
18
+ if (typeof value !== 'string') {
19
+ return false;
20
+ }
21
+ const isHttpUrl = (0, isURL_1.default)(value, {
22
+ protocols: ['http', 'https'],
23
+ require_protocol: true,
24
+ });
25
+ const sshPattern = /^(git@[\w.-]+:[\w./-]+|ssh:\/\/git@[\w.-]+(:\d+)?\/[\w./-]+)$/;
26
+ return isHttpUrl || sshPattern.test(value);
27
+ }
28
+ defaultMessage() {
29
+ return 'Repository URL must be a valid HTTP, HTTPS, or SSH Git URL';
30
+ }
31
+ };
32
+ exports.IsGitUrlConstraint = IsGitUrlConstraint;
33
+ exports.IsGitUrlConstraint = IsGitUrlConstraint = __decorate([
34
+ (0, class_validator_1.ValidatorConstraint)({ name: 'isGitUrl', async: false })
35
+ ], IsGitUrlConstraint);
36
+ function IsGitUrl(validationOptions) {
37
+ return function (object, propertyName) {
38
+ (0, class_validator_1.registerDecorator)({
39
+ target: object.constructor,
40
+ propertyName: propertyName,
41
+ options: validationOptions,
42
+ constraints: [],
43
+ validator: IsGitUrlConstraint,
44
+ });
45
+ };
46
+ }
47
+ //# sourceMappingURL=is-git-url.validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-git-url.validator.js","sourceRoot":"","sources":["../../../src/meta/validators/is-git-url.validator.ts"],"names":[],"mappings":";;;;;;;;;;;;AAyDA,4BAUC;AAnED,qDAKyB;AACzB,gEAAwC;AAajC,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAC7B,QAAQ,CAAC,KAAU;QACjB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QAGD,MAAM,SAAS,GAAG,IAAA,eAAK,EAAC,KAAK,EAAE;YAC7B,SAAS,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;YAC5B,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QAMH,MAAM,UAAU,GACd,+DAA+D,CAAC;QAElE,OAAO,SAAS,IAAI,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc;QACZ,OAAO,4DAA4D,CAAC;IACtE,CAAC;CACF,CAAA;AAzBY,gDAAkB;6BAAlB,kBAAkB;IAD9B,IAAA,qCAAmB,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;GAC3C,kBAAkB,CAyB9B;AAaD,SAAgB,QAAQ,CAAC,iBAAqC;IAC5D,OAAO,UAAU,MAAc,EAAE,YAAoB;QACnD,IAAA,mCAAiB,EAAC;YAChB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,OAAO,EAAE,iBAAiB;YAC1B,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const is_git_url_validator_1 = require("./is-git-url.validator");
4
+ describe('IsGitUrlConstraint', () => {
5
+ let validator;
6
+ beforeEach(() => {
7
+ validator = new is_git_url_validator_1.IsGitUrlConstraint();
8
+ });
9
+ describe('HTTP/HTTPS URLs', () => {
10
+ it('should accept HTTPS URLs', () => {
11
+ expect(validator.validate('https://github.com/user/repo.git')).toBe(true);
12
+ expect(validator.validate('https://gitlab.com/user/repo.git')).toBe(true);
13
+ });
14
+ it('should accept HTTP URLs', () => {
15
+ expect(validator.validate('http://github.com/user/repo.git')).toBe(true);
16
+ });
17
+ it('should accept URLs without .git extension', () => {
18
+ expect(validator.validate('https://github.com/user/repo')).toBe(true);
19
+ });
20
+ });
21
+ describe('SSH URLs', () => {
22
+ it('should accept standard SSH URLs', () => {
23
+ expect(validator.validate('git@github.com:user/repo.git')).toBe(true);
24
+ expect(validator.validate('git@gitlab.com:user/repo.git')).toBe(true);
25
+ });
26
+ it('should accept SSH URLs with subgroups', () => {
27
+ expect(validator.validate('git@github.com:org/team/repo.git')).toBe(true);
28
+ });
29
+ it('should accept SSH URLs without .git extension', () => {
30
+ expect(validator.validate('git@github.com:user/repo')).toBe(true);
31
+ });
32
+ it('should accept ssh:// protocol URLs', () => {
33
+ expect(validator.validate('ssh://git@github.com/user/repo.git')).toBe(true);
34
+ });
35
+ it('should accept SSH URLs with custom ports', () => {
36
+ expect(validator.validate('ssh://git@github.com:2222/user/repo.git')).toBe(true);
37
+ expect(validator.validate('ssh://git@example.com:22/user/repo.git')).toBe(true);
38
+ });
39
+ });
40
+ describe('Invalid URLs', () => {
41
+ it('should reject non-string values', () => {
42
+ expect(validator.validate(123)).toBe(false);
43
+ expect(validator.validate(null)).toBe(false);
44
+ expect(validator.validate(undefined)).toBe(false);
45
+ expect(validator.validate({})).toBe(false);
46
+ });
47
+ it('should reject empty strings', () => {
48
+ expect(validator.validate('')).toBe(false);
49
+ });
50
+ it('should reject invalid formats', () => {
51
+ expect(validator.validate('not-a-url')).toBe(false);
52
+ expect(validator.validate('ftp://github.com/user/repo')).toBe(false);
53
+ });
54
+ it('should reject malformed SSH URLs', () => {
55
+ expect(validator.validate('github.com:user/repo.git')).toBe(false);
56
+ expect(validator.validate('@github.com:user/repo.git')).toBe(false);
57
+ });
58
+ it('should reject malformed HTTP/HTTPS URLs', () => {
59
+ expect(validator.validate('https://')).toBe(false);
60
+ expect(validator.validate('http://')).toBe(false);
61
+ expect(validator.validate('https://invalid url with spaces')).toBe(false);
62
+ });
63
+ });
64
+ describe('defaultMessage', () => {
65
+ it('should return a helpful error message', () => {
66
+ const message = validator.defaultMessage();
67
+ expect(message).toContain('HTTP');
68
+ expect(message).toContain('HTTPS');
69
+ expect(message).toContain('SSH');
70
+ });
71
+ });
72
+ });
73
+ //# sourceMappingURL=is-git-url.validator.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-git-url.validator.spec.js","sourceRoot":"","sources":["../../../src/meta/validators/is-git-url.validator.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class AddTagUsageTable1741100000000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddTagUsageTable1741100000000 = void 0;
4
+ const typeorm_1 = require("typeorm");
5
+ class AddTagUsageTable1741100000000 {
6
+ name = 'AddTagUsageTable1741100000000';
7
+ async up(queryRunner) {
8
+ await queryRunner.createTable(new typeorm_1.Table({
9
+ name: 'tag_usage',
10
+ columns: [
11
+ {
12
+ name: 'id',
13
+ type: 'varchar',
14
+ isPrimary: true,
15
+ isGenerated: true,
16
+ generationStrategy: 'uuid',
17
+ },
18
+ {
19
+ name: 'tag_id',
20
+ type: 'text',
21
+ isNullable: false,
22
+ },
23
+ {
24
+ name: 'usage_count',
25
+ type: 'integer',
26
+ default: 0,
27
+ isNullable: false,
28
+ },
29
+ {
30
+ name: 'last_used_at',
31
+ type: 'datetime',
32
+ isNullable: true,
33
+ },
34
+ {
35
+ name: 'created_at',
36
+ type: 'datetime',
37
+ default: "datetime('now')",
38
+ isNullable: false,
39
+ },
40
+ {
41
+ name: 'updated_at',
42
+ type: 'datetime',
43
+ default: "datetime('now')",
44
+ isNullable: false,
45
+ },
46
+ ],
47
+ foreignKeys: [
48
+ {
49
+ columnNames: ['tag_id'],
50
+ referencedTableName: 'tags',
51
+ referencedColumnNames: ['id'],
52
+ onDelete: 'CASCADE',
53
+ },
54
+ ],
55
+ }), true);
56
+ await queryRunner.createIndex('tag_usage', new typeorm_1.TableIndex({
57
+ name: 'IDX_tag_usage_tag_id',
58
+ columnNames: ['tag_id'],
59
+ isUnique: true,
60
+ }));
61
+ }
62
+ async down(queryRunner) {
63
+ await queryRunner.dropTable('tag_usage', true);
64
+ }
65
+ }
66
+ exports.AddTagUsageTable1741100000000 = AddTagUsageTable1741100000000;
67
+ //# sourceMappingURL=1741100000000-AddTagUsageTable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1741100000000-AddTagUsageTable.js","sourceRoot":"","sources":["../../src/migrations/1741100000000-AddTagUsageTable.ts"],"names":[],"mappings":";;;AAAA,qCAA6E;AAE7E,MAAa,6BAA6B;IACxC,IAAI,GAAG,+BAA+B,CAAC;IAEhC,KAAK,CAAC,EAAE,CAAC,WAAwB;QAEtC,MAAM,WAAW,CAAC,WAAW,CAC3B,IAAI,eAAK,CAAC;YACR,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,IAAI;oBACf,WAAW,EAAE,IAAI;oBACjB,kBAAkB,EAAE,MAAM;iBAC3B;gBACD;oBACE,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,MAAM;oBACZ,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,aAAa;oBACnB,IAAI,EAAE,SAAS;oBACf,OAAO,EAAE,CAAC;oBACV,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE,IAAI;iBACjB;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,KAAK;iBAClB;gBACD;oBACE,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,UAAU;oBAChB,OAAO,EAAE,iBAAiB;oBAC1B,UAAU,EAAE,KAAK;iBAClB;aACF;YACD,WAAW,EAAE;gBACX;oBACE,WAAW,EAAE,CAAC,QAAQ,CAAC;oBACvB,mBAAmB,EAAE,MAAM;oBAC3B,qBAAqB,EAAE,CAAC,IAAI,CAAC;oBAC7B,QAAQ,EAAE,SAAS;iBACpB;aACF;SACF,CAAC,EACF,IAAI,CACL,CAAC;QAGF,MAAM,WAAW,CAAC,WAAW,CAC3B,WAAW,EACX,IAAI,oBAAU,CAAC;YACb,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EAAE,CAAC,QAAQ,CAAC;YACvB,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;IACjD,CAAC;CACF;AAvED,sEAuEC"}
@@ -0,0 +1,5 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class McpServerProvidedIdPartialUniqueIndex1741200000000 implements MigrationInterface {
3
+ up(queryRunner: QueryRunner): Promise<void>;
4
+ down(queryRunner: QueryRunner): Promise<void>;
5
+ }
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.McpServerProvidedIdPartialUniqueIndex1741200000000 = void 0;
4
+ class McpServerProvidedIdPartialUniqueIndex1741200000000 {
5
+ async up(queryRunner) {
6
+ await queryRunner.query('PRAGMA foreign_keys=off');
7
+ await queryRunner.query(`
8
+ CREATE TABLE mcp_servers_new (
9
+ id TEXT PRIMARY KEY,
10
+ providedId VARCHAR(255) NOT NULL,
11
+ name VARCHAR(255) NOT NULL,
12
+ description TEXT NOT NULL,
13
+ type TEXT NOT NULL DEFAULT 'http',
14
+ url VARCHAR(2048),
15
+ cmd VARCHAR(1024),
16
+ args TEXT,
17
+ createdAt DATETIME NOT NULL DEFAULT (datetime('now')),
18
+ updatedAt DATETIME NOT NULL DEFAULT (datetime('now')),
19
+ deletedAt DATETIME
20
+ )
21
+ `);
22
+ await queryRunner.query(`
23
+ INSERT INTO mcp_servers_new
24
+ (id, providedId, name, description, type, url, cmd, args, createdAt, updatedAt, deletedAt)
25
+ SELECT
26
+ id, providedId, name, description, type, url, cmd, args, createdAt, updatedAt, deletedAt
27
+ FROM mcp_servers
28
+ `);
29
+ await queryRunner.query('DROP TABLE mcp_servers');
30
+ await queryRunner.query('ALTER TABLE mcp_servers_new RENAME TO mcp_servers');
31
+ await queryRunner.query(`
32
+ CREATE UNIQUE INDEX uq_mcp_servers_providedId_active
33
+ ON mcp_servers (providedId)
34
+ WHERE deletedAt IS NULL
35
+ `);
36
+ await queryRunner.query('PRAGMA foreign_keys=on');
37
+ }
38
+ async down(queryRunner) {
39
+ await queryRunner.query('PRAGMA foreign_keys=off');
40
+ await queryRunner.query('DROP INDEX IF EXISTS uq_mcp_servers_providedId_active');
41
+ await queryRunner.query(`
42
+ CREATE TABLE mcp_servers_old (
43
+ id TEXT PRIMARY KEY,
44
+ providedId VARCHAR(255) UNIQUE,
45
+ name VARCHAR(255) NOT NULL,
46
+ description TEXT NOT NULL,
47
+ type TEXT NOT NULL DEFAULT 'http',
48
+ url VARCHAR(2048),
49
+ cmd VARCHAR(1024),
50
+ args TEXT,
51
+ createdAt DATETIME NOT NULL DEFAULT (datetime('now')),
52
+ updatedAt DATETIME NOT NULL DEFAULT (datetime('now')),
53
+ deletedAt DATETIME
54
+ )
55
+ `);
56
+ await queryRunner.query(`
57
+ INSERT INTO mcp_servers_old
58
+ (id, providedId, name, description, type, url, cmd, args, createdAt, updatedAt, deletedAt)
59
+ SELECT
60
+ id, providedId, name, description, type, url, cmd, args, createdAt, updatedAt, deletedAt
61
+ FROM mcp_servers
62
+ `);
63
+ await queryRunner.query('DROP TABLE mcp_servers');
64
+ await queryRunner.query('ALTER TABLE mcp_servers_old RENAME TO mcp_servers');
65
+ await queryRunner.query('PRAGMA foreign_keys=on');
66
+ }
67
+ }
68
+ exports.McpServerProvidedIdPartialUniqueIndex1741200000000 = McpServerProvidedIdPartialUniqueIndex1741200000000;
69
+ //# sourceMappingURL=1741200000000-McpServerProvidedIdPartialUniqueIndex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1741200000000-McpServerProvidedIdPartialUniqueIndex.js","sourceRoot":"","sources":["../../src/migrations/1741200000000-McpServerProvidedIdPartialUniqueIndex.ts"],"names":[],"mappings":";;;AAQA,MAAa,kDAAkD;IAGtD,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAGnD,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;KAcvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAG7E,MAAM,WAAW,CAAC,KAAK,CAAC;;;;KAIvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAEnD,MAAM,WAAW,CAAC,KAAK,CACrB,uDAAuD,CACxD,CAAC;QAEF,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;KAcvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;KAMvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QAE7E,MAAM,WAAW,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACpD,CAAC;CACF;AAhFD,gHAgFC"}
@@ -0,0 +1,6 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class AddHasSeenWalkthroughToUsers1741300000000 implements MigrationInterface {
3
+ name: string;
4
+ up(queryRunner: QueryRunner): Promise<void>;
5
+ down(queryRunner: QueryRunner): Promise<void>;
6
+ }
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AddHasSeenWalkthroughToUsers1741300000000 = void 0;
4
+ class AddHasSeenWalkthroughToUsers1741300000000 {
5
+ name = 'AddHasSeenWalkthroughToUsers1741300000000';
6
+ async up(queryRunner) {
7
+ await queryRunner.query(`
8
+ ALTER TABLE users
9
+ ADD COLUMN has_seen_walkthrough BOOLEAN NOT NULL DEFAULT 0
10
+ `);
11
+ }
12
+ async down(queryRunner) {
13
+ await queryRunner.query(`
14
+ CREATE TABLE users_new (
15
+ id TEXT PRIMARY KEY,
16
+ email TEXT NOT NULL UNIQUE,
17
+ password_hash TEXT NOT NULL,
18
+ actor_id TEXT NOT NULL UNIQUE,
19
+ is_active BOOLEAN NOT NULL DEFAULT 1,
20
+ role TEXT NOT NULL DEFAULT 'standard',
21
+ row_version INTEGER NOT NULL DEFAULT 1,
22
+ created_at DATETIME NOT NULL DEFAULT (datetime('now')),
23
+ updated_at DATETIME NOT NULL DEFAULT (datetime('now')),
24
+ deleted_at DATETIME,
25
+ FOREIGN KEY (actor_id) REFERENCES actors(id)
26
+ )
27
+ `);
28
+ await queryRunner.query(`
29
+ INSERT INTO users_new (
30
+ id, email, password_hash, actor_id, is_active, role,
31
+ row_version, created_at, updated_at, deleted_at
32
+ )
33
+ SELECT
34
+ id, email, password_hash, actor_id, is_active, role,
35
+ row_version, created_at, updated_at, deleted_at
36
+ FROM users
37
+ `);
38
+ await queryRunner.query(`DROP TABLE users`);
39
+ await queryRunner.query(`ALTER TABLE users_new RENAME TO users`);
40
+ }
41
+ }
42
+ exports.AddHasSeenWalkthroughToUsers1741300000000 = AddHasSeenWalkthroughToUsers1741300000000;
43
+ //# sourceMappingURL=1741300000000-AddHasSeenWalkthroughToUsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1741300000000-AddHasSeenWalkthroughToUsers.js","sourceRoot":"","sources":["../../src/migrations/1741300000000-AddHasSeenWalkthroughToUsers.ts"],"names":[],"mappings":";;;AAEA,MAAa,yCAAyC;IAGpD,IAAI,GAAG,2CAA2C,CAAC;IAE5C,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC;;;KAGvB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QAExC,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;KAcvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;KASvB,CAAC,CAAC;QAEH,MAAM,WAAW,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAC5C,MAAM,WAAW,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACnE,CAAC;CACF;AA5CD,8FA4CC"}