agent-tower 0.4.15 → 0.4.16-beta.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 (141) hide show
  1. package/dist/core/event-bus.d.ts +2 -0
  2. package/dist/core/event-bus.d.ts.map +1 -1
  3. package/dist/core/event-bus.js.map +1 -1
  4. package/dist/executors/__tests__/codex.executor.test.d.ts +2 -0
  5. package/dist/executors/__tests__/codex.executor.test.d.ts.map +1 -0
  6. package/dist/executors/__tests__/codex.executor.test.js +28 -0
  7. package/dist/executors/__tests__/codex.executor.test.js.map +1 -0
  8. package/dist/executors/codex.executor.d.ts +1 -0
  9. package/dist/executors/codex.executor.d.ts.map +1 -1
  10. package/dist/executors/codex.executor.js +19 -1
  11. package/dist/executors/codex.executor.js.map +1 -1
  12. package/dist/mcp/context.d.ts +3 -0
  13. package/dist/mcp/context.d.ts.map +1 -1
  14. package/dist/mcp/context.js +10 -1
  15. package/dist/mcp/context.js.map +1 -1
  16. package/dist/mcp/http-client.d.ts +24 -1
  17. package/dist/mcp/http-client.d.ts.map +1 -1
  18. package/dist/mcp/http-client.js +29 -2
  19. package/dist/mcp/http-client.js.map +1 -1
  20. package/dist/mcp/server.d.ts.map +1 -1
  21. package/dist/mcp/server.js +190 -0
  22. package/dist/mcp/server.js.map +1 -1
  23. package/dist/routes/index.d.ts.map +1 -1
  24. package/dist/routes/index.js +3 -0
  25. package/dist/routes/index.js.map +1 -1
  26. package/dist/routes/system.d.ts.map +1 -1
  27. package/dist/routes/system.js +35 -1
  28. package/dist/routes/system.js.map +1 -1
  29. package/dist/routes/team-runs.d.ts +11 -0
  30. package/dist/routes/team-runs.d.ts.map +1 -0
  31. package/dist/routes/team-runs.js +299 -0
  32. package/dist/routes/team-runs.js.map +1 -0
  33. package/dist/services/__tests__/session-manager.team-run.test.d.ts +2 -0
  34. package/dist/services/__tests__/session-manager.team-run.test.d.ts.map +1 -0
  35. package/dist/services/__tests__/session-manager.team-run.test.js +286 -0
  36. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -0
  37. package/dist/services/__tests__/team-lock.service.test.d.ts +2 -0
  38. package/dist/services/__tests__/team-lock.service.test.d.ts.map +1 -0
  39. package/dist/services/__tests__/team-lock.service.test.js +81 -0
  40. package/dist/services/__tests__/team-lock.service.test.js.map +1 -0
  41. package/dist/services/__tests__/team-reconciler.service.test.d.ts +2 -0
  42. package/dist/services/__tests__/team-reconciler.service.test.d.ts.map +1 -0
  43. package/dist/services/__tests__/team-reconciler.service.test.js +1038 -0
  44. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -0
  45. package/dist/services/__tests__/team-run.service.test.d.ts +2 -0
  46. package/dist/services/__tests__/team-run.service.test.d.ts.map +1 -0
  47. package/dist/services/__tests__/team-run.service.test.js +447 -0
  48. package/dist/services/__tests__/team-run.service.test.js.map +1 -0
  49. package/dist/services/__tests__/team-scheduler.service.test.d.ts +2 -0
  50. package/dist/services/__tests__/team-scheduler.service.test.d.ts.map +1 -0
  51. package/dist/services/__tests__/team-scheduler.service.test.js +1158 -0
  52. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -0
  53. package/dist/services/session-manager.d.ts +31 -1
  54. package/dist/services/session-manager.d.ts.map +1 -1
  55. package/dist/services/session-manager.js +110 -2
  56. package/dist/services/session-manager.js.map +1 -1
  57. package/dist/services/team-lock.service.d.ts +22 -0
  58. package/dist/services/team-lock.service.d.ts.map +1 -0
  59. package/dist/services/team-lock.service.js +45 -0
  60. package/dist/services/team-lock.service.js.map +1 -0
  61. package/dist/services/team-reconciler.service.d.ts +44 -0
  62. package/dist/services/team-reconciler.service.d.ts.map +1 -0
  63. package/dist/services/team-reconciler.service.js +286 -0
  64. package/dist/services/team-reconciler.service.js.map +1 -0
  65. package/dist/services/team-run-events.d.ts +13 -0
  66. package/dist/services/team-run-events.d.ts.map +1 -0
  67. package/dist/services/team-run-events.js +27 -0
  68. package/dist/services/team-run-events.js.map +1 -0
  69. package/dist/services/team-run.service.d.ts +89 -0
  70. package/dist/services/team-run.service.d.ts.map +1 -0
  71. package/dist/services/team-run.service.js +577 -0
  72. package/dist/services/team-run.service.js.map +1 -0
  73. package/dist/services/team-scheduler.service.d.ts +89 -0
  74. package/dist/services/team-scheduler.service.d.ts.map +1 -0
  75. package/dist/services/team-scheduler.service.js +750 -0
  76. package/dist/services/team-scheduler.service.js.map +1 -0
  77. package/dist/socket/events.d.ts +1 -1
  78. package/dist/socket/events.d.ts.map +1 -1
  79. package/dist/socket/events.js.map +1 -1
  80. package/dist/socket/socket-gateway.d.ts.map +1 -1
  81. package/dist/socket/socket-gateway.js +5 -1
  82. package/dist/socket/socket-gateway.js.map +1 -1
  83. package/dist/web/assets/AgentDemoPage-p9YI4_l4.js +1 -0
  84. package/dist/web/assets/{DemoPage-XwuS8vNB.js → DemoPage-B5DTSEbS.js} +3 -3
  85. package/dist/web/assets/{GeneralSettingsPage-CliIgpwf.js → GeneralSettingsPage-Cspr7Vol.js} +1 -1
  86. package/dist/web/assets/{NotificationSettingsPage-y3vhVgPv.js → NotificationSettingsPage-C9VfrRr-.js} +1 -1
  87. package/dist/web/assets/{ProfileSettingsPage-CkU_kZKG.js → ProfileSettingsPage-CNugU40a.js} +1 -1
  88. package/dist/web/assets/ProjectKanbanPage-CkGNuqxq.js +87 -0
  89. package/dist/web/assets/{ProjectSettingsPage-B6xhbziO.js → ProjectSettingsPage-f1dg0XMf.js} +1 -1
  90. package/dist/web/assets/{ProviderSettingsPage-CfvdeoEU.js → ProviderSettingsPage-D_KWkgRM.js} +1 -1
  91. package/dist/web/assets/TeamSettingsPage-B6WciZyi.js +1 -0
  92. package/dist/web/assets/{button-BWFTEdOr.js → button-B6JaSbDB.js} +1 -1
  93. package/dist/web/assets/{chevron-down-CuPdBAx-.js → chevron-down-CACy4UFq.js} +1 -1
  94. package/dist/web/assets/{chevron-right-Cs8vYTMn.js → chevron-right-DFWfnDJY.js} +1 -1
  95. package/dist/web/assets/chevron-up-CGlf6jzw.js +1 -0
  96. package/dist/web/assets/{circle-alert-EUyZcWhp.js → circle-alert-BSAUEd9O.js} +1 -1
  97. package/dist/web/assets/{circle-check-BXZTzqw0.js → circle-check-DMK8auwb.js} +1 -1
  98. package/dist/web/assets/{code-block-OCS4YCEC-BxUpvXK_.js → code-block-OCS4YCEC-Hn75KHRK.js} +1 -1
  99. package/dist/web/assets/{confirm-dialog-CDLHRthd.js → confirm-dialog-DHI2f7Ni.js} +1 -1
  100. package/dist/web/assets/{folder-picker-CUbhsnhi.js → folder-picker-CtQkbWfa.js} +1 -1
  101. package/dist/web/assets/index-BFAA3PTl.js +13 -0
  102. package/dist/web/assets/index-mBCb67dB.css +1 -0
  103. package/dist/web/assets/{loader-circle-BHzDVpxt.js → loader-circle-CkDnf8ST.js} +1 -1
  104. package/dist/web/assets/{mermaid-NOHMQCX5-BOSwJqP0.js → mermaid-NOHMQCX5-DJFgrXPd.js} +44 -44
  105. package/dist/web/assets/modal-B5IRN7QI.js +1 -0
  106. package/dist/web/assets/{pencil-BMxBxIhw.js → pencil-CJY6Ahn7.js} +1 -1
  107. package/dist/web/assets/{select-BUmRG0LY.js → select-BPZZlla1.js} +1 -1
  108. package/dist/web/assets/{use-profiles-C1vlPE-2.js → use-profiles-C2k04ICZ.js} +1 -1
  109. package/dist/web/assets/{use-projects-Bcd5hIOY.js → use-projects-BxuE-ulT.js} +1 -1
  110. package/dist/web/assets/{use-providers-Cdxr4Jbz.js → use-providers-C7fIDWzP.js} +1 -1
  111. package/dist/web/index.html +2 -2
  112. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts +10 -0
  113. package/node_modules/@agent-tower/shared/dist/socket/events.d.ts.map +1 -1
  114. package/node_modules/@agent-tower/shared/dist/socket/events.js +1 -0
  115. package/node_modules/@agent-tower/shared/dist/socket/events.js.map +1 -1
  116. package/node_modules/@agent-tower/shared/dist/types.d.ts +153 -0
  117. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  118. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  119. package/node_modules/@prisma/client/.prisma/client/default.d.ts +1 -0
  120. package/node_modules/@prisma/client/.prisma/client/default.js +1 -0
  121. package/node_modules/@prisma/client/.prisma/client/edge.d.ts +1 -0
  122. package/node_modules/@prisma/client/.prisma/client/edge.js +392 -0
  123. package/node_modules/@prisma/client/.prisma/client/index-browser.js +381 -0
  124. package/node_modules/@prisma/client/.prisma/client/index.d.ts +25768 -0
  125. package/node_modules/@prisma/client/.prisma/client/index.js +417 -0
  126. package/node_modules/@prisma/client/.prisma/client/libquery_engine-darwin-arm64.dylib.node +0 -0
  127. package/node_modules/@prisma/client/.prisma/client/package.json +97 -0
  128. package/node_modules/@prisma/client/.prisma/client/query_engine-windows.dll.node +0 -0
  129. package/node_modules/@prisma/client/.prisma/client/schema.prisma +280 -0
  130. package/node_modules/@prisma/client/.prisma/client/wasm.d.ts +1 -0
  131. package/node_modules/@prisma/client/.prisma/client/wasm.js +381 -0
  132. package/node_modules/@prisma/client/package.json +3 -2
  133. package/package.json +2 -1
  134. package/prisma/migrations/20260518000000_add_team_run_collaboration/migration.sql +150 -0
  135. package/prisma/migrations/20260522000000_add_team_member_session_policy/migration.sql +2 -0
  136. package/prisma/schema.prisma +131 -1
  137. package/dist/web/assets/AgentDemoPage-ClnGPAV9.js +0 -1
  138. package/dist/web/assets/ProjectKanbanPage-BddzfZRV.js +0 -87
  139. package/dist/web/assets/index-BGvfX18x.css +0 -1
  140. package/dist/web/assets/index-CHN8jahE.js +0 -13
  141. package/dist/web/assets/modal-D_AU4URz.js +0 -1
