agentopia 1.0.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 (140) hide show
  1. package/.claude/settings.local.json +28 -0
  2. package/dist/app.d.ts +10 -0
  3. package/dist/app.d.ts.map +1 -0
  4. package/dist/app.js +121 -0
  5. package/dist/app.js.map +1 -0
  6. package/dist/config.d.ts +9 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +19 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/db/database.d.ts +5 -0
  11. package/dist/db/database.d.ts.map +1 -0
  12. package/dist/db/database.js +39 -0
  13. package/dist/db/database.js.map +1 -0
  14. package/dist/db/schema.d.ts +3 -0
  15. package/dist/db/schema.d.ts.map +1 -0
  16. package/dist/db/schema.js +621 -0
  17. package/dist/db/schema.js.map +1 -0
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -0
  20. package/dist/index.js +49 -0
  21. package/dist/index.js.map +1 -0
  22. package/dist/logger.d.ts +4 -0
  23. package/dist/logger.d.ts.map +1 -0
  24. package/dist/logger.js +9 -0
  25. package/dist/logger.js.map +1 -0
  26. package/dist/middleware/auth.d.ts +13 -0
  27. package/dist/middleware/auth.d.ts.map +1 -0
  28. package/dist/middleware/auth.js +733 -0
  29. package/dist/middleware/auth.js.map +1 -0
  30. package/dist/routes/agents.d.ts +3 -0
  31. package/dist/routes/agents.d.ts.map +1 -0
  32. package/dist/routes/agents.js +1058 -0
  33. package/dist/routes/agents.js.map +1 -0
  34. package/dist/routes/issues.d.ts +4 -0
  35. package/dist/routes/issues.d.ts.map +1 -0
  36. package/dist/routes/issues.js +946 -0
  37. package/dist/routes/issues.js.map +1 -0
  38. package/dist/routes/knowledge.d.ts +3 -0
  39. package/dist/routes/knowledge.d.ts.map +1 -0
  40. package/dist/routes/knowledge.js +117 -0
  41. package/dist/routes/knowledge.js.map +1 -0
  42. package/dist/routes/memories.d.ts +3 -0
  43. package/dist/routes/memories.d.ts.map +1 -0
  44. package/dist/routes/memories.js +115 -0
  45. package/dist/routes/memories.js.map +1 -0
  46. package/dist/routes/messages.d.ts +3 -0
  47. package/dist/routes/messages.d.ts.map +1 -0
  48. package/dist/routes/messages.js +130 -0
  49. package/dist/routes/messages.js.map +1 -0
  50. package/dist/routes/projects.d.ts +3 -0
  51. package/dist/routes/projects.d.ts.map +1 -0
  52. package/dist/routes/projects.js +754 -0
  53. package/dist/routes/projects.js.map +1 -0
  54. package/dist/routes/templates.d.ts +3 -0
  55. package/dist/routes/templates.d.ts.map +1 -0
  56. package/dist/routes/templates.js +117 -0
  57. package/dist/routes/templates.js.map +1 -0
  58. package/dist/routes/ui.d.ts +3 -0
  59. package/dist/routes/ui.d.ts.map +1 -0
  60. package/dist/routes/ui.js +38 -0
  61. package/dist/routes/ui.js.map +1 -0
  62. package/dist/services/agent-hierarchy.d.ts +14 -0
  63. package/dist/services/agent-hierarchy.d.ts.map +1 -0
  64. package/dist/services/agent-hierarchy.js +58 -0
  65. package/dist/services/agent-hierarchy.js.map +1 -0
  66. package/dist/services/agent-issue-batch.d.ts +17 -0
  67. package/dist/services/agent-issue-batch.d.ts.map +1 -0
  68. package/dist/services/agent-issue-batch.js +57 -0
  69. package/dist/services/agent-issue-batch.js.map +1 -0
  70. package/dist/services/controller.d.ts +4 -0
  71. package/dist/services/controller.d.ts.map +1 -0
  72. package/dist/services/controller.js +237 -0
  73. package/dist/services/controller.js.map +1 -0
  74. package/dist/services/langgraph-runner.d.ts +33 -0
  75. package/dist/services/langgraph-runner.d.ts.map +1 -0
  76. package/dist/services/langgraph-runner.js +478 -0
  77. package/dist/services/langgraph-runner.js.map +1 -0
  78. package/dist/services/orchestrator.d.ts +9 -0
  79. package/dist/services/orchestrator.d.ts.map +1 -0
  80. package/dist/services/orchestrator.js +116 -0
  81. package/dist/services/orchestrator.js.map +1 -0
  82. package/dist/services/pre-controller.d.ts +7 -0
  83. package/dist/services/pre-controller.d.ts.map +1 -0
  84. package/dist/services/pre-controller.js +101 -0
  85. package/dist/services/pre-controller.js.map +1 -0
  86. package/dist/services/process-manager.d.ts +67 -0
  87. package/dist/services/process-manager.d.ts.map +1 -0
  88. package/dist/services/process-manager.js +938 -0
  89. package/dist/services/process-manager.js.map +1 -0
  90. package/dist/services/project-permissions.d.ts +84 -0
  91. package/dist/services/project-permissions.d.ts.map +1 -0
  92. package/dist/services/project-permissions.js +129 -0
  93. package/dist/services/project-permissions.js.map +1 -0
  94. package/dist/services/scheduler.d.ts +6 -0
  95. package/dist/services/scheduler.d.ts.map +1 -0
  96. package/dist/services/scheduler.js +300 -0
  97. package/dist/services/scheduler.js.map +1 -0
  98. package/dist/services/system-prompt.d.ts +3 -0
  99. package/dist/services/system-prompt.d.ts.map +1 -0
  100. package/dist/services/system-prompt.js +285 -0
  101. package/dist/services/system-prompt.js.map +1 -0
  102. package/dist/services/terminal.d.ts +18 -0
  103. package/dist/services/terminal.d.ts.map +1 -0
  104. package/dist/services/terminal.js +222 -0
  105. package/dist/services/terminal.js.map +1 -0
  106. package/dist/services/websocket.d.ts +15 -0
  107. package/dist/services/websocket.d.ts.map +1 -0
  108. package/dist/services/websocket.js +204 -0
  109. package/dist/services/websocket.js.map +1 -0
  110. package/dist/types.d.ts +108 -0
  111. package/dist/types.d.ts.map +1 -0
  112. package/dist/types.js +3 -0
  113. package/dist/types.js.map +1 -0
  114. package/env.ini +18 -0
  115. package/package.json +38 -0
  116. package/project_id +0 -0
  117. package/public/admin-users.html +188 -0
  118. package/public/agent.html +199 -0
  119. package/public/css/issues.css +275 -0
  120. package/public/css/style.css +1299 -0
  121. package/public/index.html +166 -0
  122. package/public/issue.html +76 -0
  123. package/public/js/agent.js +19 -0
  124. package/public/js/common.js +735 -0
  125. package/public/js/dashboard.js +772 -0
  126. package/public/js/files-panel.js +703 -0
  127. package/public/js/interactive-terminal.js +201 -0
  128. package/public/js/issue-renderer.js +559 -0
  129. package/public/js/issue.js +57 -0
  130. package/public/js/project.js +2425 -0
  131. package/public/js/terminal.js +564 -0
  132. package/public/project.html +430 -0
  133. package/public/terminal.html +67 -0
  134. package/public/vendor/marked.js +74 -0
  135. package/public/vendor/xterm-addon-fit.js +2 -0
  136. package/public/vendor/xterm.css +209 -0
  137. package/public/vendor/xterm.js +2 -0
  138. package/send_message_and_update_issue.js +65 -0
  139. package/tsconfig.json +19 -0
  140. package/update_round2_and_create_round3.js +284 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/routes/projects.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FastifyInstance } from 'fastify';
