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.
- package/.claude/settings.local.json +28 -0
- package/dist/app.d.ts +10 -0
- package/dist/app.d.ts.map +1 -0
- package/dist/app.js +121 -0
- package/dist/app.js.map +1 -0
- package/dist/config.d.ts +9 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +19 -0
- package/dist/config.js.map +1 -0
- package/dist/db/database.d.ts +5 -0
- package/dist/db/database.d.ts.map +1 -0
- package/dist/db/database.js +39 -0
- package/dist/db/database.js.map +1 -0
- package/dist/db/schema.d.ts +3 -0
- package/dist/db/schema.d.ts.map +1 -0
- package/dist/db/schema.js +621 -0
- package/dist/db/schema.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +49 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +4 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +9 -0
- package/dist/logger.js.map +1 -0
- package/dist/middleware/auth.d.ts +13 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +733 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/routes/agents.d.ts +3 -0
- package/dist/routes/agents.d.ts.map +1 -0
- package/dist/routes/agents.js +1058 -0
- package/dist/routes/agents.js.map +1 -0
- package/dist/routes/issues.d.ts +4 -0
- package/dist/routes/issues.d.ts.map +1 -0
- package/dist/routes/issues.js +946 -0
- package/dist/routes/issues.js.map +1 -0
- package/dist/routes/knowledge.d.ts +3 -0
- package/dist/routes/knowledge.d.ts.map +1 -0
- package/dist/routes/knowledge.js +117 -0
- package/dist/routes/knowledge.js.map +1 -0
- package/dist/routes/memories.d.ts +3 -0
- package/dist/routes/memories.d.ts.map +1 -0
- package/dist/routes/memories.js +115 -0
- package/dist/routes/memories.js.map +1 -0
- package/dist/routes/messages.d.ts +3 -0
- package/dist/routes/messages.d.ts.map +1 -0
- package/dist/routes/messages.js +130 -0
- package/dist/routes/messages.js.map +1 -0
- package/dist/routes/projects.d.ts +3 -0
- package/dist/routes/projects.d.ts.map +1 -0
- package/dist/routes/projects.js +754 -0
- package/dist/routes/projects.js.map +1 -0
- package/dist/routes/templates.d.ts +3 -0
- package/dist/routes/templates.d.ts.map +1 -0
- package/dist/routes/templates.js +117 -0
- package/dist/routes/templates.js.map +1 -0
- package/dist/routes/ui.d.ts +3 -0
- package/dist/routes/ui.d.ts.map +1 -0
- package/dist/routes/ui.js +38 -0
- package/dist/routes/ui.js.map +1 -0
- package/dist/services/agent-hierarchy.d.ts +14 -0
- package/dist/services/agent-hierarchy.d.ts.map +1 -0
- package/dist/services/agent-hierarchy.js +58 -0
- package/dist/services/agent-hierarchy.js.map +1 -0
- package/dist/services/agent-issue-batch.d.ts +17 -0
- package/dist/services/agent-issue-batch.d.ts.map +1 -0
- package/dist/services/agent-issue-batch.js +57 -0
- package/dist/services/agent-issue-batch.js.map +1 -0
- package/dist/services/controller.d.ts +4 -0
- package/dist/services/controller.d.ts.map +1 -0
- package/dist/services/controller.js +237 -0
- package/dist/services/controller.js.map +1 -0
- package/dist/services/langgraph-runner.d.ts +33 -0
- package/dist/services/langgraph-runner.d.ts.map +1 -0
- package/dist/services/langgraph-runner.js +478 -0
- package/dist/services/langgraph-runner.js.map +1 -0
- package/dist/services/orchestrator.d.ts +9 -0
- package/dist/services/orchestrator.d.ts.map +1 -0
- package/dist/services/orchestrator.js +116 -0
- package/dist/services/orchestrator.js.map +1 -0
- package/dist/services/pre-controller.d.ts +7 -0
- package/dist/services/pre-controller.d.ts.map +1 -0
- package/dist/services/pre-controller.js +101 -0
- package/dist/services/pre-controller.js.map +1 -0
- package/dist/services/process-manager.d.ts +67 -0
- package/dist/services/process-manager.d.ts.map +1 -0
- package/dist/services/process-manager.js +938 -0
- package/dist/services/process-manager.js.map +1 -0
- package/dist/services/project-permissions.d.ts +84 -0
- package/dist/services/project-permissions.d.ts.map +1 -0
- package/dist/services/project-permissions.js +129 -0
- package/dist/services/project-permissions.js.map +1 -0
- package/dist/services/scheduler.d.ts +6 -0
- package/dist/services/scheduler.d.ts.map +1 -0
- package/dist/services/scheduler.js +300 -0
- package/dist/services/scheduler.js.map +1 -0
- package/dist/services/system-prompt.d.ts +3 -0
- package/dist/services/system-prompt.d.ts.map +1 -0
- package/dist/services/system-prompt.js +285 -0
- package/dist/services/system-prompt.js.map +1 -0
- package/dist/services/terminal.d.ts +18 -0
- package/dist/services/terminal.d.ts.map +1 -0
- package/dist/services/terminal.js +222 -0
- package/dist/services/terminal.js.map +1 -0
- package/dist/services/websocket.d.ts +15 -0
- package/dist/services/websocket.d.ts.map +1 -0
- package/dist/services/websocket.js +204 -0
- package/dist/services/websocket.js.map +1 -0
- package/dist/types.d.ts +108 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/env.ini +18 -0
- package/package.json +38 -0
- package/project_id +0 -0
- package/public/admin-users.html +188 -0
- package/public/agent.html +199 -0
- package/public/css/issues.css +275 -0
- package/public/css/style.css +1299 -0
- package/public/index.html +166 -0
- package/public/issue.html +76 -0
- package/public/js/agent.js +19 -0
- package/public/js/common.js +735 -0
- package/public/js/dashboard.js +772 -0
- package/public/js/files-panel.js +703 -0
- package/public/js/interactive-terminal.js +201 -0
- package/public/js/issue-renderer.js +559 -0
- package/public/js/issue.js +57 -0
- package/public/js/project.js +2425 -0
- package/public/js/terminal.js +564 -0
- package/public/project.html +430 -0
- package/public/terminal.html +67 -0
- package/public/vendor/marked.js +74 -0
- package/public/vendor/xterm-addon-fit.js +2 -0
- package/public/vendor/xterm.css +209 -0
- package/public/vendor/xterm.js +2 -0
- package/send_message_and_update_issue.js +65 -0
- package/tsconfig.json +19 -0
- 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 @@
|
|
|
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 @@
|
|
|
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":";;AAUA,gEAIC;AAED,oDAEC;AAED,8CAEC;AAED,8DAgBC;AAED,sEA0BC;AAED,sEAeC;AA3ED,SAAgB,0BAA0B,CAAC,EAAqB,EAAE,SAAiB;IACjF,OAAO,EAAE,CAAC,OAAO,CACf,8FAA8F,CAC/F,CAAC,GAAG,CAAC,SAAS,CAAqB,CAAC;AACvC,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAwB,EAAE,OAAe;IAC5E,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAwB,EAAE,OAAe;IACzE,OAAO,oBAAoB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,SAAgB,yBAAyB,CACvC,MAAwB,EACxB,OAAe,EACf,iBAAyB;IAEzB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,IAAI,SAAS,GAAkB,iBAAiB,CAAC;IAEjD,OAAO,SAAS,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5C,IAAI,SAAS,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,eAAe,IAAI,IAAI,CAAC;IAC3D,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,6BAA6B,CAC3C,EAAqB,EACrB,SAAiB,EACjB,aAA6B,EAC7B,OAAgB;IAEhB,MAAM,kBAAkB,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;IACpG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,kBAAkB,CAAC,IAAI,IAAI,CAAC;IACpF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,8CAA8C,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,OAAO,IAAI,WAAW,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,gCAAgC,EAAE,CAAC;IACxE,CAAC;IAED,IAAI,OAAO,IAAI,yBAAyB,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC;QAC1E,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,mDAAmD,EAAE,CAAC;IAC3F,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,SAAgB,6BAA6B,CAC3C,EAAqB,EACrB,SAAiF,EACjF,SAAiB;IAEjB,IAAI,SAAS,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,0BAA0B,CAAC,EAAE,EAAE,SAAS,CAAC,UAAU,CAAC,CAAC;IACpE,IAAI,SAAS,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,iBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACrE,CAAC"}
|
|
@@ -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"}
|