agent-tower 0.6.0-beta.11 → 0.6.0-beta.13

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 (204) hide show
  1. package/dist/app.d.ts.map +1 -1
  2. package/dist/app.js +4 -0
  3. package/dist/app.js.map +1 -1
  4. package/dist/cli.js +39 -19
  5. package/dist/cli.js.map +1 -1
  6. package/dist/executors/__tests__/base.executor.test.js +133 -1
  7. package/dist/executors/__tests__/base.executor.test.js.map +1 -1
  8. package/dist/executors/__tests__/stdin-prompt.executors.test.js +18 -0
  9. package/dist/executors/__tests__/stdin-prompt.executors.test.js.map +1 -1
  10. package/dist/executors/base.executor.d.ts +8 -0
  11. package/dist/executors/base.executor.d.ts.map +1 -1
  12. package/dist/executors/base.executor.js +336 -56
  13. package/dist/executors/base.executor.js.map +1 -1
  14. package/dist/executors/index.d.ts +2 -1
  15. package/dist/executors/index.d.ts.map +1 -1
  16. package/dist/executors/index.js +1 -1
  17. package/dist/executors/index.js.map +1 -1
  18. package/dist/executors/start-error.d.ts +17 -0
  19. package/dist/executors/start-error.d.ts.map +1 -1
  20. package/dist/executors/start-error.js +36 -1
  21. package/dist/executors/start-error.js.map +1 -1
  22. package/dist/index.js +39 -29
  23. package/dist/index.js.map +1 -1
  24. package/dist/mcp/http-client.test.js +20 -0
  25. package/dist/mcp/http-client.test.js.map +1 -1
  26. package/dist/mcp/tools/__tests__/sessions.test.d.ts +2 -0
  27. package/dist/mcp/tools/__tests__/sessions.test.d.ts.map +1 -0
  28. package/dist/mcp/tools/__tests__/sessions.test.js +33 -0
  29. package/dist/mcp/tools/__tests__/sessions.test.js.map +1 -0
  30. package/dist/routes/__tests__/sessions-runtime.test.js +75 -3
  31. package/dist/routes/__tests__/sessions-runtime.test.js.map +1 -1
  32. package/dist/routes/conversations.d.ts.map +1 -1
  33. package/dist/routes/conversations.js +5 -1
  34. package/dist/routes/conversations.js.map +1 -1
  35. package/dist/routes/sessions.d.ts.map +1 -1
  36. package/dist/routes/sessions.js +13 -2
  37. package/dist/routes/sessions.js.map +1 -1
  38. package/dist/routes/team-runs.d.ts.map +1 -1
  39. package/dist/routes/team-runs.js +13 -1
  40. package/dist/routes/team-runs.js.map +1 -1
  41. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js +86 -0
  42. package/dist/runtime/__tests__/acp-driver-lifecycle.test.js.map +1 -1
  43. package/dist/runtime/__tests__/acp-process-manager.test.js +393 -6
  44. package/dist/runtime/__tests__/acp-process-manager.test.js.map +1 -1
  45. package/dist/runtime/__tests__/cli-driver-lifecycle.test.d.ts +2 -0
  46. package/dist/runtime/__tests__/cli-driver-lifecycle.test.d.ts.map +1 -0
  47. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js +244 -0
  48. package/dist/runtime/__tests__/cli-driver-lifecycle.test.js.map +1 -0
  49. package/dist/runtime/__tests__/launch-cleanup-registry.test.d.ts +2 -0
  50. package/dist/runtime/__tests__/launch-cleanup-registry.test.d.ts.map +1 -0
  51. package/dist/runtime/__tests__/launch-cleanup-registry.test.js +154 -0
  52. package/dist/runtime/__tests__/launch-cleanup-registry.test.js.map +1 -0
  53. package/dist/runtime/__tests__/runtime-coordinator.test.js +117 -1
  54. package/dist/runtime/__tests__/runtime-coordinator.test.js.map +1 -1
  55. package/dist/runtime/__tests__/server-entry-shutdown.test.d.ts +2 -0
  56. package/dist/runtime/__tests__/server-entry-shutdown.test.d.ts.map +1 -0
  57. package/dist/runtime/__tests__/server-entry-shutdown.test.js +38 -0
  58. package/dist/runtime/__tests__/server-entry-shutdown.test.js.map +1 -0
  59. package/dist/runtime/__tests__/shutdown-coordinator.test.d.ts +2 -0
  60. package/dist/runtime/__tests__/shutdown-coordinator.test.d.ts.map +1 -0
  61. package/dist/runtime/__tests__/shutdown-coordinator.test.js +28 -0
  62. package/dist/runtime/__tests__/shutdown-coordinator.test.js.map +1 -0
  63. package/dist/runtime/acp/acp-driver.d.ts.map +1 -1
  64. package/dist/runtime/acp/acp-driver.js +108 -35
  65. package/dist/runtime/acp/acp-driver.js.map +1 -1
  66. package/dist/runtime/acp/agents/managed-directory.d.ts.map +1 -1
  67. package/dist/runtime/acp/agents/managed-directory.js +3 -1
  68. package/dist/runtime/acp/agents/managed-directory.js.map +1 -1
  69. package/dist/runtime/acp/agents/managed-directory.test.d.ts +2 -0
  70. package/dist/runtime/acp/agents/managed-directory.test.d.ts.map +1 -0
  71. package/dist/runtime/acp/agents/managed-directory.test.js +25 -0
  72. package/dist/runtime/acp/agents/managed-directory.test.js.map +1 -0
  73. package/dist/runtime/acp/launch-cleanup-registry.d.ts +32 -0
  74. package/dist/runtime/acp/launch-cleanup-registry.d.ts.map +1 -0
  75. package/dist/runtime/acp/launch-cleanup-registry.js +176 -0
  76. package/dist/runtime/acp/launch-cleanup-registry.js.map +1 -0
  77. package/dist/runtime/acp/process-manager.d.ts +58 -0
  78. package/dist/runtime/acp/process-manager.d.ts.map +1 -1
  79. package/dist/runtime/acp/process-manager.js +489 -33
  80. package/dist/runtime/acp/process-manager.js.map +1 -1
  81. package/dist/runtime/cli-driver.d.ts.map +1 -1
  82. package/dist/runtime/cli-driver.js +230 -46
  83. package/dist/runtime/cli-driver.js.map +1 -1
  84. package/dist/runtime/contracts.d.ts +21 -2
  85. package/dist/runtime/contracts.d.ts.map +1 -1
  86. package/dist/runtime/index.d.ts +1 -0
  87. package/dist/runtime/index.d.ts.map +1 -1
  88. package/dist/runtime/index.js +1 -0
  89. package/dist/runtime/index.js.map +1 -1
  90. package/dist/runtime/runtime-coordinator.d.ts +8 -1
  91. package/dist/runtime/runtime-coordinator.d.ts.map +1 -1
  92. package/dist/runtime/runtime-coordinator.js +118 -18
  93. package/dist/runtime/runtime-coordinator.js.map +1 -1
  94. package/dist/runtime/server-entry-shutdown.d.ts +12 -0
  95. package/dist/runtime/server-entry-shutdown.d.ts.map +1 -0
  96. package/dist/runtime/server-entry-shutdown.js +23 -0
  97. package/dist/runtime/server-entry-shutdown.js.map +1 -0
  98. package/dist/runtime/shutdown-coordinator.d.ts +17 -0
  99. package/dist/runtime/shutdown-coordinator.d.ts.map +1 -0
  100. package/dist/runtime/shutdown-coordinator.js +67 -0
  101. package/dist/runtime/shutdown-coordinator.js.map +1 -0
  102. package/dist/services/__tests__/conversation.service.test.js +160 -0
  103. package/dist/services/__tests__/conversation.service.test.js.map +1 -1
  104. package/dist/services/__tests__/database-maintenance.service.test.js +97 -0
  105. package/dist/services/__tests__/database-maintenance.service.test.js.map +1 -1
  106. package/dist/services/__tests__/member-heartbeat-scheduler.test.js +6 -0
  107. package/dist/services/__tests__/member-heartbeat-scheduler.test.js.map +1 -1
  108. package/dist/services/__tests__/member-heartbeat.test.js +7 -11
  109. package/dist/services/__tests__/member-heartbeat.test.js.map +1 -1
  110. package/dist/services/__tests__/session-manager.lifecycle.test.js +402 -12
  111. package/dist/services/__tests__/session-manager.lifecycle.test.js.map +1 -1
  112. package/dist/services/__tests__/session-manager.team-run.test.js +422 -29
  113. package/dist/services/__tests__/session-manager.team-run.test.js.map +1 -1
  114. package/dist/services/__tests__/team-queue-recovery.integration.test.js +1 -0
  115. package/dist/services/__tests__/team-queue-recovery.integration.test.js.map +1 -1
  116. package/dist/services/__tests__/team-reconciler.service.test.js +1282 -4
  117. package/dist/services/__tests__/team-reconciler.service.test.js.map +1 -1
  118. package/dist/services/__tests__/team-run.service.test.js +161 -1
  119. package/dist/services/__tests__/team-run.service.test.js.map +1 -1
  120. package/dist/services/__tests__/team-scheduler.service.test.js +334 -6
  121. package/dist/services/__tests__/team-scheduler.service.test.js.map +1 -1
  122. package/dist/services/conversation.service.d.ts.map +1 -1
  123. package/dist/services/conversation.service.js +21 -2
  124. package/dist/services/conversation.service.js.map +1 -1
  125. package/dist/services/database-maintenance.service.d.ts.map +1 -1
  126. package/dist/services/database-maintenance.service.js +68 -17
  127. package/dist/services/database-maintenance.service.js.map +1 -1
  128. package/dist/services/member-heartbeat-scheduler.d.ts +6 -5
  129. package/dist/services/member-heartbeat-scheduler.d.ts.map +1 -1
  130. package/dist/services/member-heartbeat-scheduler.js +7 -5
  131. package/dist/services/member-heartbeat-scheduler.js.map +1 -1
  132. package/dist/services/session-manager.d.ts +124 -14
  133. package/dist/services/session-manager.d.ts.map +1 -1
  134. package/dist/services/session-manager.js +1035 -116
  135. package/dist/services/session-manager.js.map +1 -1
  136. package/dist/services/session-runtime-cleanup-gate.d.ts +25 -0
  137. package/dist/services/session-runtime-cleanup-gate.d.ts.map +1 -0
  138. package/dist/services/session-runtime-cleanup-gate.js +284 -0
  139. package/dist/services/session-runtime-cleanup-gate.js.map +1 -0
  140. package/dist/services/task.service.d.ts +2 -2
  141. package/dist/services/team-member-admission-barrier.d.ts +3 -0
  142. package/dist/services/team-member-admission-barrier.d.ts.map +1 -0
  143. package/dist/services/team-member-admission-barrier.js +26 -0
  144. package/dist/services/team-member-admission-barrier.js.map +1 -0
  145. package/dist/services/team-reconciler.service.d.ts +30 -7
  146. package/dist/services/team-reconciler.service.d.ts.map +1 -1
  147. package/dist/services/team-reconciler.service.js +528 -111
  148. package/dist/services/team-reconciler.service.js.map +1 -1
  149. package/dist/services/team-run.service.d.ts.map +1 -1
  150. package/dist/services/team-run.service.js +37 -13
  151. package/dist/services/team-run.service.js.map +1 -1
  152. package/dist/services/team-scheduler.service.d.ts +8 -6
  153. package/dist/services/team-scheduler.service.d.ts.map +1 -1
  154. package/dist/services/team-scheduler.service.js +323 -120
  155. package/dist/services/team-scheduler.service.js.map +1 -1
  156. package/dist/services/workspace-background-process-manager.d.ts.map +1 -1
  157. package/dist/services/workspace-background-process-manager.js +2 -5
  158. package/dist/services/workspace-background-process-manager.js.map +1 -1
  159. package/dist/services/workspace.service.d.ts +15 -8
  160. package/dist/services/workspace.service.d.ts.map +1 -1
  161. package/dist/socket/index.d.ts.map +1 -1
  162. package/dist/socket/index.js +27 -14
  163. package/dist/socket/index.js.map +1 -1
  164. package/dist/utils/__tests__/unix-process-identity.test.d.ts +2 -0
  165. package/dist/utils/__tests__/unix-process-identity.test.d.ts.map +1 -0
  166. package/dist/utils/__tests__/unix-process-identity.test.js +73 -0
  167. package/dist/utils/__tests__/unix-process-identity.test.js.map +1 -0
  168. package/dist/utils/error-log.d.ts +2 -0
  169. package/dist/utils/error-log.d.ts.map +1 -1
  170. package/dist/utils/error-log.js +40 -3
  171. package/dist/utils/error-log.js.map +1 -1
  172. package/dist/utils/error-log.test.js +14 -2
  173. package/dist/utils/error-log.test.js.map +1 -1
  174. package/dist/utils/process-launch.d.ts +2 -2
  175. package/dist/utils/process-launch.d.ts.map +1 -1
  176. package/dist/utils/process-launch.js +339 -79
  177. package/dist/utils/process-launch.js.map +1 -1
  178. package/dist/utils/process-launch.test.js +168 -10
  179. package/dist/utils/process-launch.test.js.map +1 -1
  180. package/dist/utils/spawned-process-identity.d.ts +7 -0
  181. package/dist/utils/spawned-process-identity.d.ts.map +1 -0
  182. package/dist/utils/spawned-process-identity.js +36 -0
  183. package/dist/utils/spawned-process-identity.js.map +1 -0
  184. package/dist/utils/tree-cleanup-channel.d.ts +18 -0
  185. package/dist/utils/tree-cleanup-channel.d.ts.map +1 -0
  186. package/dist/utils/tree-cleanup-channel.js +16 -0
  187. package/dist/utils/tree-cleanup-channel.js.map +1 -0
  188. package/dist/utils/tree-cleanup-channel.test.d.ts +2 -0
  189. package/dist/utils/tree-cleanup-channel.test.d.ts.map +1 -0
  190. package/dist/utils/tree-cleanup-channel.test.js +15 -0
  191. package/dist/utils/tree-cleanup-channel.test.js.map +1 -0
  192. package/dist/utils/unix-process-identity.d.ts +13 -1
  193. package/dist/utils/unix-process-identity.d.ts.map +1 -1
  194. package/dist/utils/unix-process-identity.js +146 -25
  195. package/dist/utils/unix-process-identity.js.map +1 -1
  196. package/node_modules/@agent-tower/shared/dist/types.d.ts +1 -0
  197. package/node_modules/@agent-tower/shared/dist/types.d.ts.map +1 -1
  198. package/node_modules/@agent-tower/shared/dist/types.js.map +1 -1
  199. package/package.json +1 -1
  200. package/prisma/migrations/20260824000000_add_execution_process_ownership/migration.sql +10 -0
  201. package/prisma/migrations/20260824010000_add_runtime_cleanup_recovery/migration.sql +10 -0
  202. package/prisma/migrations/20260824020000_add_runtime_launch_admission/migration.sql +72 -0
  203. package/prisma/migrations/20260826000000_add_conversation_turn_queue/migration.sql +19 -0
  204. package/prisma/schema.prisma +50 -7
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executors/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,22 @@
1
1
  import { ServiceError } from '../errors.js';