2
+ export declare function registerTemplateRoutes(fastify: FastifyInstance): void;
3
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/routes/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAuIrE"}
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerTemplateRoutes = registerTemplateRoutes;
4
+ const uuid_1 = require("uuid");
5
+ const database_1 = require("../db/database");
6
+ function registerTemplateRoutes(fastify) {
7
+ // List all templates (builtin + custom)
8
+ fastify.get('/api/templates', async () => {
9
+ const db = (0, database_1.getDatabase)();
10
+ const templates = db.prepare('SELECT * FROM project_templates ORDER BY is_builtin DESC, created_at DESC').all();
11
+ return { templates };
12
+ });
13
+ // Get single template
14
+ fastify.get('/api/templates/:id', async (request, reply) => {
15
+ const db = (0, database_1.getDatabase)();
16
+ const template = db.prepare('SELECT * FROM project_templates WHERE id = ?').get(request.params.id);
17
+ if (!template)
18
+ return reply.status(404).send({ error: 'Template not found' });
19
+ return template;
20
+ });
21
+ // Create custom template
22
+ fastify.post('/api/templates', async (request, reply) => {
23
+ const db = (0, database_1.getDatabase)();
24
+ const { name, description, template_data, created_by } = request.body;
25
+ if (!name)
26
+ return reply.status(400).send({ error: 'name is required' });
27
+ if (!template_data)
28
+ return reply.status(400).send({ error: 'template_data is required' });
29
+ const id = (0, uuid_1.v4)();
30
+ const dataStr = typeof template_data === 'string' ? template_data : JSON.stringify(template_data);
31
+ db.prepare('INSERT INTO project_templates (id, name, description, template_data, created_by, is_builtin) VALUES (?, ?, ?, ?, ?, 0)').run(id, name, description || '', dataStr, created_by || 'user');
32
+ return reply.status(201).send(db.prepare('SELECT * FROM project_templates WHERE id = ?').get(id));
33
+ });
34
+ // Delete custom template (cannot delete builtin)
35
+ fastify.delete('/api/templates/:id', async (request, reply) => {
36
+ const db = (0, database_1.getDatabase)();
37
+ const template = db.prepare('SELECT * FROM project_templates WHERE id = ?').get(request.params.id);
38
+ if (!template)
39
+ return reply.status(404).send({ error: 'Template not found' });
40
+ if (template.is_builtin)
41
+ return reply.status(403).send({ error: 'Cannot delete builtin template' });
42
+ db.prepare('DELETE FROM project_templates WHERE id = ?').run(request.params.id);
43
+ return { success: true };
44
+ });
45
+ // Apply template to a project — creates agents and issues from template
46
+ fastify.post('/api/projects/:pid/apply-template', async (request, reply) => {
47
+ const db = (0, database_1.getDatabase)();
48
+ const { pid } = request.params;
49
+ const { template_id, params: templateParams } = request.body;
50
+ if (!template_id)
51
+ return reply.status(400).send({ error: 'template_id is required' });
52
+ const project = db.prepare('SELECT * FROM projects WHERE id = ?').get(pid);
53
+ if (!project)
54
+ return reply.status(404).send({ error: 'Project not found' });
55
+ const template = db.prepare('SELECT * FROM project_templates WHERE id = ?').get(template_id);
56
+ if (!template)
57
+ return reply.status(404).send({ error: 'Template not found' });
58
+ const data = JSON.parse(template.template_data);
59
+ const createdAgents = [];
60
+ const createdIssues = [];
61
+ const agentMap = {}; // role name -> agent id
62
+ // Create agents from template
63
+ if (data.agents && Array.isArray(data.agents)) {
64
+ for (const agentDef of data.agents) {
65
+ // Check if agent with same name already exists
66
+ const existing = db.prepare('SELECT id FROM agents WHERE project_id = ? AND name = ?').get(pid, agentDef.name);
67
+ if (existing) {
68
+ agentMap[agentDef.name] = existing.id;
69
+ continue;
70
+ }
71
+ const agentId = (0, uuid_1.v4)();
72
+ db.prepare('INSERT INTO agents (id, project_id, name, role, working_directory) VALUES (?, ?, ?, ?, ?)').run(agentId, pid, agentDef.name, agentDef.role || '', agentDef.working_directory || project.working_directory || null);
73
+ agentMap[agentDef.name] = agentId;
74
+ createdAgents.push({ id: agentId, name: agentDef.name, role: agentDef.role });
75
+ }
76
+ }
77
+ // Create issues from template
78
+ if (data.issues && Array.isArray(data.issues)) {
79
+ const lastNum = db.prepare('SELECT MAX(number) as n FROM issues WHERE project_id = ?').get(pid);
80
+ let nextNum = (lastNum?.n || 0) + 1;
81
+ // Create parent issue for the workflow
82
+ const parentId = (0, uuid_1.v4)();
83
+ const target = templateParams?.target || template.name;
84
+ db.prepare(`
85
+ INSERT INTO issues (id, project_id, number, title, body, created_by, assigned_to, priority, status)
86
+ VALUES (?, ?, ?, ?, ?, 'system', NULL, 5, 'open')
87
+ `).run(parentId, pid, nextNum, `[${template.name}] ${target}`, `使用模板「${template.name}」创建的工作流。\n\n${template.description}`);
88
+ nextNum++;
89
+ for (const issueDef of data.issues) {
90
+ const issueId = (0, uuid_1.v4)();
91
+ const assignedTo = issueDef.assigned_to_role ? (agentMap[issueDef.assigned_to_role] || null) : null;
92
+ let body = issueDef.body || '';
93
+ // Replace template params
94
+ if (templateParams) {
95
+ for (const [key, value] of Object.entries(templateParams)) {
96
+ body = body.replace(new RegExp(`\\{\\{${key}\\}\\}`, 'g'), value);
97
+ }
98
+ }
99
+ db.prepare(`
100
+ INSERT INTO issues (id, project_id, number, title, body, created_by, assigned_to, priority, parent_id, status)
101
+ VALUES (?, ?, ?, ?, ?, 'system', ?, 5, ?, 'open')
102
+ `).run(issueId, pid, nextNum, issueDef.title, body, assignedTo, parentId);
103
+ createdIssues.push({ id: issueId, number: nextNum, title: issueDef.title, assigned_to: assignedTo });
104
+ nextNum++;
105
+ }
106
+ // Set parent to pending since it has children
107
+ db.prepare("UPDATE issues SET status = 'pending' WHERE id = ?").run(parentId);
108
+ createdIssues.unshift({ id: parentId, number: nextNum - data.issues.length - 1, title: `[${template.name}] ${target}`, is_parent: true });
109
+ }
110
+ return reply.status(201).send({
111
+ template: template.name,
112
+ created_agents: createdAgents,
113
+ created_issues: createdIssues,
114
+ });
115
+ });
116
+ }
117
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/routes/templates.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { FastifyInstance } from 'fastify';
2
+ export declare function registerUIRoutes(fastify: FastifyInstance): void;
3
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/routes/ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAI1C,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAoC/D"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.registerUIRoutes = registerUIRoutes;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ function registerUIRoutes(fastify) {
10
+ // Resolve public dir relative to project root (works from both src/ and dist/)
11
+ const publicDir = path_1.default.join(__dirname, '..', '..', 'public');
12
+ function serveHtml(file) {
13
+ const filePath = path_1.default.join(publicDir, file);
14
+ return fs_1.default.readFileSync(filePath, 'utf-8');
15
+ }
16
+ fastify.get('/', async (_request, reply) => {
17
+ return reply.type('text/html').send(serveHtml('index.html'));
18
+ });
19
+ fastify.get('/projects/:id', async (_request, reply) => {
20
+ return reply.type('text/html').send(serveHtml('project.html'));
21
+ });
22
+ fastify.get('/agents/:id', async (_request, reply) => {
23
+ return reply.type('text/html').send(serveHtml('agent.html'));
24
+ });
25
+ fastify.get('/terminal', async (_request, reply) => {
26
+ return reply.type('text/html').send(serveHtml('terminal.html'));
27
+ });
28
+ fastify.get('/issues/:id', async (_request, reply) => {
29
+ return reply.type('text/html').send(serveHtml('issue.html'));
30
+ });
31
+ fastify.get('/projects/:pid/issues/:num', async (_request, reply) => {
32
+ return reply.type('text/html').send(serveHtml('issue.html'));
33
+ });
34
+ fastify.get('/admin/users', async (_request, reply) => {
35
+ return reply.type('text/html').send(serveHtml('admin-users.html'));
36
+ });
37
+ }
38
+ //# sourceMappingURL=ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.js","sourceRoot":"","sources":["../../src/routes/ui.ts"],"names":[],"mappings":";;;;;AAIA,4CAoCC;AAvCD,gDAAwB;AACxB,4CAAoB;AAEpB,SAAgB,gBAAgB,CAAC,OAAwB;IACvD,+EAA+E;IAC/E,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAE7D,SAAS,SAAS,CAAC,IAAY;QAC7B,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5C,OAAO,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACrD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACjD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACnD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QAClE,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,14 @@
1
+ import Database from 'better-sqlite3';
2
+ import { Agent } from '../types';
3
+ export type HierarchyAgent = Pick<Agent, 'id' | 'project_id' | 'name' | 'is_controller' | 'parent_agent_id'>;
4
+ export interface ParentAgentValidationResult {
5
+ parentAgent: HierarchyAgent | null;
6
+ error: string | null;
7
+ }
8
+ export declare function loadProjectHierarchyAgents(db: Database.Database, projectId: string): HierarchyAgent[];
9
+ export declare function getDirectChildAgents(agents: HierarchyAgent[], agentId: string): HierarchyAgent[];
10
+ export declare function getDirectChildIds(agents: HierarchyAgent[], agentId: string): string[];
11
+ export declare function wouldCreateHierarchyCycle(agents: HierarchyAgent[], agentId: string, candidateParentId: string): boolean;
12
+ export declare function validateParentAgentAssignment(db: Database.Database, projectId: string, parentAgentId?: string | null, agentId?: string): ParentAgentValidationResult;
13
+ export declare function canMessageDirectHierarchyOnly(db: Database.Database, fromAgent: Pick<Agent, 'id' | 'project_id' | 'is_controller' | 'parent_agent_id'>, toAgentId: string): boolean;
14
+ //# sourceMappingURL=agent-hierarchy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hierarchy.d.ts","sourceRoot":"","sources":["../../src/services/agent-hierarchy.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,YAAY,GAAG,MAAM,GAAG,eAAe,GAAG,iBAAiB,CAAC,CAAC;AAE7G,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAIrG;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,CAEhG;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAErF;AAED,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,cAAc,EAAE,EACxB,OAAO,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAYT;AAED,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,OAAO,CAAC,EAAE,MAAM,GACf,2BAA2B,CAqB7B;AAED,wBAAgB,6BAA6B,CAC3C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,SAAS,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,GAAG,YAAY,GAAG,eAAe,GAAG,iBAAiB,CAAC,EACjF,SAAS,EAAE,MAAM,GAChB,OAAO,CAWT"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadProjectHierarchyAgents = loadProjectHierarchyAgents;
4
+ exports.getDirectChildAgents = getDirectChildAgents;
5
+ exports.getDirectChildIds = getDirectChildIds;
6
+ exports.wouldCreateHierarchyCycle = wouldCreateHierarchyCycle;
7
+ exports.validateParentAgentAssignment = validateParentAgentAssignment;
8
+ exports.canMessageDirectHierarchyOnly = canMessageDirectHierarchyOnly;
9
+ function loadProjectHierarchyAgents(db, projectId) {
10
+ return db.prepare('SELECT id, project_id, name, is_controller, parent_agent_id FROM agents WHERE project_id = ?').all(projectId);
11
+ }
12
+ function getDirectChildAgents(agents, agentId) {
13
+ return agents.filter((agent) => agent.parent_agent_id === agentId);
14
+ }
15
+ function getDirectChildIds(agents, agentId) {
16
+ return getDirectChildAgents(agents, agentId).map((agent) => agent.id);
17
+ }
18
+ function wouldCreateHierarchyCycle(agents, agentId, candidateParentId) {
19
+ const byId = new Map(agents.map((agent) => [agent.id, agent]));
20
+ const visited = new Set();
21
+ let currentId = candidateParentId;
22
+ while (currentId && !visited.has(currentId)) {
23
+ if (currentId === agentId)
24
+ return true;
25
+ visited.add(currentId);
26
+ currentId = byId.get(currentId)?.parent_agent_id || null;
27
+ }
28
+ return false;
29
+ }
30
+ function validateParentAgentAssignment(db, projectId, parentAgentId, agentId) {
31
+ const normalizedParentId = typeof parentAgentId === 'string' ? parentAgentId.trim() : parentAgentId;
32
+ if (!normalizedParentId) {
33
+ return { parentAgent: null, error: null };
34
+ }
35
+ const agents = loadProjectHierarchyAgents(db, projectId);
36
+ const parentAgent = agents.find((agent) => agent.id === normalizedParentId) || null;
37
+ if (!parentAgent) {
38
+ return { parentAgent: null, error: 'Parent agent must belong to the same project' };
39
+ }
40
+ if (agentId && parentAgent.id === agentId) {
41
+ return { parentAgent: null, error: 'Agent cannot be its own parent' };
42
+ }
43
+ if (agentId && wouldCreateHierarchyCycle(agents, agentId, parentAgent.id)) {
44
+ return { parentAgent: null, error: 'Parent agent cannot be a descendant of this agent' };
45
+ }
46
+ return { parentAgent, error: null };
47
+ }
48
+ function canMessageDirectHierarchyOnly(db, fromAgent, toAgentId) {
49
+ if (fromAgent.is_controller || !fromAgent.parent_agent_id) {
50
+ return true;
51
+ }
52
+ const agents = loadProjectHierarchyAgents(db, fromAgent.project_id);
53
+ if (fromAgent.parent_agent_id === toAgentId) {
54
+ return true;
55
+ }
56
+ return getDirectChildIds(agents, fromAgent.id).includes(toAgentId);
57
+ }
58
+ //# sourceMappingURL=agent-hierarchy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-hierarchy.js","sourceRoot":"","sources":["../../src/services/agent-hierarchy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type Database from 'better-sqlite3';
2
+ import { Issue } from '../types';
3
+ export declare const MAX_ASSIGNED_ISSUES_PER_RUN = 2;
4
+ export interface AgentIssueBatch {
5
+ activeIssues: Issue[];
6
+ currentBatch: Issue[];
7
+ queuedIssues: Issue[];
8
+ }
9
+ export declare function getAgentIssueBatch(assignedIssues: Issue[], maxIssues?: number): AgentIssueBatch;
10
+ export declare function buildAssignedIssuesPrompt(batch: AgentIssueBatch, options?: {
11
+ bodyCharLimit?: number;
12
+ currentLabel?: string;
13
+ queuedLabel?: string;
14
+ stopInstruction?: string;
15
+ }): string;
16
+ export declare function markCurrentBatchInProgress(db: Database.Database, batch: AgentIssueBatch): void;
17
+ //# sourceMappingURL=agent-issue-batch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-issue-batch.d.ts","sourceRoot":"","sources":["../../src/services/agent-issue-batch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAE7C,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,YAAY,EAAE,KAAK,EAAE,CAAC;CACvB;AAiBD,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,SAAS,SAA8B,GAAG,eAAe,CAMpH;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE;IACR,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,MAAM,CAsBR;AAED,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI,CAW9F"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MAX_ASSIGNED_ISSUES_PER_RUN = void 0;
4
+ exports.getAgentIssueBatch = getAgentIssueBatch;
5
+ exports.buildAssignedIssuesPrompt = buildAssignedIssuesPrompt;
6
+ exports.markCurrentBatchInProgress = markCurrentBatchInProgress;
7
+ exports.MAX_ASSIGNED_ISSUES_PER_RUN = 2;
8
+ function compareIssues(a, b) {
9
+ if (a.priority !== b.priority)
10
+ return b.priority - a.priority;
11
+ if (a.created_at !== b.created_at)
12
+ return String(a.created_at).localeCompare(String(b.created_at));
13
+ return a.number - b.number;
14
+ }
15
+ function formatCurrentIssue(issue, bodyCharLimit) {
16
+ const body = (issue.body || '').slice(0, bodyCharLimit) || '(no description)';
17
+ return `#${issue.number} [${issue.status}] [p${issue.priority}] ${issue.title}: ${body}`;
18
+ }
19
+ function formatQueuedIssue(issue) {
20
+ return `#${issue.number} [${issue.status}] [p${issue.priority}] ${issue.title}`;
21
+ }
22
+ function getAgentIssueBatch(assignedIssues, maxIssues = exports.MAX_ASSIGNED_ISSUES_PER_RUN) {
23
+ const activeIssues = [...assignedIssues].sort(compareIssues);
24
+ const batchSize = Math.max(1, maxIssues);
25
+ const currentBatch = activeIssues.slice(0, batchSize);
26
+ const queuedIssues = activeIssues.slice(currentBatch.length);
27
+ return { activeIssues, currentBatch, queuedIssues };
28
+ }
29
+ function buildAssignedIssuesPrompt(batch, options) {
30
+ const bodyCharLimit = options?.bodyCharLimit ?? 200;
31
+ const currentLabel = options?.currentLabel ?? `Current batch (${batch.currentBatch.length}/${batch.activeIssues.length} assigned issue(s))`;
32
+ const queuedLabel = options?.queuedLabel ?? `Queued for later (${batch.queuedIssues.length} more assigned issue(s))`;
33
+ const stopInstruction = options?.stopInstruction
34
+ ?? 'Only work on the current batch in this run. When the current batch is complete, stop; Argus will restart you for the next batch if more assigned issues remain.';
35
+ const parts = [];
36
+ parts.push(currentLabel + ':\n' + batch.currentBatch.map((issue) => formatCurrentIssue(issue, bodyCharLimit)).join('\n'));
37
+ if (batch.queuedIssues.length > 0) {
38
+ const preview = batch.queuedIssues.slice(0, 5).map(formatQueuedIssue).join('\n');
39
+ const remainder = batch.queuedIssues.length - Math.min(batch.queuedIssues.length, 5);
40
+ const moreLine = remainder > 0 ? `\n... and ${remainder} more queued issue(s)` : '';
41
+ parts.push(queuedLabel + ':\n' + preview + moreLine);
42
+ }
43
+ if (stopInstruction) {
44
+ parts.push(stopInstruction);
45
+ }
46
+ return parts.join('\n\n');
47
+ }
48
+ function markCurrentBatchInProgress(db, batch) {
49
+ const openIds = batch.currentBatch
50
+ .filter((issue) => issue.status === 'open')
51
+ .map((issue) => issue.id);
52
+ if (openIds.length === 0)
53
+ return;
54
+ const placeholders = openIds.map(() => '?').join(', ');
55
+ db.prepare(`UPDATE issues SET status = 'in_progress', updated_at = datetime('now') WHERE id IN (${placeholders}) AND status = 'open'`).run(...openIds);
56
+ }
57
+ //# sourceMappingURL=agent-issue-batch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-issue-batch.js","sourceRoot":"","sources":["../../src/services/agent-issue-batch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Project } from '../types';
2
+ export declare function buildControllerTaskPrompt(project: Project, triggerIssueNumber?: number): string;
3
+ export declare function triggerControllerAgent(project: Project, skipActivityCheck?: boolean, triggerIssueNumber?: number): void;
4
+ //# sourceMappingURL=controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/services/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAS,OAAO,EAAS,MAAM,UAAU,CAAC;AA0DjD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,MAAM,CA6H/F;AA+BD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,UAAQ,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAwFrH"}