@taico/taico 0.3.1 → 0.3.3

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 (66) hide show
  1. package/README.md +2 -2
  2. package/dist/agents/agent-avatar.library.js +6 -0
  3. package/dist/agents/agent-avatar.library.js.map +1 -1
  4. package/dist/agents/agent-template.catalog.js +23 -3
  5. package/dist/agents/agent-template.catalog.js.map +1 -1
  6. package/dist/app-init/agent/developer.agent.d.ts +2 -0
  7. package/dist/app-init/agent/developer.agent.js +23 -0
  8. package/dist/app-init/agent/developer.agent.js.map +1 -0
  9. package/dist/app-init/agent/lead.agent.d.ts +2 -0
  10. package/dist/app-init/agent/lead.agent.js +23 -0
  11. package/dist/app-init/agent/lead.agent.js.map +1 -0
  12. package/dist/app-init/agent/plan-reviewer.agent.d.ts +2 -0
  13. package/dist/app-init/agent/plan-reviewer.agent.js +24 -0
  14. package/dist/app-init/agent/plan-reviewer.agent.js.map +1 -0
  15. package/dist/app-init/agent/planner.agent.d.ts +2 -0
  16. package/dist/app-init/agent/planner.agent.js +23 -0
  17. package/dist/app-init/agent/planner.agent.js.map +1 -0
  18. package/dist/app-init/agent/taskmaster.agent.d.ts +2 -0
  19. package/dist/app-init/agent/taskmaster.agent.js +23 -0
  20. package/dist/app-init/agent/taskmaster.agent.js.map +1 -0
  21. package/dist/app-init/app-init.runner.js +35 -0
  22. package/dist/app-init/app-init.runner.js.map +1 -1
  23. package/dist/app-init/models/models.d.ts +4 -0
  24. package/dist/app-init/models/models.js +21 -1
  25. package/dist/app-init/models/models.js.map +1 -1
  26. package/dist/app-init/prompts/prompts.d.ts +4 -0
  27. package/dist/app-init/prompts/prompts.js +175 -1
  28. package/dist/app-init/prompts/prompts.js.map +1 -1
  29. package/dist/app.controller.d.ts +9 -1
  30. package/dist/app.controller.js +52 -2
  31. package/dist/app.controller.js.map +1 -1
  32. package/dist/app.controller.spec.js +16 -1
  33. package/dist/app.controller.spec.js.map +1 -1
  34. package/dist/app.module.js +4 -1
  35. package/dist/app.module.js.map +1 -1
  36. package/dist/main.js +10 -0
  37. package/dist/main.js.map +1 -1
  38. package/dist/meta/meta.service.d.ts +4 -1
  39. package/dist/meta/meta.service.js +38 -0
  40. package/dist/meta/meta.service.js.map +1 -1
  41. package/dist/meta/meta.service.spec.d.ts +1 -0
  42. package/dist/meta/meta.service.spec.js +100 -0
  43. package/dist/meta/meta.service.spec.js.map +1 -0
  44. package/dist/meta/system-tags.d.ts +6 -0
  45. package/dist/meta/system-tags.js +19 -0
  46. package/dist/meta/system-tags.js.map +1 -0
  47. package/dist/migrations/1742800000000-RemovePlannerPlanTagTrigger.d.ts +5 -0
  48. package/dist/migrations/1742800000000-RemovePlannerPlanTagTrigger.js +27 -0
  49. package/dist/migrations/1742800000000-RemovePlannerPlanTagTrigger.js.map +1 -0
  50. package/dist/public/assets/{index-DzwOFnwx.js → index-C1ykqErs.js} +1 -1
  51. package/dist/public/index.html +1 -1
  52. package/dist/public/package.json +4 -4
  53. package/dist/server-lifecycle.service.d.ts +14 -0
  54. package/dist/server-lifecycle.service.js +54 -0
  55. package/dist/server-lifecycle.service.js.map +1 -0
  56. package/dist/server-lifecycle.service.spec.d.ts +1 -0
  57. package/dist/server-lifecycle.service.spec.js +63 -0
  58. package/dist/server-lifecycle.service.spec.js.map +1 -0
  59. package/dist/tasks/tasks.service.auto-prune.spec.d.ts +1 -0
  60. package/dist/tasks/tasks.service.auto-prune.spec.js +135 -0
  61. package/dist/tasks/tasks.service.auto-prune.spec.js.map +1 -0
  62. package/dist/tasks/tasks.service.d.ts +2 -0
  63. package/dist/tasks/tasks.service.js +29 -0
  64. package/dist/tasks/tasks.service.js.map +1 -1
  65. package/dist/tsconfig.tsbuildinfo +1 -1
  66. package/package.json +5 -5
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const meta_service_1 = require("./meta.service");
4
+ const system_tags_1 = require("./system-tags");
5
+ describe('MetaService system tags', () => {
6
+ function createService() {
7
+ const tagRepository = {
8
+ create: jest.fn((tag) => tag),
9
+ save: jest.fn(async (tag) => ({
10
+ id: 'tag-1',
11
+ createdAt: new Date('2026-01-01T00:00:00Z'),
12
+ updatedAt: new Date('2026-01-01T00:00:00Z'),
13
+ ...tag,
14
+ })),
15
+ findOne: jest.fn(),
16
+ delete: jest.fn(async () => ({ affected: 1 })),
17
+ };
18
+ const tagUsageRepository = {
19
+ find: jest.fn(),
20
+ query: jest.fn(),
21
+ };
22
+ const projectRepository = {
23
+ findOne: jest.fn(),
24
+ create: jest.fn((project) => project),
25
+ save: jest.fn(async (project) => project),
26
+ };
27
+ const service = new meta_service_1.MetaService(tagRepository, tagUsageRepository, projectRepository);
28
+ return {
29
+ service,
30
+ tagRepository,
31
+ };
32
+ }
33
+ it('creates the auto-prune system tag on module init', async () => {
34
+ const { service, tagRepository } = createService();
35
+ tagRepository.findOne.mockResolvedValue(null);
36
+ await service.onModuleInit();
37
+ expect(tagRepository.create).toHaveBeenCalledWith({
38
+ name: system_tags_1.AUTO_PRUNE_TAG_NAME,
39
+ color: '#8E7CC3',
40
+ });
41
+ expect(tagRepository.save).toHaveBeenCalled();
42
+ });
43
+ it('canonicalizes an existing case-variant auto-prune system tag on module init', async () => {
44
+ const { service, tagRepository } = createService();
45
+ const tag = {
46
+ id: 'tag-1',
47
+ name: 'Auto-Prune',
48
+ color: '#FF0000',
49
+ };
50
+ tagRepository.findOne.mockResolvedValue(tag);
51
+ await service.onModuleInit();
52
+ expect(tagRepository.create).not.toHaveBeenCalled();
53
+ expect(tagRepository.save).toHaveBeenCalledWith({
54
+ ...tag,
55
+ name: system_tags_1.AUTO_PRUNE_TAG_NAME,
56
+ color: '#8E7CC3',
57
+ });
58
+ });
59
+ it('does not delete the auto-prune system tag directly', async () => {
60
+ const { service, tagRepository } = createService();
61
+ tagRepository.findOne.mockResolvedValue({
62
+ id: 'tag-1',
63
+ name: system_tags_1.AUTO_PRUNE_TAG_NAME,
64
+ });
65
+ await service.deleteTag('tag-1');
66
+ expect(tagRepository.delete).not.toHaveBeenCalled();
67
+ });
68
+ it('does not delete a case-variant auto-prune system tag directly', async () => {
69
+ const { service, tagRepository } = createService();
70
+ tagRepository.findOne.mockResolvedValue({
71
+ id: 'tag-1',
72
+ name: 'Auto-Prune',
73
+ });
74
+ await service.deleteTag('tag-1');
75
+ expect(tagRepository.delete).not.toHaveBeenCalled();
76
+ });
77
+ it('does not delete the auto-prune system tag as an orphan', async () => {
78
+ const { service, tagRepository } = createService();
79
+ tagRepository.findOne.mockResolvedValue({
80
+ id: 'tag-1',
81
+ name: system_tags_1.AUTO_PRUNE_TAG_NAME,
82
+ tasks: [],
83
+ blocks: [],
84
+ });
85
+ await service.cleanupOrphanedTag('tag-1');
86
+ expect(tagRepository.delete).not.toHaveBeenCalled();
87
+ });
88
+ it('does not delete a case-variant auto-prune system tag as an orphan', async () => {
89
+ const { service, tagRepository } = createService();
90
+ tagRepository.findOne.mockResolvedValue({
91
+ id: 'tag-1',
92
+ name: 'Auto-Prune',
93
+ tasks: [],
94
+ blocks: [],
95
+ });
96
+ await service.cleanupOrphanedTag('tag-1');
97
+ expect(tagRepository.delete).not.toHaveBeenCalled();
98
+ });
99
+ });
100
+ //# sourceMappingURL=meta.service.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"meta.service.spec.js","sourceRoot":"","sources":["../../src/meta/meta.service.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const SYSTEM_TAGS: readonly [{
2
+ readonly name: "auto-prune";
3
+ readonly color: "#8E7CC3";
4
+ }];
5
+ export declare const AUTO_PRUNE_TAG_NAME: "auto-prune";
6
+ export declare function isSystemTagName(name: string): boolean;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AUTO_PRUNE_TAG_NAME = exports.SYSTEM_TAGS = void 0;
4
+ exports.isSystemTagName = isSystemTagName;
5
+ exports.SYSTEM_TAGS = [
6
+ {
7
+ name: 'auto-prune',
8
+ color: '#8E7CC3',
9
+ },
10
+ ];
11
+ exports.AUTO_PRUNE_TAG_NAME = exports.SYSTEM_TAGS[0].name;
12
+ function normalizeSystemTagName(name) {
13
+ return name.trim().toLowerCase();
14
+ }
15
+ const SYSTEM_TAG_NAMES = new Set(exports.SYSTEM_TAGS.map((tag) => normalizeSystemTagName(tag.name)));
16
+ function isSystemTagName(name) {
17
+ return SYSTEM_TAG_NAMES.has(normalizeSystemTagName(name));
18
+ }
19
+ //# sourceMappingURL=system-tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system-tags.js","sourceRoot":"","sources":["../../src/meta/system-tags.ts"],"names":[],"mappings":";;;AAiBA,0CAEC;AAnBY,QAAA,WAAW,GAAG;IACzB;QACE,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,SAAS;KACjB;CACO,CAAC;AAEE,QAAA,mBAAmB,GAAG,mBAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAEvD,SAAS,sBAAsB,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AACnC,CAAC;AAED,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CACnD,mBAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,sBAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAC3D,CAAC;AAEF,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,gBAAgB,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { MigrationInterface, QueryRunner } from 'typeorm';
2
+ export declare class RemovePlannerPlanTagTrigger1742800000000 implements MigrationInterface {
3
+ up(queryRunner: QueryRunner): Promise<void>;
4
+ down(queryRunner: QueryRunner): Promise<void>;
5
+ }
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RemovePlannerPlanTagTrigger1742800000000 = void 0;
4
+ class RemovePlannerPlanTagTrigger1742800000000 {
5
+ async up(queryRunner) {
6
+ await queryRunner.query(`
7
+ UPDATE agents
8
+ SET tag_triggers = ''
9
+ WHERE actor_id IN (
10
+ SELECT id FROM actors WHERE slug = 'planner'
11
+ )
12
+ AND tag_triggers = 'plan'
13
+ `);
14
+ }
15
+ async down(queryRunner) {
16
+ await queryRunner.query(`
17
+ UPDATE agents
18
+ SET tag_triggers = 'plan'
19
+ WHERE actor_id IN (
20
+ SELECT id FROM actors WHERE slug = 'planner'
21
+ )
22
+ AND tag_triggers = ''
23
+ `);
24
+ }
25
+ }
26
+ exports.RemovePlannerPlanTagTrigger1742800000000 = RemovePlannerPlanTagTrigger1742800000000;
27
+ //# sourceMappingURL=1742800000000-RemovePlannerPlanTagTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1742800000000-RemovePlannerPlanTagTrigger.js","sourceRoot":"","sources":["../../src/migrations/1742800000000-RemovePlannerPlanTagTrigger.ts"],"names":[],"mappings":";;;AAEA,MAAa,wCAAwC;IAC5C,KAAK,CAAC,EAAE,CAAC,WAAwB;QACtC,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;KAOvB,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,WAAwB;QACxC,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;KAOvB,CAAC,CAAC;IACL,CAAC;CACF;AAtBD,4FAsBC"}