2
2
  import { CommandBuildError } from './command-builder.js';
3
+ /**
4
+ * Cleanup handoff for a PTY that was created before launch identity could be
5
+ * persisted. The owner must remain reachable until the wrapper emits exit.
6
+ */
7
+ export interface SpawnCleanupOwner {
8
+ readonly processExit: Promise<void>;
9
+ requestStop(): void;
10
+ cleanup(): Promise<void>;
11
+ dispose(): void;
12
+ /** Close the launch-scoped completion channel after tree cleanup is confirmed. */
13
+ disposeTreeCleanupChannel?: () => void;
14
+ }
15
+ /** Mark only failures that are proven to have happened before child creation. */
16
+ export declare function markPreChildProcessFailure(error: unknown): unknown;
17
+ export declare function isPreChildProcessFailure(error: unknown): boolean;
18
+ export declare function attachSpawnCleanupOwner(error: unknown, owner: SpawnCleanupOwner): unknown;
19
+ export declare function getSpawnCleanupOwner(error: unknown): SpawnCleanupOwner | undefined;
3
20
  export declare class ExecutorNotFoundError extends ServiceError {
4
21
  constructor(agentType: string, providerId?: string | null);
5
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start-error.d.ts","sourceRoot":"","sources":["../../src/executors/start-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,qBAAa,qBAAsB,SAAQ,YAAY;gBACzC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAO1D;AAED,qBAAa,0BAA2B,SAAQ,YAAY;gBAC9C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQ1E;AAED,qBAAa,4BAA6B,SAAQ,YAAY;gBAChD,KAAK,EAAE,iBAAiB;CAGrC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKnE"}
1
+ {"version":3,"file":"start-error.d.ts","sourceRoot":"","sources":["../../src/executors/start-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAOzD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,WAAW,IAAI,IAAI,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,IAAI,CAAC;IAChB,kFAAkF;IAClF,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;CACxC;AAID,iFAAiF;AACjF,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQlE;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAIhE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CASzF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAElF;AAED,qBAAa,qBAAsB,SAAQ,YAAY;gBACzC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAO1D;AAED,qBAAa,0BAA2B,SAAQ,YAAY;gBAC9C,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;CAQ1E;AAED,qBAAa,4BAA6B,SAAQ,YAAY;gBAChD,KAAK,EAAE,iBAAiB;CAGrC;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAQnE"}
@@ -1,5 +1,37 @@
1
1
  import { ServiceError } from '../errors.js';
2
2
  import { CommandBuildError } from './command-builder.js';
3
+ const PRE_CHILD_FAILURE = Symbol('agent-tower.pre-child-process-failure');
4
+ const SPAWN_CLEANUP_OWNER = Symbol('agent-tower.spawn-cleanup-owner');
5
+ /** Mark only failures that are proven to have happened before child creation. */
6
+ export function markPreChildProcessFailure(error) {
7
+ const marked = error instanceof Error ? error : new Error(String(error));
8
+ try {
9
+ Object.defineProperty(marked, PRE_CHILD_FAILURE, { value: true, configurable: false });
10
+ }
11
+ catch {
12
+ // A frozen third-party error cannot carry evidence, so keep it conservative.
13
+ }
14
+ return marked;
15
+ }
16
+ export function isPreChildProcessFailure(error) {
17
+ return error instanceof Error
18
+ && !error[SPAWN_CLEANUP_OWNER]
19
+ && error[PRE_CHILD_FAILURE] === true;
20
+ }
21
+ export function attachSpawnCleanupOwner(error, owner) {
22
+ const target = error instanceof Error ? error : new Error(String(error));
23
+ try {
24
+ Object.defineProperty(target, SPAWN_CLEANUP_OWNER, { value: owner, configurable: false });
25
+ }
26
+ catch {
27
+ // A frozen error cannot carry the handoff; callers remain conservative and
28
+ // quarantine the launch claim instead of assuming no child was created.
29
+ }
30
+ return target;
31
+ }
32
+ export function getSpawnCleanupOwner(error) {
33
+ return error instanceof Error ? error[SPAWN_CLEANUP_OWNER] : undefined;
34
+ }
3
35
  export class ExecutorNotFoundError extends ServiceError {
4
36
  constructor(agentType, providerId) {
5
37
  super(`Executor not found for agent type: ${agentType}${providerId ? ` (provider: ${providerId})` : ''}`, 'EXECUTOR_NOT_FOUND', 400);
@@ -18,7 +50,10 @@ export class AgentCommandUnavailableError extends ServiceError {
18
50
  }
19
51
  export function normalizeExecutorStartError(error) {
20
52
  if (error instanceof CommandBuildError) {
21
- return new AgentCommandUnavailableError(error);
53
+ return markPreChildProcessFailure(new AgentCommandUnavailableError(error));
54
+ }
55
+ if (error instanceof ExecutorConfigurationError) {
56
+ return markPreChildProcessFailure(error);
22
57
  }
23
58
  return error;
24
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"start-error.js","sourceRoot":"","sources":["../../src/executors/start-error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,OAAO,qBAAsB,SAAQ,YAAY;IACrD,YAAY,SAAiB,EAAE,UAA0B;QACvD,KAAK,CACH,sCAAsC,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,EAClG,oBAAoB,EACpB,GAAG,CACJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,0BAA2B,SAAQ,YAAY;IAC1D,YAAY,SAAiB,EAAE,KAAc,EAAE,UAA0B;QACvE,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,KAAK,CACH,iDAAiD,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,EAAE,EACxH,gCAAgC,EAChC,GAAG,CACJ,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,YAAY;IAC5D,YAAY,KAAwB;QAClC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,2BAA2B,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;CACF;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;QACvC,OAAO,IAAI,4BAA4B,CAAC,KAAK,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"start-error.js","sourceRoot":"","sources":["../../src/executors/start-error.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -7,11 +7,14 @@ import { buildApp } from './app.js';
7
7
  import { getDevPort } from '@agent-tower/shared/dev-port';
8
8
  import { getBundledPrismaCommand } from './utils/process-launch.js';
9
9
  import { preparePrismaCliEnv } from './utils/prisma-cli-env.js';
10
- import { installProcessErrorLogging, writeErrorLog } from './utils/error-log.js';
10
+ import { installProcessErrorLogging, registerProcessShutdownHandler, writeErrorLog } from './utils/error-log.js';
11
11
  import { getOrCreateInternalApiToken, INTERNAL_API_TOKEN_ENV } from './utils/internal-api-token.js';
12
+ import { getSessionManager } from './core/container.js';
13
+ import { createServerEntryShutdownCoordinator } from './runtime/server-entry-shutdown.js';
12
14
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
13
15
  const monorepoRoot = path.resolve(__dirname, '../../..');
14
16
  const PORT = getDevPort(monorepoRoot);
17
+ let shutdownCoordinator;
15
18
  // Dev 数据目录:与生产环境 (~/.agent-tower) 隔离
16
19
  const dataDir = path.join(homedir(), '.agent-tower-dev');
17
20
  if (!existsSync(dataDir)) {
@@ -46,38 +49,41 @@ catch (err) {
46
49
  schemaPath,
47
50
  },
48
51
  }, { dataDir });
49
- process.exit(1);
52
+ process.exitCode = 1;
53
+ throw err;
50
54
  }
51
55
  async function main() {
52
56
  const app = await buildApp();
53
- // 优雅关闭处理
54
- let shuttingDown = false;
55
- const shutdown = async (signal) => {
56
- if (shuttingDown) {
57
- console.log('\nForce exit.');
58
- process.exit(1);
59
- }
60
- shuttingDown = true;
57
+ // 优雅关闭处理。Fastify 的 onClose hook 失败后不会再次执行,因此在
58
+ // 应用级 coordinator 中重复 runtime cleanup,并用 referenced retry 保持
59
+ // 进程存活直到所有 owner 真正确认退出。
60
+ const shutdown = createServerEntryShutdownCoordinator({
61
+ closeApp: () => app.close(),
62
+ destroyRuntime: () => getSessionManager().destroyAll(),
63
+ onAppCloseError: (error) => {
64
+ console.warn('Fastify close reported an error after runtime cleanup; continuing shutdown', error);
65
+ },
66
+ }, (error, attempt) => {
67
+ console.error(`Shutdown cleanup pending (attempt ${attempt}); retrying`, error);
68
+ writeErrorLog({
69
+ level: 'warn',
70
+ source: 'server.index.shutdown.retry',
71
+ message: 'Runtime cleanup is still pending; shutdown will retry',
72
+ error,
73
+ metadata: { attempt },
74
+ }, { dataDir });
75
+ });
76
+ shutdownCoordinator = shutdown;
77
+ registerProcessShutdownHandler(() => shutdown.request());
78
+ const requestShutdown = (signal) => {
61
79
  console.log(`\n${signal} received, shutting down gracefully...`);
62
- try {
63
- await app.close();
80
+ void shutdown.request().then(() => {
64
81
  console.log('Server closed');
65
- await new Promise((resolve) => setTimeout(resolve, 200));
66
82
  process.exit(0);
67
- }
68
- catch (err) {
69
- console.error('Error during shutdown:', err);
70
- writeErrorLog({
71
- level: 'error',
72
- source: 'server.index.shutdown',
73
- message: 'Error during shutdown',
74
- error: err,
75
- }, { dataDir });
76
- process.exit(1);
77
- }
83
+ });
78
84
  };
79
- process.on('SIGTERM', () => shutdown('SIGTERM'));
80
- process.on('SIGINT', () => shutdown('SIGINT'));
85
+ process.on('SIGTERM', () => requestShutdown('SIGTERM'));
86
+ process.on('SIGINT', () => requestShutdown('SIGINT'));
81
87
  try {
82
88
  await app.listen({ port: PORT, host: '0.0.0.0' });
83
89
  console.log(`Server is running on http://localhost:${PORT}`);
@@ -92,10 +98,10 @@ async function main() {
92
98
  error: err,
93
99
  metadata: { port: PORT },
94
100
  }, { dataDir });
95
- process.exit(1);
101
+ throw err;
96
102
  }
97
103
  }
98
- main().catch((err) => {
104
+ main().catch(async (err) => {
99
105
  console.error('Fatal error:', err);
100
106
  writeErrorLog({
101
107
  level: 'error',
@@ -103,6 +109,10 @@ main().catch((err) => {
103
109
  message: 'Fatal dev server error',
104
110
  error: err,
105
111
  }, { dataDir });
106
- process.exit(1);
112
+ const shutdown = shutdownCoordinator;
113
+ if (shutdown) {
114
+ await shutdown.request();
115
+ }
116
+ process.exitCode = 1;
107
117
  });
108
118
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -46,6 +46,26 @@ describe('AgentTowerClient workspace services', () => {
46
46
  }),
47
47
  }));
48
48
  });
49
+ it('carries the bound invocation identity through sessions.send_message', async () => {
50
+ const fetchMock = vi.fn(async () => new Response(JSON.stringify({ success: true }), {
51
+ status: 200,
52
+ headers: { 'content-type': 'application/json' },
53
+ }));
54
+ vi.stubGlobal('fetch', fetchMock);
55
+ const client = new AgentTowerClient('http://127.0.0.1:12580');
56
+ client.setInternalApiToken('internal-token');
57
+ client.setSessionId('session-1');
58
+ client.setInvocationId('invocation-1');
59
+ await client.sendMessage('session-1', 'continue');
60
+ expect(fetchMock).toHaveBeenCalledWith('http://127.0.0.1:12580/api/sessions/session-1/message', expect.objectContaining({
61
+ method: 'POST',
62
+ headers: expect.objectContaining({
63
+ 'x-agent-tower-internal-token': 'internal-token',
64
+ 'x-agent-tower-session-id': 'session-1',
65
+ 'x-agent-tower-invocation-id': 'invocation-1',
66
+ }),
67
+ }));
68
+ });
49
69
  it('prefers a bound Agent credential over the global internal token', async () => {
50
70
  const fetchMock = vi.fn(async (_input, _init) => new Response(JSON.stringify({ services: [] }), {
51
71
  status: 200,
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.test.js","sourceRoot":"","sources":["../../src/mcp/http-client.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.test.js","sourceRoot":"","sources":["../../src/mcp/http-client.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAsB,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAExE,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;YACpF,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAE9D,MAAM,MAAM,CAAC,qBAAqB,CAAC,eAAe,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnG,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,0EAA0E,EAC1E,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAC3C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC;YACnE,KAAK,EAAE,iBAAiB;YACxB,IAAI,EAAE,+BAA+B;SACtC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAE9D,MAAM,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACvE,MAAM,CAAC,gBAAgB,CAA8B;YACnD,MAAM,EAAE,GAAG;YACX,IAAI,EAAE,+BAA+B;YACrC,UAAU,EAAE,iBAAiB;YAC7B,OAAO,EAAE,iDAAiD;SAC3D,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAA8B,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;YACpI,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvC,MAAM,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACjF,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC/B,8BAA8B,EAAE,gBAAgB;gBAChD,0BAA0B,EAAE,WAAW;gBACvC,6BAA6B,EAAE,cAAc;aAC9C,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE;YAClF,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;QAEvC,MAAM,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,uDAAuD,EACvD,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC/B,8BAA8B,EAAE,gBAAgB;gBAChD,0BAA0B,EAAE,WAAW;gBACvC,6BAA6B,EAAE,cAAc;aAC9C,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,MAA8B,EAAE,KAAmB,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EAAE;YACpI,MAAM,EAAE,GAAG;YACX,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,CAAC;QACJ,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;QAC9D,MAAM,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC7C,MAAM,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAEjD,MAAM,MAAM,CAAC,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAElD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,gBAAgB,CAAC;YACjF,OAAO,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC/B,gCAAgC,EAAE,kBAAkB;aACrD,CAAC;SACH,CAAC,CAAC,CAAC;QACJ,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC;IACnG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=sessions.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.test.d.ts","sourceRoot":"","sources":["../../../../src/mcp/tools/__tests__/sessions.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import { describe, expect, it, vi } from 'vitest';
2
+ import { registerSessionTools } from '../sessions.js';
3
+ function createServerMock() {
4
+ const handlers = new Map();
5
+ return {
6
+ handlers,
7
+ server: {
8
+ tool: vi.fn((name, _description, _shape, handler) => {
9
+ handlers.set(name, handler);
10
+ }),
11
+ },
12
+ };
13
+ }
14
+ describe('session MCP tools', () => {
15
+ it('preserves a TeamRun direct-send admission rejection', async () => {
16
+ const { server, handlers } = createServerMock();
17
+ const client = {
18
+ sendMessage: vi.fn(async () => {
19
+ throw new Error('[SESSION_NOT_ADMITTED] TeamRun follow-up requires the current invocation identity');
20
+ }),
21
+ stopSession: vi.fn(),
22
+ };
23
+ registerSessionTools(server, client);
24
+ const result = await handlers.get('send_message')({
25
+ session_id: 'session-1',
26
+ message: 'late follow-up',
27
+ });
28
+ expect(client.sendMessage).toHaveBeenCalledWith('session-1', 'late follow-up');
29
+ expect(result.isError).toBe(true);
30
+ expect(result.content[0].text).toContain('SESSION_NOT_ADMITTED');
31
+ });
32
+ });
33
+ //# sourceMappingURL=sessions.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.test.js","sourceRoot":"","sources":["../../../../src/mcp/tools/__tests__/sessions.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAEtD,SAAS,gBAAgB;IACvB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAyC,CAAC;IAClE,OAAO;QACL,QAAQ;QACR,MAAM,EAAE;YACN,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,YAAoB,EAAE,MAAe,EAAE,OAAsC,EAAE,EAAE;gBAC1G,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9B,CAAC,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,gBAAgB,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;gBAC5B,MAAM,IAAI,KAAK,CAAC,mFAAmF,CAAC,CAAC;YACvG,CAAC,CAAC;YACF,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;SACrB,CAAC;QACF,oBAAoB,CAAC,MAAa,EAAE,MAAa,CAAC,CAAC;QAEnD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,cAAc,CAAE,CAAC;YACjD,UAAU,EAAE,WAAW;YACvB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,20 +1,24 @@
1
1
  import Fastify from 'fastify';
2
2
  import { AgentType, RuntimeType } from '@agent-tower/shared';
3
3
  import { beforeEach, describe, expect, it, vi } from 'vitest';
4
- import { ValidationError } from '../../errors.js';
5
- const { findWorkspace, findSession, createSession, getRuntimeState, resolveRuntimePermission, getProviderById } = vi.hoisted(() => ({
4
+ import { ServiceError, ValidationError } from '../../errors.js';
5
+ import { INTERNAL_API_INVOCATION_ID_HEADER } from '../../utils/internal-api-token.js';
6
+ const { findWorkspace, findSession, createSession, getRuntimeState, resolveRuntimePermission, getProviderById, stopSession, sendMessage } = vi.hoisted(() => ({
6
7
  findWorkspace: vi.fn(),
7
8
  findSession: vi.fn(),
8
9
  createSession: vi.fn(),
9
10
  getRuntimeState: vi.fn(),
10
11
  resolveRuntimePermission: vi.fn(),
11
12
  getProviderById: vi.fn(),
13
+ stopSession: vi.fn(),
14
+ sendMessage: vi.fn(),
12
15
  }));
13
16
  vi.mock('../../core/container.js', () => ({
14
17
  getSessionManager: () => ({
15
18
  create: createSession,
16
19
  getRuntimeState,
17
20
  resolveRuntimePermission,
21
+ sendMessage,
18
22
  }),
19
23
  }));
20
24
  vi.mock('../../utils/index.js', () => ({
@@ -24,9 +28,19 @@ vi.mock('../../utils/index.js', () => ({
24
28
  },
25
29
  }));
26
30
  vi.mock('../../executors/index.js', () => ({ getProviderById }));
31
+ vi.mock('../../services/team-scheduler.service.js', () => ({
32
+ TeamSchedulerService: class {
33
+ stopSession = stopSession;
34
+ },
35
+ }));
27
36
  import { sessionRoutes } from '../sessions.js';
28
- async function buildTestApp() {
37
+ async function buildTestApp(options = {}) {
29
38
  const app = Fastify();
39
+ if (options.internalAuth) {
40
+ app.addHook('onRequest', async (request) => {
41
+ request.agentTowerAuthKind = 'internal';
42
+ });
43
+ }
30
44
  await app.register(sessionRoutes, { prefix: '/api' });
31
45
  return app;
32
46
  }
@@ -38,6 +52,8 @@ describe('session runtime routes', () => {
38
52
  getRuntimeState.mockReset();
39
53
  resolveRuntimePermission.mockReset();
40
54
  getProviderById.mockReset();
55
+ stopSession.mockReset();
56
+ sendMessage.mockReset();
41
57
  });
42
58
  it('maps an unsupported Agent runtime combination to a validation response', async () => {
43
59
  const app = await buildTestApp();
@@ -103,5 +119,61 @@ describe('session runtime routes', () => {
103
119
  expect(response.json()).toEqual({ error: 'Permission request is no longer active' });
104
120
  await app.close();
105
121
  });
122
+ it('routes direct session stop through the TeamRun scheduler admission boundary', async () => {
123
+ const app = await buildTestApp();
124
+ stopSession.mockResolvedValue({ id: 'session-1' });
125
+ const response = await app.inject({ method: 'POST', url: '/api/sessions/session-1/stop' });
126
+ expect(response.statusCode).toBe(200);
127
+ expect(stopSession).toHaveBeenCalledWith('session-1');
128
+ await app.close();
129
+ });
130
+ it('maps a rejected TeamRun direct follow-up without turning it into a 500', async () => {
131
+ const app = await buildTestApp();
132
+ findSession.mockResolvedValue({
133
+ id: 'session-1',
134
+ workspace: {
135
+ task: {
136
+ deletedAt: null,
137
+ project: { name: 'Project', archivedAt: null, repoDeletedAt: null },
138
+ },
139
+ },
140
+ conversation: null,
141
+ });
142
+ sendMessage.mockRejectedValue(new ServiceError('TeamRun follow-up requires the current invocation identity', 'SESSION_NOT_ADMITTED', 409));
143
+ const response = await app.inject({
144
+ method: 'POST',
145
+ url: '/api/sessions/session-1/message',
146
+ payload: { message: 'late follow-up' },
147
+ });
148
+ expect(response.statusCode).toBe(409);
149
+ expect(response.json()).toEqual({
150
+ error: 'TeamRun follow-up requires the current invocation identity',
151
+ code: 'SESSION_NOT_ADMITTED',
152
+ });
153
+ await app.close();
154
+ });
155
+ it('passes a trusted internal invocation identity to direct follow-up admission', async () => {
156
+ const app = await buildTestApp({ internalAuth: true });
157
+ findSession.mockResolvedValue({
158
+ id: 'session-1',
159
+ workspace: {
160
+ task: {
161
+ deletedAt: null,
162
+ project: { name: 'Project', archivedAt: null, repoDeletedAt: null },
163
+ },
164
+ },
165
+ conversation: null,
166
+ });
167
+ sendMessage.mockResolvedValue({ id: 'session-1' });
168
+ const response = await app.inject({
169
+ method: 'POST',
170
+ url: '/api/sessions/session-1/message',
171
+ headers: { [INTERNAL_API_INVOCATION_ID_HEADER]: 'invocation-1' },
172
+ payload: { message: 'continue' },
173
+ });
174
+ expect(response.statusCode).toBe(200);
175
+ expect(sendMessage).toHaveBeenCalledWith('session-1', 'continue', undefined, 'invocation-1');
176
+ await app.close();
177
+ });
106
178
  });
107
179
  //# sourceMappingURL=sessions-runtime.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sessions-runtime.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/sessions-runtime.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sessions-runtime.test.js","sourceRoot":"","sources":["../../../src/routes/__tests__/sessions-runtime.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/routes/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA8C/C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,eAAe,iBA8D5D"}
1
+ {"version":3,"file":"conversations.d.ts","sourceRoot":"","sources":["../../src/routes/conversations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AA8C/C,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,eAAe,iBAkE5D"}
@@ -74,7 +74,11 @@ export async function conversationRoutes(app) {
74
74
  app.post('/conversations/:id/message', async (request, reply) => {
75
75
  try {
76
76
  const body = sendMessageSchema.parse(request.body);
77
- return await conversationService.sendMessage(request.params.id, body);
77
+ const conversation = await conversationService.sendMessage(request.params.id, body);
78
+ // The message is durably queued; ACP startup and prompt execution are
79
+ // intentionally completed asynchronously by SessionManager.
80
+ reply.code(202);
81
+ return conversation;
78
82
  }
79
83
  catch (error) {
80
84
  return handleError(error, reply);
@@ -1 +1 @@
1
- {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/routes/conversations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversations.js","sourceRoot":"","sources":["../../src/routes/conversations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/routes/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAuC/C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,CAShJ;AA+FD,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,iBA4SvD"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/routes/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAyC/C;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,CAShJ;AA+FD,wBAAsB,aAAa,CAAC,GAAG,EAAE,eAAe,iBAsTvD"}
@@ -9,6 +9,8 @@ import { RuntimeType } from '@agent-tower/shared';
9
9
  import { ServiceError } from '../errors.js';
10
10
  import { AgentVisualizationError, AgentVisualizationService, } from '../services/agent-visualization.service.js';
11
11
  import { AgentArtifactError, AgentArtifactService, } from '../services/agent-artifact.service.js';
12
+ import { TeamSchedulerService } from '../services/team-scheduler.service.js';
13
+ import { INTERNAL_API_INVOCATION_ID_HEADER } from '../utils/internal-api-token.js';
12
14
  function buildProjectReadOnlyError(project) {
13
15
  if (!project.archivedAt)
14
16
  return null;
@@ -249,7 +251,7 @@ export async function sessionRoutes(app) {
249
251
  });
250
252
  // 停止会话
251
253
  app.post('/sessions/:id/stop', async (request, reply) => {
252
- const result = await sessionService.stop(request.params.id);
254
+ const result = await new TeamSchedulerService().stopSession(request.params.id);
253
255
  if (!result) {
254
256
  reply.code(404);
255
257
  return { error: 'Session not found' };
@@ -274,7 +276,12 @@ export async function sessionRoutes(app) {
274
276
  const workspaceError = validateWorkspaceBackedSession(existing, reply);
275
277
  if (workspaceError)
276
278
  return workspaceError;
277
- const result = await sessionService.sendMessage(request.params.id, body.message, body.providerId);
279
+ const headerInvocationId = request.headers[INTERNAL_API_INVOCATION_ID_HEADER];
280
+ const trustedInvocationId = request.agentTowerAgentIdentity?.invocationId
281
+ ?? (request.agentTowerAuthKind === 'internal' && typeof headerInvocationId === 'string'
282
+ ? headerInvocationId
283
+ : undefined);
284
+ const result = await sessionService.sendMessage(request.params.id, body.message, body.providerId, trustedInvocationId);
278
285
  if (!result) {
279
286
  reply.code(404);
280
287
  return { error: 'Session not found' };
@@ -283,6 +290,10 @@ export async function sessionRoutes(app) {
283
290
  }
284
291
  catch (error) {
285
292
  console.error(`[sessions] sendMessage failed for session ${request.params.id}:`, error);
293
+ if (error instanceof ServiceError) {
294
+ reply.code(error.statusCode);
295
+ return { error: error.message, code: error.code };
296
+ }
286
297
  reply.code(500);
287
298
  return { error: error instanceof Error ? error.message : 'Failed to send message' };
288
299
  }