@@ -0,0 +1,89 @@
1
+ import type { AgentInvocation, WorkRequest } from '@agent-tower/shared';
2
+ import { AgentType } from '../types/index.js';
3
+ import { type Provider } from '../executors/index.js';
4
+ import { TeamLockService } from './team-lock.service.js';
5
+ export interface SchedulePlan {
6
+ workRequestId: string;
7
+ memberId: string;
8
+ canStart: boolean;
9
+ blockedReason?: 'member_busy' | 'member_already_planned' | 'resource_locked' | 'member_not_found' | 'unsupported_workspace_policy';
10
+ requiresStopCurrent: boolean;
11
+ lockKeys: string[];
12
+ workspaceId: string | null;
13
+ projectId: string | null;
14
+ }
15
+ export interface StopMemberWorkResult {
16
+ stoppedSessionIds: string[];
17
+ cancelledInvocationIds: string[];
18
+ cancelledWorkRequestIds: string[];
19
+ startedInvocations: AgentInvocation[];
20
+ }
21
+ type WorkspaceStarter = {
22
+ create(taskId: string): Promise<{
23
+ id: string;
24
+ }>;
25
+ };
26
+ type SessionStarter = {
27
+ create(workspaceId: string, agentType: AgentType, prompt: string, variant?: string, providerId?: string): Promise<{
28
+ id: string;
29
+ }>;
30
+ start(id: string): Promise<unknown>;
31
+ startFollowUp?(id: string, resumeFromSessionId: string): Promise<unknown>;
32
+ stop?(id: string): Promise<unknown>;
33
+ };
34
+ interface TeamSchedulerDependencies {
35
+ workspaceService?: WorkspaceStarter;
36
+ sessionManager?: SessionStarter;
37
+ getProviderById?: (providerId: string) => Provider | null;
38
+ }
39
+ export declare class TeamSchedulerService {
40
+ private readonly lockService;
41
+ private static readonly memberSchedulingLocks;
42
+ private static readonly sharedWorkspaceClaims;
43
+ private readonly workspaceService;
44
+ private readonly sessionManager;
45
+ private readonly providerLookup;
46
+ constructor(lockService?: TeamLockService, dependencies?: TeamSchedulerDependencies);
47
+ planNext(teamRunId: string): Promise<SchedulePlan[]>;
48
+ startNext(teamRunId: string): Promise<AgentInvocation[]>;
49
+ startNextSessions(teamRunId: string): Promise<AgentInvocation[]>;
50
+ approveWorkRequest(workRequestId: string): Promise<WorkRequest>;
51
+ approveWorkRequestAndStartNext(workRequestId: string): Promise<{
52
+ workRequest: WorkRequest;
53
+ startedInvocations: AgentInvocation[];
54
+ }>;
55
+ rejectWorkRequest(workRequestId: string): Promise<WorkRequest>;
56
+ cancelWorkRequest(workRequestId: string): Promise<WorkRequest>;
57
+ stopMemberWork(teamRunId: string, memberId: string, options?: {
58
+ cancelQueued?: boolean;
59
+ }): Promise<StopMemberWorkResult>;
60
+ releaseInvocationLocks(invocationId: string): void;
61
+ private createInvocationForClaimedWorkRequest;
62
+ private createRunningInvocationForClaimedWorkRequest;
63
+ private getSchedulingContext;
64
+ private getWorkRequestOrThrow;
65
+ private getTeamMemberOrThrow;
66
+ private transitionWorkRequestStatus;
67
+ private cancelInvocationsWithoutSession;
68
+ private cancelQueuedWorkRequestsForMember;
69
+ private findActiveMemberIds;
70
+ private hasActiveInvocation;
71
+ private getOrCreateSharedWorkspace;
72
+ private findOrCreateSharedWorkspace;
73
+ private buildSessionPrompt;
74
+ private findResumeSourceSessionId;
75
+ private markInvocationStartFailed;
76
+ private emitTeamRunInvalidated;
77
+ private emitTeamRunInvalidatedById;
78
+ private markSessionFailed;
79
+ private getRequiredLocks;
80
+ private resolveInvocationWorkspaceId;
81
+ private resolveLockWorkspaceId;
82
+ private memberSchedulingLockKey;
83
+ private acquireMemberSchedulingLock;
84
+ private releaseMemberSchedulingLock;
85
+ private serializeWorkRequest;
86
+ private serializeAgentInvocation;
87
+ }
88
+ export {};
89
+ //# sourceMappingURL=team-scheduler.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"team-scheduler.service.d.ts","sourceRoot":"","sources":["../../src/services/team-scheduler.service.ts"],"names":[],"mappings":"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"}