agent-tower 0.4.16-beta.0 → 0.4.16-beta.4
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/dist/app.test.js +2 -0
- package/dist/app.test.js.map +1 -1
- package/dist/git/git-cli.d.ts +18 -1
- package/dist/git/git-cli.d.ts.map +1 -1
- package/dist/git/git-cli.js +17 -1
- package/dist/git/git-cli.js.map +1 -1
- package/dist/git/worktree.manager.d.ts +29 -2
- package/dist/git/worktree.manager.d.ts.map +1 -1
- package/dist/git/worktree.manager.js +137 -16
- package/dist/git/worktree.manager.js.map +1 -1
- package/dist/git/worktree.manager.test.d.ts +2 -0
- package/dist/git/worktree.manager.test.d.ts.map +1 -0
- package/dist/git/worktree.manager.test.js +104 -0
- package/dist/git/worktree.manager.test.js.map +1 -0
- package/dist/mcp/http-client.d.ts +5 -1
- package/dist/mcp/http-client.d.ts.map +1 -1
- package/dist/mcp/http-client.js +13 -3
- package/dist/mcp/http-client.js.map +1 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +33 -3
- package/dist/mcp/server.js.map +1 -1
- package/dist/middleware/tunnel-auth.d.ts.map +1 -1
- package/dist/middleware/tunnel-auth.js +2 -0
- package/dist/middleware/tunnel-auth.js.map +1 -1
- package/dist/output/__tests__/codex-parser.test.d.ts +2 -0
- package/dist/output/__tests__/codex-parser.test.d.ts.map +1 -0
- package/dist/output/__tests__/codex-parser.test.js +148 -0
- package/dist/output/__tests__/codex-parser.test.js.map +1 -0
- package/dist/output/codex-parser.d.ts +12 -0
- package/dist/output/codex-parser.d.ts.map +1 -1
- package/dist/output/codex-parser.js +129 -12
- package/dist/output/codex-parser.js.map +1 -1
- package/dist/routes/__tests__/attachments.test.d.ts +2 -0
- package/dist/routes/__tests__/attachments.test.d.ts.map +1 -0
- package/dist/routes/__tests__/attachments.test.js +86 -0
- package/dist/routes/__tests__/attachments.test.js.map +1 -0
- package/dist/routes/__tests__/filesystem.test.d.ts +2 -0
- package/dist/routes/__tests__/filesystem.test.d.ts.map +1 -0
- package/dist/routes/__tests__/filesystem.test.js +80 -0
- package/dist/routes/__tests__/filesystem.test.js.map +1 -0
- package/dist/routes/__tests__/previews.test.d.ts +2 -0
- package/dist/routes/__tests__/previews.test.d.ts.map +1 -0
- package/dist/routes/__tests__/previews.test.js +89 -0
- package/dist/routes/__tests__/previews.test.js.map +1 -0
- package/dist/routes/__tests__/tasks.test.d.ts +2 -0
- package/dist/routes/__tests__/tasks.test.d.ts.map +1 -0
- package/dist/routes/__tests__/tasks.test.js +72 -0
- package/dist/routes/__tests__/tasks.test.js.map +1 -0
- package/dist/routes/attachments.d.ts.map +1 -1
- package/dist/routes/attachments.js +36 -16
- package/dist/routes/attachments.js.map +1 -1
- package/dist/routes/filesystem.d.ts.map +1 -1
- package/dist/routes/filesystem.js +24 -3
- package/dist/routes/filesystem.js.map +1 -1
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/index.js +3 -0
- package/dist/routes/index.js.map +1 -1
- package/dist/routes/previews.d.ts +6 -0
- package/dist/routes/previews.d.ts.map +1 -0
- package/dist/routes/previews.js +413 -0
- package/dist/routes/previews.js.map +1 -0
- package/dist/routes/projects.d.ts.map +1 -1
- package/dist/routes/projects.js +1 -0
- package/dist/routes/projects.js.map +1 -1
- package/dist/routes/tasks.js +2 -2
- package/dist/routes/tasks.js.map +1 -1
- package/dist/routes/team-runs.d.ts.map +1 -1
- package/dist/routes/team-runs.js +36 -9
- package/dist/routes/team-runs.js.map +1 -1
- package/dist/routes/tunnel.d.ts.map +1 -1
- package/dist/routes/tunnel.js +20 -0
- package/dist/routes/tunnel.js.map +1 -1
- package/dist/routes/workspaces.d.ts.map +1 -1
- package/dist/routes/workspaces.js +15 -1
- package/dist/routes/workspaces.js.map +1 -1
- package/dist/services/__tests__/preview.service.test.d.ts +2 -0
- package/dist/services/__tests__/preview.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/preview.service.test.js +29 -0
- package/dist/services/__tests__/preview.service.test.js.map +1 -0
- package/dist/services/__tests__/task.service.test.d.ts +2 -0
- package/dist/services/__tests__/task.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/task.service.test.js +65 -0
- package/dist/services/__tests__/task.service.test.js.map +1 -0
- package/dist/services/__tests__/team-reconciler.service.test.js +720 -28
- package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
- package/dist/services/__tests__/team-run.service.test.js +416 -0
- package/dist/services/__tests__/team-run.service.test.js.map +1 -1
- package/dist/services/__tests__/team-scheduler.service.test.js +680 -26
- package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
- package/dist/services/__tests__/tunnel.service.test.d.ts +2 -0
- package/dist/services/__tests__/tunnel.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/tunnel.service.test.js +138 -0
- package/dist/services/__tests__/tunnel.service.test.js.map +1 -0
- package/dist/services/__tests__/workspace.service.test.d.ts +2 -0
- package/dist/services/__tests__/workspace.service.test.d.ts.map +1 -0
- package/dist/services/__tests__/workspace.service.test.js +695 -0
- package/dist/services/__tests__/workspace.service.test.js.map +1 -0
- package/dist/services/attachment-context.d.ts +3 -0
- package/dist/services/attachment-context.d.ts.map +1 -0
- package/dist/services/attachment-context.js +34 -0
- package/dist/services/attachment-context.js.map +1 -0
- package/dist/services/preview.service.d.ts +19 -0
- package/dist/services/preview.service.d.ts.map +1 -0
- package/dist/services/preview.service.js +147 -0
- package/dist/services/preview.service.js.map +1 -0
- package/dist/services/project.service.d.ts +2 -0
- package/dist/services/project.service.d.ts.map +1 -1
- package/dist/services/project.service.js +87 -18
- package/dist/services/project.service.js.map +1 -1
- package/dist/services/session-manager.d.ts +12 -0
- package/dist/services/session-manager.d.ts.map +1 -1
- package/dist/services/task.service.d.ts +6 -0
- package/dist/services/task.service.d.ts.map +1 -1
- package/dist/services/task.service.js +15 -3
- package/dist/services/task.service.js.map +1 -1
- package/dist/services/team-lock.service.d.ts +3 -0
- package/dist/services/team-lock.service.d.ts.map +1 -1
- package/dist/services/team-lock.service.js +11 -0
- package/dist/services/team-lock.service.js.map +1 -1
- package/dist/services/team-run.service.d.ts +34 -1
- package/dist/services/team-run.service.d.ts.map +1 -1
- package/dist/services/team-run.service.js +370 -30
- package/dist/services/team-run.service.js.map +1 -1
- package/dist/services/team-scheduler.service.d.ts +22 -1
- package/dist/services/team-scheduler.service.d.ts.map +1 -1
- package/dist/services/team-scheduler.service.js +148 -33
- package/dist/services/team-scheduler.service.js.map +1 -1
- package/dist/services/tunnel.service.d.ts +31 -5
- package/dist/services/tunnel.service.d.ts.map +1 -1
- package/dist/services/tunnel.service.js +293 -32
- package/dist/services/tunnel.service.js.map +1 -1
- package/dist/services/workspace.service.d.ts +161 -7
- package/dist/services/workspace.service.d.ts.map +1 -1
- package/dist/services/workspace.service.js +396 -51
- package/dist/services/workspace.service.js.map +1 -1
- package/dist/web/assets/{AgentDemoPage-p9YI4_l4.js → AgentDemoPage-BhDnxdmh.js} +1 -1
- package/dist/web/assets/{DemoPage-B5DTSEbS.js → DemoPage-CJBc0NZf.js} +1 -1
- package/dist/web/assets/{GeneralSettingsPage-Cspr7Vol.js → GeneralSettingsPage-CEjDPmtD.js} +1 -1
- package/dist/web/assets/MemberAvatar-DxRCLAoK.js +1 -0
- package/dist/web/assets/NotificationSettingsPage-i77lmSic.js +1 -0
- package/dist/web/assets/{ProfileSettingsPage-CNugU40a.js → ProfileSettingsPage-DcGLD5O-.js} +1 -1
- package/dist/web/assets/ProjectKanbanPage-CX-NY7hx.js +89 -0
- package/dist/web/assets/ProjectSettingsPage-BBfroQPA.js +2 -0
- package/dist/web/assets/{ProviderSettingsPage-D_KWkgRM.js → ProviderSettingsPage-BdxbO1E9.js} +12 -12
- package/dist/web/assets/TeamSettingsPage-CTWGO79W.js +1 -0
- package/dist/web/assets/agent-tower-logo-COx9gy77.png +0 -0
- package/dist/web/assets/{button-B6JaSbDB.js → button-RDdre_kF.js} +1 -1
- package/dist/web/assets/{chevron-down-CACy4UFq.js → chevron-down-Cfeapk0v.js} +1 -1
- package/dist/web/assets/{chevron-right-DFWfnDJY.js → chevron-right-BE6LVCii.js} +1 -1
- package/dist/web/assets/{chevron-up-CGlf6jzw.js → chevron-up-CEEz4jJv.js} +1 -1
- package/dist/web/assets/{circle-check-DMK8auwb.js → circle-check-0imI5gEL.js} +1 -1
- package/dist/web/assets/{code-block-OCS4YCEC-Hn75KHRK.js → code-block-OCS4YCEC-D4c9zDcq.js} +1 -1
- package/dist/web/assets/{confirm-dialog-DHI2f7Ni.js → confirm-dialog--HDqEa-R.js} +1 -1
- package/dist/web/assets/folder-picker-CKfogW-o.js +1 -0
- package/dist/web/assets/index-BHmOCKAn.css +1 -0
- package/dist/web/assets/{index-BFAA3PTl.js → index-DbGCpy8E.js} +9 -9
- package/dist/web/assets/loader-circle-BAUFMewp.js +1 -0
- package/dist/web/assets/{log-adapter-CeKrvZcz.js → log-adapter-DKKM3sxS.js} +1 -1
- package/dist/web/assets/{mermaid-NOHMQCX5-DJFgrXPd.js → mermaid-NOHMQCX5-BkaKG_2K.js} +4 -4
- package/dist/web/assets/{modal-B5IRN7QI.js → modal-3rdeMVPn.js} +1 -1
- package/dist/web/assets/{pencil-CJY6Ahn7.js → pencil-CqWv0WcO.js} +1 -1
- package/dist/web/assets/{select-BPZZlla1.js → select-DHVfUr22.js} +1 -1
- package/dist/web/assets/upload-D3aqtSCY.js +1 -0
- package/dist/web/assets/{use-profiles-C2k04ICZ.js → use-profiles-BznmWvqM.js} +1 -1
- package/dist/web/assets/{use-providers-C7fIDWzP.js → use-providers-DIHUIuEZ.js} +1 -1
- package/dist/web/avatars/presets/avatar-preset-01-developer.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-02-architect.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-03-tester.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-04-devops.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-05-data-scientist.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-06-frontend.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-07-backend.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-08-security.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-09-project-manager.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-10-product-manager.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-11-scrum-master.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-12-tech-lead.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-13-coordinator.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-14-mentor.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-15-reviewer.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-16-ui-designer.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-17-ux-researcher.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-18-documenter.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-19-translator.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-20-analyst.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-21-consultant.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-22-creative-director.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-23-support.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-24-assistant.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-25-robot.png +0 -0
- package/dist/web/avatars/presets/avatar-preset-grid.png +0 -0
- package/dist/web/index.html +2 -2
- package/node_modules/@agent-tower/shared/dist/types.d.ts +13 -1
- package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
- package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
- package/node_modules/@prisma/client/.prisma/client/edge.js +11 -5
- package/node_modules/@prisma/client/.prisma/client/index-browser.js +6 -0
- package/node_modules/@prisma/client/.prisma/client/index.d.ts +1309 -14
- package/node_modules/@prisma/client/.prisma/client/index.js +11 -5
- package/node_modules/@prisma/client/.prisma/client/package.json +1 -1
- package/node_modules/@prisma/client/.prisma/client/schema.prisma +70 -52
- package/node_modules/@prisma/client/.prisma/client/wasm.js +6 -0
- package/package.json +1 -1
- package/prisma/migrations/20260515000000_add_workspace_preview_target/migration.sql +2 -0
- package/prisma/migrations/20260526000000_add_team_run_main_and_dedicated_workspaces/migration.sql +21 -0
- package/prisma/migrations/20260529000000_add_team_member_queue_management_policy/migration.sql +2 -0
- package/prisma/schema.prisma +29 -11
- package/dist/web/assets/NotificationSettingsPage-C9VfrRr-.js +0 -1
- package/dist/web/assets/ProjectKanbanPage-CkGNuqxq.js +0 -87
- package/dist/web/assets/ProjectSettingsPage-f1dg0XMf.js +0 -2
- package/dist/web/assets/TeamSettingsPage-B6WciZyi.js +0 -1
- package/dist/web/assets/circle-alert-BSAUEd9O.js +0 -1
- package/dist/web/assets/folder-picker-CtQkbWfa.js +0 -1
- package/dist/web/assets/index-mBCb67dB.css +0 -1
- package/dist/web/assets/loader-circle-CkDnf8ST.js +0 -1
- package/dist/web/assets/use-projects-BxuE-ulT.js +0 -1
|
@@ -35,6 +35,7 @@ function presetInput(name, aliases = [name.toLowerCase()]) {
|
|
|
35
35
|
workspacePolicy: 'dedicated',
|
|
36
36
|
triggerPolicy: 'MENTION_ONLY',
|
|
37
37
|
sessionPolicy: 'new_per_request',
|
|
38
|
+
queueManagementPolicy: 'own_only',
|
|
38
39
|
avatar: null,
|
|
39
40
|
};
|
|
40
41
|
}
|
|
@@ -93,6 +94,7 @@ describe('TeamRunService', () => {
|
|
|
93
94
|
expect(preset.aliases).toEqual(['reviewer', 'review']);
|
|
94
95
|
expect(preset.capabilities).toEqual(capabilities);
|
|
95
96
|
expect(preset.sessionPolicy).toBe('new_per_request');
|
|
97
|
+
expect(preset.queueManagementPolicy).toBe('own_only');
|
|
96
98
|
});
|
|
97
99
|
it('preserves session policy in MemberPreset and TeamMember snapshots', async () => {
|
|
98
100
|
const preset = await service.createMemberPreset({
|
|
@@ -125,6 +127,39 @@ describe('TeamRunService', () => {
|
|
|
125
127
|
name: 'Reviewer',
|
|
126
128
|
});
|
|
127
129
|
});
|
|
130
|
+
it('preserves repeated MemberPresets in TeamTemplate members', async () => {
|
|
131
|
+
const preset = await service.createMemberPreset(presetInput('Implementer', ['impl']));
|
|
132
|
+
const template = await service.createTeamTemplate({
|
|
133
|
+
name: 'Parallel implementers',
|
|
134
|
+
memberPresetIds: [preset.id, preset.id, preset.id],
|
|
135
|
+
});
|
|
136
|
+
expect(template.members).toHaveLength(3);
|
|
137
|
+
expect(template.members?.map((member) => member.memberPresetId)).toEqual([preset.id, preset.id, preset.id]);
|
|
138
|
+
expect(template.members?.map((member) => member.position)).toEqual([0, 1, 2]);
|
|
139
|
+
expect(template.members?.map((member) => member.memberPreset?.name)).toEqual([
|
|
140
|
+
'Implementer',
|
|
141
|
+
'Implementer',
|
|
142
|
+
'Implementer',
|
|
143
|
+
]);
|
|
144
|
+
});
|
|
145
|
+
it('updates TeamTemplate members with repeated MemberPresets in order', async () => {
|
|
146
|
+
const first = await service.createMemberPreset(presetInput('Implementer', ['impl']));
|
|
147
|
+
const second = await service.createMemberPreset(presetInput('Reviewer', ['review']));
|
|
148
|
+
const template = await service.createTeamTemplate({
|
|
149
|
+
name: 'Initial team',
|
|
150
|
+
memberPresetIds: [second.id],
|
|
151
|
+
});
|
|
152
|
+
const updated = await service.updateTeamTemplate(template.id, {
|
|
153
|
+
memberPresetIds: [first.id, second.id, first.id],
|
|
154
|
+
});
|
|
155
|
+
expect(updated.members).toHaveLength(3);
|
|
156
|
+
expect(updated.members?.map((member) => member.memberPresetId)).toEqual([
|
|
157
|
+
first.id,
|
|
158
|
+
second.id,
|
|
159
|
+
first.id,
|
|
160
|
+
]);
|
|
161
|
+
expect(updated.members?.map((member) => member.position)).toEqual([0, 1, 2]);
|
|
162
|
+
});
|
|
128
163
|
it('creates TeamMember snapshots from multiple MemberPresets', async () => {
|
|
129
164
|
const first = await service.createMemberPreset(presetInput('Planner', ['planner']));
|
|
130
165
|
const second = await service.createMemberPreset(presetInput('Coder', ['coder']));
|
|
@@ -137,6 +172,57 @@ describe('TeamRunService', () => {
|
|
|
137
172
|
expect(teamRun.members?.map((member) => member.name)).toEqual(['Planner', 'Coder']);
|
|
138
173
|
expect(teamRun.members?.map((member) => member.presetId)).toEqual([first.id, second.id]);
|
|
139
174
|
});
|
|
175
|
+
it('creates stable instance names when the same MemberPreset is selected more than once', async () => {
|
|
176
|
+
const preset = await service.createMemberPreset(presetInput('Implementer', ['impl']));
|
|
177
|
+
const task = await createTask();
|
|
178
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
179
|
+
mode: 'AUTO',
|
|
180
|
+
memberPresetIds: [preset.id, preset.id, preset.id],
|
|
181
|
+
});
|
|
182
|
+
expect(teamRun.members).toHaveLength(3);
|
|
183
|
+
expect(teamRun.members?.map((member) => member.name)).toEqual([
|
|
184
|
+
'Implementer #1',
|
|
185
|
+
'Implementer #2',
|
|
186
|
+
'Implementer #3',
|
|
187
|
+
]);
|
|
188
|
+
expect(teamRun.members?.map((member) => member.presetId)).toEqual([preset.id, preset.id, preset.id]);
|
|
189
|
+
expect(teamRun.members?.map((member) => member.aliases)).toEqual([['impl'], ['impl'], ['impl']]);
|
|
190
|
+
});
|
|
191
|
+
it('creates stable instance names for repeated explicit TeamRun members', async () => {
|
|
192
|
+
const task = await createTask();
|
|
193
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
194
|
+
mode: 'AUTO',
|
|
195
|
+
members: [
|
|
196
|
+
presetInput('Implementer', ['impl']),
|
|
197
|
+
presetInput('Implementer', ['impl']),
|
|
198
|
+
],
|
|
199
|
+
});
|
|
200
|
+
expect(teamRun.members).toHaveLength(2);
|
|
201
|
+
expect(teamRun.members?.map((member) => member.name)).toEqual([
|
|
202
|
+
'Implementer #1',
|
|
203
|
+
'Implementer #2',
|
|
204
|
+
]);
|
|
205
|
+
expect(teamRun.members?.map((member) => member.presetId)).toEqual([null, null]);
|
|
206
|
+
});
|
|
207
|
+
it('creates stable instance names across TeamTemplate and explicit MemberPreset duplicates', async () => {
|
|
208
|
+
const preset = await service.createMemberPreset(presetInput('Implementer', ['impl']));
|
|
209
|
+
const task = await createTask();
|
|
210
|
+
const template = await service.createTeamTemplate({
|
|
211
|
+
name: 'Three implementers',
|
|
212
|
+
memberPresetIds: [preset.id, preset.id],
|
|
213
|
+
});
|
|
214
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
215
|
+
mode: 'AUTO',
|
|
216
|
+
teamTemplateId: template.id,
|
|
217
|
+
memberPresetIds: [preset.id],
|
|
218
|
+
});
|
|
219
|
+
expect(teamRun.members).toHaveLength(3);
|
|
220
|
+
expect(teamRun.members?.map((member) => member.name)).toEqual([
|
|
221
|
+
'Implementer #1',
|
|
222
|
+
'Implementer #2',
|
|
223
|
+
'Implementer #3',
|
|
224
|
+
]);
|
|
225
|
+
});
|
|
140
226
|
it('keeps TeamMember snapshots unchanged after updating a MemberPreset', async () => {
|
|
141
227
|
const preset = await service.createMemberPreset(presetInput('Implementer', ['impl']));
|
|
142
228
|
const task = await createTask();
|
|
@@ -225,6 +311,282 @@ describe('TeamRunService', () => {
|
|
|
225
311
|
status: 'PENDING_APPROVAL',
|
|
226
312
|
});
|
|
227
313
|
});
|
|
314
|
+
it('derives TeamMember status from active invocations and open WorkRequests', async () => {
|
|
315
|
+
const runningPreset = await service.createMemberPreset(presetInput('Runner'));
|
|
316
|
+
const pendingPreset = await service.createMemberPreset(presetInput('Pending'));
|
|
317
|
+
const queuedPreset = await service.createMemberPreset(presetInput('Queued'));
|
|
318
|
+
const task = await createTask();
|
|
319
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
320
|
+
mode: 'CONFIRM',
|
|
321
|
+
memberPresetIds: [runningPreset.id, pendingPreset.id, queuedPreset.id],
|
|
322
|
+
});
|
|
323
|
+
const [runningMember, pendingMember, queuedMember] = teamRun.members ?? [];
|
|
324
|
+
expect(runningMember).toBeDefined();
|
|
325
|
+
expect(pendingMember).toBeDefined();
|
|
326
|
+
expect(queuedMember).toBeDefined();
|
|
327
|
+
const workspace = await prisma.workspace.create({
|
|
328
|
+
data: {
|
|
329
|
+
taskId: task.id,
|
|
330
|
+
branchName: 'team-shared-status',
|
|
331
|
+
worktreePath: testDir,
|
|
332
|
+
status: 'ACTIVE',
|
|
333
|
+
},
|
|
334
|
+
});
|
|
335
|
+
const runningRequest = await prisma.workRequest.create({
|
|
336
|
+
data: {
|
|
337
|
+
teamRunId: teamRun.id,
|
|
338
|
+
requesterMemberId: null,
|
|
339
|
+
requesterType: 'user',
|
|
340
|
+
targetMemberId: runningMember.id,
|
|
341
|
+
triggerMessageId: 'running-trigger',
|
|
342
|
+
instruction: 'Running work',
|
|
343
|
+
status: 'STARTED',
|
|
344
|
+
},
|
|
345
|
+
});
|
|
346
|
+
await prisma.agentInvocation.create({
|
|
347
|
+
data: {
|
|
348
|
+
teamRunId: teamRun.id,
|
|
349
|
+
workRequestId: runningRequest.id,
|
|
350
|
+
memberId: runningMember.id,
|
|
351
|
+
workspaceId: workspace.id,
|
|
352
|
+
sessionId: null,
|
|
353
|
+
status: 'RUNNING',
|
|
354
|
+
},
|
|
355
|
+
});
|
|
356
|
+
await prisma.workRequest.create({
|
|
357
|
+
data: {
|
|
358
|
+
teamRunId: teamRun.id,
|
|
359
|
+
requesterMemberId: null,
|
|
360
|
+
requesterType: 'user',
|
|
361
|
+
targetMemberId: pendingMember.id,
|
|
362
|
+
triggerMessageId: 'pending-trigger',
|
|
363
|
+
instruction: 'Pending work',
|
|
364
|
+
status: 'PENDING_APPROVAL',
|
|
365
|
+
},
|
|
366
|
+
});
|
|
367
|
+
await prisma.workRequest.create({
|
|
368
|
+
data: {
|
|
369
|
+
teamRunId: teamRun.id,
|
|
370
|
+
requesterMemberId: null,
|
|
371
|
+
requesterType: 'user',
|
|
372
|
+
targetMemberId: queuedMember.id,
|
|
373
|
+
triggerMessageId: 'queued-trigger',
|
|
374
|
+
instruction: 'Queued work',
|
|
375
|
+
status: 'QUEUED',
|
|
376
|
+
},
|
|
377
|
+
});
|
|
378
|
+
const members = await service.listTeamMembers(teamRun.id);
|
|
379
|
+
const statuses = new Map(members.map((member) => [member.id, member.status]));
|
|
380
|
+
expect(statuses.get(runningMember.id)).toBe('RUNNING');
|
|
381
|
+
expect(statuses.get(pendingMember.id)).toBe('PENDING_APPROVAL');
|
|
382
|
+
expect(statuses.get(queuedMember.id)).toBe('QUEUED');
|
|
383
|
+
});
|
|
384
|
+
it('lists only current member pending and queued WorkRequests by default', async () => {
|
|
385
|
+
const firstPreset = await service.createMemberPreset(presetInput('First'));
|
|
386
|
+
const secondPreset = await service.createMemberPreset(presetInput('Second'));
|
|
387
|
+
const task = await createTask();
|
|
388
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
389
|
+
mode: 'AUTO',
|
|
390
|
+
memberPresetIds: [firstPreset.id, secondPreset.id],
|
|
391
|
+
});
|
|
392
|
+
const [firstMember, secondMember] = teamRun.members ?? [];
|
|
393
|
+
expect(firstMember).toBeDefined();
|
|
394
|
+
expect(secondMember).toBeDefined();
|
|
395
|
+
const firstMessage = await prisma.roomMessage.create({
|
|
396
|
+
data: {
|
|
397
|
+
teamRunId: teamRun.id,
|
|
398
|
+
senderType: 'user',
|
|
399
|
+
senderId: null,
|
|
400
|
+
senderInvocationId: null,
|
|
401
|
+
kind: 'chat',
|
|
402
|
+
content: 'First queued request\n\nwith more context',
|
|
403
|
+
mentions: '[]',
|
|
404
|
+
workRequestIds: '[]',
|
|
405
|
+
artifactRefs: '[]',
|
|
406
|
+
attachmentIds: '[]',
|
|
407
|
+
},
|
|
408
|
+
});
|
|
409
|
+
const secondMessage = await prisma.roomMessage.create({
|
|
410
|
+
data: {
|
|
411
|
+
teamRunId: teamRun.id,
|
|
412
|
+
senderType: 'user',
|
|
413
|
+
senderId: null,
|
|
414
|
+
senderInvocationId: null,
|
|
415
|
+
kind: 'chat',
|
|
416
|
+
content: 'Second queued request',
|
|
417
|
+
mentions: '[]',
|
|
418
|
+
workRequestIds: '[]',
|
|
419
|
+
artifactRefs: '[]',
|
|
420
|
+
attachmentIds: '[]',
|
|
421
|
+
},
|
|
422
|
+
});
|
|
423
|
+
const firstQueued = await prisma.workRequest.create({
|
|
424
|
+
data: {
|
|
425
|
+
teamRunId: teamRun.id,
|
|
426
|
+
requesterMemberId: null,
|
|
427
|
+
requesterType: 'user',
|
|
428
|
+
targetMemberId: firstMember.id,
|
|
429
|
+
triggerMessageId: firstMessage.id,
|
|
430
|
+
instruction: 'First queued request',
|
|
431
|
+
status: 'QUEUED',
|
|
432
|
+
},
|
|
433
|
+
});
|
|
434
|
+
await prisma.workRequest.create({
|
|
435
|
+
data: {
|
|
436
|
+
teamRunId: teamRun.id,
|
|
437
|
+
requesterMemberId: null,
|
|
438
|
+
requesterType: 'user',
|
|
439
|
+
targetMemberId: firstMember.id,
|
|
440
|
+
triggerMessageId: firstMessage.id,
|
|
441
|
+
instruction: 'Started request',
|
|
442
|
+
status: 'STARTED',
|
|
443
|
+
},
|
|
444
|
+
});
|
|
445
|
+
await prisma.workRequest.create({
|
|
446
|
+
data: {
|
|
447
|
+
teamRunId: teamRun.id,
|
|
448
|
+
requesterMemberId: null,
|
|
449
|
+
requesterType: 'user',
|
|
450
|
+
targetMemberId: secondMember.id,
|
|
451
|
+
triggerMessageId: secondMessage.id,
|
|
452
|
+
instruction: 'Second queued request',
|
|
453
|
+
status: 'QUEUED',
|
|
454
|
+
},
|
|
455
|
+
});
|
|
456
|
+
const queue = await service.listQueuedWorkRequestsForMember(teamRun.id, firstMember.id);
|
|
457
|
+
expect(queue).toMatchObject({
|
|
458
|
+
teamRunId: teamRun.id,
|
|
459
|
+
currentMemberId: firstMember.id,
|
|
460
|
+
queueManagementPolicy: 'own_only',
|
|
461
|
+
canManageTeamRunQueue: false,
|
|
462
|
+
});
|
|
463
|
+
expect(queue.workRequests).toHaveLength(1);
|
|
464
|
+
expect(queue.workRequests[0]).toMatchObject({
|
|
465
|
+
id: firstQueued.id,
|
|
466
|
+
targetMemberId: firstMember.id,
|
|
467
|
+
status: 'QUEUED',
|
|
468
|
+
targetMember: {
|
|
469
|
+
id: firstMember.id,
|
|
470
|
+
name: firstMember.name,
|
|
471
|
+
label: firstMember.name,
|
|
472
|
+
},
|
|
473
|
+
triggerMessage: {
|
|
474
|
+
id: firstMessage.id,
|
|
475
|
+
senderType: 'user',
|
|
476
|
+
kind: 'chat',
|
|
477
|
+
contentPreview: 'First queued request with more context',
|
|
478
|
+
},
|
|
479
|
+
});
|
|
480
|
+
});
|
|
481
|
+
it('lists all pending and queued WorkRequests for members with team_pending queueManagementPolicy', async () => {
|
|
482
|
+
const managerPreset = await service.createMemberPreset({
|
|
483
|
+
...presetInput('Manager'),
|
|
484
|
+
queueManagementPolicy: 'team_pending',
|
|
485
|
+
});
|
|
486
|
+
const workerPreset = await service.createMemberPreset(presetInput('Worker'));
|
|
487
|
+
const task = await createTask();
|
|
488
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
489
|
+
mode: 'CONFIRM',
|
|
490
|
+
memberPresetIds: [managerPreset.id, workerPreset.id],
|
|
491
|
+
});
|
|
492
|
+
const [manager, worker] = teamRun.members ?? [];
|
|
493
|
+
expect(manager).toBeDefined();
|
|
494
|
+
expect(worker).toBeDefined();
|
|
495
|
+
const message = await prisma.roomMessage.create({
|
|
496
|
+
data: {
|
|
497
|
+
teamRunId: teamRun.id,
|
|
498
|
+
senderType: 'user',
|
|
499
|
+
senderId: null,
|
|
500
|
+
senderInvocationId: null,
|
|
501
|
+
kind: 'chat',
|
|
502
|
+
content: 'Queue visible to manager',
|
|
503
|
+
mentions: '[]',
|
|
504
|
+
workRequestIds: '[]',
|
|
505
|
+
artifactRefs: '[]',
|
|
506
|
+
attachmentIds: '[]',
|
|
507
|
+
},
|
|
508
|
+
});
|
|
509
|
+
const workerPending = await prisma.workRequest.create({
|
|
510
|
+
data: {
|
|
511
|
+
teamRunId: teamRun.id,
|
|
512
|
+
requesterMemberId: null,
|
|
513
|
+
requesterType: 'user',
|
|
514
|
+
targetMemberId: worker.id,
|
|
515
|
+
triggerMessageId: message.id,
|
|
516
|
+
instruction: 'Worker pending',
|
|
517
|
+
status: 'PENDING_APPROVAL',
|
|
518
|
+
createdAt: new Date(Date.UTC(2026, 0, 1, 0, 0, 1)),
|
|
519
|
+
},
|
|
520
|
+
});
|
|
521
|
+
const managerQueued = await prisma.workRequest.create({
|
|
522
|
+
data: {
|
|
523
|
+
teamRunId: teamRun.id,
|
|
524
|
+
requesterMemberId: null,
|
|
525
|
+
requesterType: 'user',
|
|
526
|
+
targetMemberId: manager.id,
|
|
527
|
+
triggerMessageId: message.id,
|
|
528
|
+
instruction: 'Manager queued',
|
|
529
|
+
status: 'QUEUED',
|
|
530
|
+
createdAt: new Date(Date.UTC(2026, 0, 1, 0, 0, 2)),
|
|
531
|
+
},
|
|
532
|
+
});
|
|
533
|
+
const queue = await service.listQueuedWorkRequestsForMember(teamRun.id, manager.id);
|
|
534
|
+
expect(queue.canManageTeamRunQueue).toBe(true);
|
|
535
|
+
expect(queue.queueManagementPolicy).toBe('team_pending');
|
|
536
|
+
expect(queue.workRequests.map((request) => request.id)).toEqual([workerPending.id, managerQueued.id]);
|
|
537
|
+
expect(queue.workRequests[0]).toMatchObject({
|
|
538
|
+
targetMemberId: worker.id,
|
|
539
|
+
targetMember: {
|
|
540
|
+
id: worker.id,
|
|
541
|
+
name: worker.name,
|
|
542
|
+
label: worker.name,
|
|
543
|
+
},
|
|
544
|
+
});
|
|
545
|
+
});
|
|
546
|
+
it('creates WorkRequests only for the selected memberId when same-name members are mentioned', async () => {
|
|
547
|
+
const task = await createTask();
|
|
548
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
549
|
+
mode: 'AUTO',
|
|
550
|
+
members: [
|
|
551
|
+
presetInput('Coder'),
|
|
552
|
+
presetInput('Coder'),
|
|
553
|
+
],
|
|
554
|
+
});
|
|
555
|
+
const [firstCoder, secondCoder] = teamRun.members ?? [];
|
|
556
|
+
expect(firstCoder).toBeDefined();
|
|
557
|
+
expect(secondCoder).toBeDefined();
|
|
558
|
+
const message = await service.createRoomMessage(teamRun.id, {
|
|
559
|
+
content: '@Coder please implement this',
|
|
560
|
+
mentions: [{ memberId: secondCoder.id, label: secondCoder.name }],
|
|
561
|
+
});
|
|
562
|
+
const requests = await service.listWorkRequests(teamRun.id);
|
|
563
|
+
expect(message.mentions).toEqual([{ memberId: secondCoder.id, label: secondCoder.name }]);
|
|
564
|
+
expect(message.workRequestIds).toEqual([requests[0]?.id]);
|
|
565
|
+
expect(requests).toHaveLength(1);
|
|
566
|
+
expect(requests[0]).toMatchObject({
|
|
567
|
+
targetMemberId: secondCoder.id,
|
|
568
|
+
triggerMessageId: message.id,
|
|
569
|
+
instruction: '@Coder please implement this',
|
|
570
|
+
status: 'QUEUED',
|
|
571
|
+
});
|
|
572
|
+
expect(requests[0]?.targetMemberId).not.toBe(firstCoder.id);
|
|
573
|
+
});
|
|
574
|
+
it('does not parse text @name into WorkRequests when structured mentions are omitted', async () => {
|
|
575
|
+
const task = await createTask();
|
|
576
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
577
|
+
mode: 'AUTO',
|
|
578
|
+
members: [
|
|
579
|
+
presetInput('Coder'),
|
|
580
|
+
presetInput('Coder'),
|
|
581
|
+
],
|
|
582
|
+
});
|
|
583
|
+
const message = await service.createRoomMessage(teamRun.id, {
|
|
584
|
+
content: '@Coder please implement this',
|
|
585
|
+
});
|
|
586
|
+
expect(message.mentions).toEqual([]);
|
|
587
|
+
expect(message.workRequestIds).toEqual([]);
|
|
588
|
+
await expect(service.listWorkRequests(teamRun.id)).resolves.toEqual([]);
|
|
589
|
+
});
|
|
228
590
|
it('does not create USER_MESSAGES WorkRequests when a user message already has mentions', async () => {
|
|
229
591
|
const leaderPreset = await service.createMemberPreset(userMessagesPresetInput('Leader'));
|
|
230
592
|
const coderPreset = await service.createMemberPreset(presetInput('Coder'));
|
|
@@ -430,6 +792,60 @@ describe('TeamRunService', () => {
|
|
|
430
792
|
expect(message.attachmentIds).toEqual(['attachment-1', 'attachment-2']);
|
|
431
793
|
expect(messages[0]?.attachmentIds).toEqual(['attachment-1', 'attachment-2']);
|
|
432
794
|
});
|
|
795
|
+
it('adds attachment markdown context to WorkRequest instructions from RoomMessage attachmentIds', async () => {
|
|
796
|
+
const preset = await service.createMemberPreset(presetInput('Coder'));
|
|
797
|
+
const task = await createTask();
|
|
798
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
799
|
+
mode: 'AUTO',
|
|
800
|
+
memberPresetIds: [preset.id],
|
|
801
|
+
});
|
|
802
|
+
const attachment = await prisma.attachment.create({
|
|
803
|
+
data: {
|
|
804
|
+
originalName: 'screenshot.png',
|
|
805
|
+
mimeType: 'image/png',
|
|
806
|
+
sizeBytes: 128,
|
|
807
|
+
storagePath: path.join(testDir, 'screenshot.png'),
|
|
808
|
+
hash: 'attachment-context-hash',
|
|
809
|
+
},
|
|
810
|
+
});
|
|
811
|
+
const message = await service.createRoomMessage(teamRun.id, {
|
|
812
|
+
content: 'Please inspect this UI',
|
|
813
|
+
mentions: [{ memberId: teamRun.members[0].id, label: 'Coder' }],
|
|
814
|
+
attachmentIds: [attachment.id],
|
|
815
|
+
});
|
|
816
|
+
const request = await prisma.workRequest.findUnique({
|
|
817
|
+
where: { id: message.workRequestIds[0] },
|
|
818
|
+
});
|
|
819
|
+
expect(request?.instruction).toBe(`Please inspect this UI\n\nAttachments:\n`);
|
|
820
|
+
});
|
|
821
|
+
it('does not duplicate WorkRequest attachment context when content already includes the storage path', async () => {
|
|
822
|
+
const preset = await service.createMemberPreset(presetInput('Coder'));
|
|
823
|
+
const task = await createTask();
|
|
824
|
+
const teamRun = await service.createTeamRun(task.id, {
|
|
825
|
+
mode: 'AUTO',
|
|
826
|
+
memberPresetIds: [preset.id],
|
|
827
|
+
});
|
|
828
|
+
const attachment = await prisma.attachment.create({
|
|
829
|
+
data: {
|
|
830
|
+
originalName: 'screenshot.png',
|
|
831
|
+
mimeType: 'image/png',
|
|
832
|
+
sizeBytes: 128,
|
|
833
|
+
storagePath: path.join(testDir, 'screenshot-dedup.png'),
|
|
834
|
+
hash: 'attachment-context-dedup-hash',
|
|
835
|
+
},
|
|
836
|
+
});
|
|
837
|
+
const content = `Please inspect this UI\n\n`;
|
|
838
|
+
const message = await service.createRoomMessage(teamRun.id, {
|
|
839
|
+
content,
|
|
840
|
+
mentions: [{ memberId: teamRun.members[0].id, label: 'Coder' }],
|
|
841
|
+
attachmentIds: [attachment.id],
|
|
842
|
+
});
|
|
843
|
+
const request = await prisma.workRequest.findUnique({
|
|
844
|
+
where: { id: message.workRequestIds[0] },
|
|
845
|
+
});
|
|
846
|
+
expect(request?.instruction).toBe(content);
|
|
847
|
+
expect(request?.instruction).not.toContain('Attachments:');
|
|
848
|
+
});
|
|
433
849
|
it('returns a clear conflict when creating a second TeamRun for one Task', async () => {
|
|
434
850
|
const preset = await service.createMemberPreset(presetInput('Coder'));
|
|
435
851
|
const task = await createTask();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-run.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/team-run.service.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"team-run.service.test.js","sourceRoot":"","sources":["../../../src/services/__tests__/team-run.service.test.ts"],"names":[],"mappings":"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"}
|