@agent-vm/agent-vm 0.0.77 → 0.0.79

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 (75) hide show
  1. package/dist/cli/commands/controller-definition.d.ts.map +1 -1
  2. package/dist/cli/commands/controller-definition.js +7 -3
  3. package/dist/cli/commands/controller-definition.js.map +1 -1
  4. package/dist/cli/manual-templates.d.ts.map +1 -1
  5. package/dist/cli/manual-templates.js +8 -4
  6. package/dist/cli/manual-templates.js.map +1 -1
  7. package/dist/controller/controller-runtime-types.d.ts +4 -0
  8. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  9. package/dist/controller/controller-runtime.d.ts.map +1 -1
  10. package/dist/controller/controller-runtime.js +28 -3
  11. package/dist/controller/controller-runtime.js.map +1 -1
  12. package/dist/controller/http/controller-http-route-support.d.ts +12 -0
  13. package/dist/controller/http/controller-http-route-support.d.ts.map +1 -1
  14. package/dist/controller/http/controller-http-route-support.js +12 -0
  15. package/dist/controller/http/controller-http-route-support.js.map +1 -1
  16. package/dist/controller/http/controller-http-routes.d.ts +4 -1
  17. package/dist/controller/http/controller-http-routes.d.ts.map +1 -1
  18. package/dist/controller/http/controller-http-routes.js +75 -24
  19. package/dist/controller/http/controller-http-routes.js.map +1 -1
  20. package/dist/controller/http/controller-lease-response-types.d.ts +1 -0
  21. package/dist/controller/http/controller-lease-response-types.d.ts.map +1 -1
  22. package/dist/controller/http/controller-lease-response-types.js +1 -0
  23. package/dist/controller/http/controller-lease-response-types.js.map +1 -1
  24. package/dist/controller/http/controller-request-schemas.d.ts +1 -0
  25. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  26. package/dist/controller/http/controller-request-schemas.js +15 -1
  27. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  28. package/dist/controller/http/controller-zone-operation-routes.d.ts +4 -2
  29. package/dist/controller/http/controller-zone-operation-routes.d.ts.map +1 -1
  30. package/dist/controller/http/controller-zone-operation-routes.js +50 -1
  31. package/dist/controller/http/controller-zone-operation-routes.js.map +1 -1
  32. package/dist/controller/leases/lease-manager.d.ts +17 -1
  33. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  34. package/dist/controller/leases/lease-manager.js +133 -34
  35. package/dist/controller/leases/lease-manager.js.map +1 -1
  36. package/dist/controller/leases/tcp-pool.d.ts +3 -0
  37. package/dist/controller/leases/tcp-pool.d.ts.map +1 -1
  38. package/dist/controller/leases/tcp-pool.js +12 -1
  39. package/dist/controller/leases/tcp-pool.js.map +1 -1
  40. package/dist/controller/leases/tool-vm-recovery.d.ts +31 -0
  41. package/dist/controller/leases/tool-vm-recovery.d.ts.map +1 -0
  42. package/dist/controller/leases/tool-vm-recovery.js +178 -0
  43. package/dist/controller/leases/tool-vm-recovery.js.map +1 -0
  44. package/dist/controller/leases/tool-vm-runtime-record.d.ts +59 -0
  45. package/dist/controller/leases/tool-vm-runtime-record.d.ts.map +1 -0
  46. package/dist/controller/leases/tool-vm-runtime-record.js +159 -0
  47. package/dist/controller/leases/tool-vm-runtime-record.js.map +1 -0
  48. package/dist/gateway/gateway-recovery.d.ts +8 -5
  49. package/dist/gateway/gateway-recovery.d.ts.map +1 -1
  50. package/dist/gateway/gateway-recovery.js +63 -123
  51. package/dist/gateway/gateway-recovery.js.map +1 -1
  52. package/dist/gateway/gateway-runtime-record.d.ts +24 -16
  53. package/dist/gateway/gateway-runtime-record.d.ts.map +1 -1
  54. package/dist/gateway/gateway-runtime-record.js +53 -68
  55. package/dist/gateway/gateway-runtime-record.js.map +1 -1
  56. package/dist/gateway/gateway-zone-orchestrator.d.ts +6 -0
  57. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  58. package/dist/gateway/gateway-zone-orchestrator.js +157 -40
  59. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  60. package/dist/operations/controller-offline-cleanup.d.ts +3 -0
  61. package/dist/operations/controller-offline-cleanup.d.ts.map +1 -1
  62. package/dist/operations/controller-offline-cleanup.js +16 -6
  63. package/dist/operations/controller-offline-cleanup.js.map +1 -1
  64. package/dist/operations/destroy-zone.d.ts.map +1 -1
  65. package/dist/operations/destroy-zone.js +5 -0
  66. package/dist/operations/destroy-zone.js.map +1 -1
  67. package/dist/shared/managed-vm-process.d.ts +33 -0
  68. package/dist/shared/managed-vm-process.d.ts.map +1 -0
  69. package/dist/shared/managed-vm-process.js +248 -0
  70. package/dist/shared/managed-vm-process.js.map +1 -0
  71. package/dist/shared/port-owner.d.ts +18 -0
  72. package/dist/shared/port-owner.d.ts.map +1 -0
  73. package/dist/shared/port-owner.js +60 -0
  74. package/dist/shared/port-owner.js.map +1 -0
  75. package/package.json +11 -11
@@ -1 +1 @@
1
- {"version":3,"file":"controller-zone-operation-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller-zone-operation-routes.js","sourceRoot":"","sources":["../../../src/controller/http/controller-zone-operation-routes.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import { type EndToolVmActiveUseRequest, type HeartbeatToolVmActiveUseResponse, type StartToolVmActiveUseRequest, type StartToolVmActiveUseResponse } from '@agent-vm/gateway-interface';
2
2
  import type { ManagedVm } from '@agent-vm/gondolin-adapter';
3
+ import type { readProcessIdentity as defaultReadProcessIdentity } from '../../shared/managed-vm-process.js';
3
4
  import type { ZoneGitToolVmMount } from '../zone-git/zone-git-paths.js';
4
5
  import type { TcpPool } from './tcp-pool.js';
6
+ import { deleteToolVmRuntimeRecord, writeToolVmRuntimeRecord } from './tool-vm-runtime-record.js';
5
7
  export interface ToolVmProfile {
6
8
  readonly cpus: number;
7
9
  readonly imageProfile: string;
@@ -9,6 +11,7 @@ export interface ToolVmProfile {
9
11
  readonly runtimeRootfsSize?: string | undefined;
10
12
  }
11
13
  export interface Lease {
14
+ readonly agentId: string;
12
15
  readonly agentWorkspaceDir: string;
13
16
  readonly createdAt: number;
14
17
  readonly effectiveIdleTtlMs: number;
@@ -16,6 +19,7 @@ export interface Lease {
16
19
  readonly id: string;
17
20
  readonly lastUsedAt: number;
18
21
  readonly profileId: string;
22
+ readonly runtimeRecordId: string;
19
23
  readonly scopeKey: string;
20
24
  readonly sshAccess: {
21
25
  readonly command?: string;
@@ -41,6 +45,7 @@ export interface LeaseSnapshot {
41
45
  }
42
46
  export interface LeaseManager {
43
47
  createLease(options: {
48
+ readonly agentId: string;
44
49
  readonly agentWorkspaceDir: string;
45
50
  readonly effectiveIdleTtlMs?: number;
46
51
  readonly profile: ToolVmProfile;
@@ -66,7 +71,9 @@ export interface LeaseManager {
66
71
  }): Promise<void>;
67
72
  startActiveUse(leaseId: string, request: StartToolVmActiveUseRequest): StartToolVmActiveUseResponse | undefined;
68
73
  }
69
- export declare class LeaseScopeConflictError extends Error {
74
+ export declare class AgentLeaseCompatibilityConflictError extends Error {
75
+ readonly mismatchedFields: readonly string[];
76
+ constructor(message: string, mismatchedFields: readonly string[]);
70
77
  }
71
78
  export declare class LeaseActiveUseConflictError extends Error {
72
79
  }
@@ -76,9 +83,12 @@ export interface ToolVmUsePolicy {
76
83
  readonly heartbeatStaleMs: number;
77
84
  }
78
85
  export declare function createLeaseManager(options: {
86
+ readonly controllerPort: number;
87
+ readonly createRuntimeRecordId?: () => string;
79
88
  readonly createManagedVm: (leaseOptions: {
80
89
  readonly agentWorkspaceDir: string;
81
90
  readonly effectiveIdleTtlMs?: number;
91
+ readonly agentId: string;
82
92
  readonly profile: ToolVmProfile;
83
93
  readonly profileId: string;
84
94
  readonly scopeKey: string;
@@ -88,8 +98,14 @@ export declare function createLeaseManager(options: {
88
98
  readonly zoneGitMount?: ZoneGitToolVmMount;
89
99
  readonly zoneId: string;
90
100
  }) => Promise<ManagedVm>;
101
+ readonly deleteToolVmRuntimeRecord?: typeof deleteToolVmRuntimeRecord;
91
102
  readonly now: () => number;
103
+ readonly projectNamespace: string;
104
+ readonly readProcessIdentity?: typeof defaultReadProcessIdentity;
105
+ readonly stateDirFor: (zoneId: string) => string;
106
+ readonly systemConfigPath: string;
92
107
  readonly tcpPool: TcpPool;
93
108
  readonly toolVmUsePolicy?: ToolVmUsePolicy;
109
+ readonly writeToolVmRuntimeRecord?: typeof writeToolVmRuntimeRecord;
94
110
  }): LeaseManager;
95
111
  //# sourceMappingURL=lease-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lease-manager.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-manager.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,13 @@
1
+ import { randomUUID } from 'node:crypto';
1
2
  import { isToolVmActiveUseId, } from '@agent-vm/gateway-interface';
2
- export class LeaseScopeConflictError extends Error {
3
+ import { buildToolVmRuntimeRecord, deleteToolVmRuntimeRecord, writeToolVmRuntimeRecord, } from './tool-vm-runtime-record.js';
4
+ export class AgentLeaseCompatibilityConflictError extends Error {
5
+ mismatchedFields;
6
+ constructor(message, mismatchedFields) {
7
+ super(message);
8
+ this.mismatchedFields = mismatchedFields;
9
+ this.name = 'AgentLeaseCompatibilityConflictError';
10
+ }
3
11
  }
4
12
  export class LeaseActiveUseConflictError extends Error {
5
13
  }
@@ -9,6 +17,12 @@ const defaultToolVmUsePolicy = {
9
17
  heartbeatAfterMs: 30 * 1000,
10
18
  heartbeatStaleMs: 2 * 60 * 1000,
11
19
  };
20
+ const leaseAgentIdPattern = /^[a-z0-9][a-z0-9_-]{0,63}$/iu;
21
+ function assertValidLeaseAgentId(agentId) {
22
+ if (!leaseAgentIdPattern.test(agentId)) {
23
+ throw new Error(`Invalid Tool VM lease agentId '${agentId}': expected an OpenClaw agent id matching /^[a-z0-9][a-z0-9_-]{0,63}$/i.`);
24
+ }
25
+ }
12
26
  function assertValidToolVmUsePolicy(policy) {
13
27
  if (policy.heartbeatAfterMs <= 0) {
14
28
  throw new Error('Tool VM active-use heartbeatAfterMs must be positive.');
@@ -26,25 +40,29 @@ function formatLeaseManagerError(error) {
26
40
  function writeLeaseManagerWarning(message) {
27
41
  process.stderr.write(`[lease-manager] ${message}\n`);
28
42
  }
29
- function assertReusableScopeLease(existingLease, requestedLease) {
43
+ function assertCompatibleAgentLeaseRequest(existingLease, requestedLease) {
44
+ const mismatchedFields = [];
30
45
  if (requestedLease.effectiveIdleTtlMs !== undefined &&
31
46
  existingLease.effectiveIdleTtlMs !== requestedLease.effectiveIdleTtlMs) {
32
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing effectiveIdleTtlMs '${String(existingLease.effectiveIdleTtlMs)}' does not match requested effectiveIdleTtlMs '${String(requestedLease.effectiveIdleTtlMs)}'.`);
47
+ mismatchedFields.push('effectiveIdleTtlMs');
33
48
  }
34
49
  if (existingLease.profileId !== requestedLease.profileId) {
35
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing profileId '${existingLease.profileId}' does not match requested profileId '${requestedLease.profileId}'.`);
50
+ mismatchedFields.push('profileId');
36
51
  }
37
52
  if (existingLease.hostWorkMountDir !== requestedLease.hostWorkMountDir) {
38
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing hostWorkMountDir '${existingLease.hostWorkMountDir}' does not match requested hostWorkMountDir '${requestedLease.hostWorkMountDir}'.`);
53
+ mismatchedFields.push('hostWorkMountDir');
39
54
  }
40
55
  if (existingLease.guestWorkdir !== requestedLease.guestWorkdir) {
41
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing guestWorkdir '${existingLease.guestWorkdir}' does not match requested guestWorkdir '${requestedLease.guestWorkdir}'.`);
56
+ mismatchedFields.push('guestWorkdir');
42
57
  }
43
58
  if (!zoneGitMountsEqual(existingLease.zoneGitMount, requestedLease.zoneGitMount)) {
44
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing zoneGitMount does not match requested zoneGitMount.`);
59
+ mismatchedFields.push('zoneGitMount');
45
60
  }
46
61
  if (existingLease.agentWorkspaceDir !== requestedLease.agentWorkspaceDir) {
47
- throw new LeaseScopeConflictError(`Tool VM lease scope conflict for zone '${requestedLease.zoneId}' scopeKey '${requestedLease.scopeKey}': existing agentWorkspaceDir '${existingLease.agentWorkspaceDir}' does not match requested agentWorkspaceDir '${requestedLease.agentWorkspaceDir}'.`);
62
+ mismatchedFields.push('agentWorkspaceDir');
63
+ }
64
+ if (mismatchedFields.length > 0) {
65
+ throw new AgentLeaseCompatibilityConflictError(`existing Tool VM lease for agent '${existingLease.agentId}' is not compatible with this request; mismatched fields: ${mismatchedFields.join(', ')}`, mismatchedFields);
48
66
  }
49
67
  }
50
68
  function zoneGitMountsEqual(leftMount, rightMount) {
@@ -64,8 +82,8 @@ async function isLeaseVmLive(lease) {
64
82
  return false;
65
83
  }
66
84
  }
67
- function scopeIndexKey(scopeRequest) {
68
- return `${scopeRequest.zoneId}\0${scopeRequest.scopeKey}`;
85
+ function agentLeaseIndexKey(agentLease) {
86
+ return `${agentLease.zoneId}\0${agentLease.agentId}`;
69
87
  }
70
88
  function activeUseKey(leaseId, useId) {
71
89
  return `${leaseId}\0${useId}`;
@@ -74,14 +92,14 @@ export function createLeaseManager(options) {
74
92
  const leases = new Map();
75
93
  const activeUses = new Map();
76
94
  const endedUseTombstones = new Map();
77
- const leaseIdsByScope = new Map();
95
+ const leaseIdsByAgent = new Map();
78
96
  const releasingLeaseIds = new Set();
79
- const scopeLocks = new Map();
97
+ const agentLeaseLocks = new Map();
80
98
  const toolVmUsePolicy = options.toolVmUsePolicy ?? defaultToolVmUsePolicy;
81
99
  assertValidToolVmUsePolicy(toolVmUsePolicy);
82
100
  function storeLease(lease) {
83
101
  leases.set(lease.id, lease);
84
- leaseIdsByScope.set(scopeIndexKey(lease), lease.id);
102
+ leaseIdsByAgent.set(agentLeaseIndexKey(lease), lease.id);
85
103
  }
86
104
  function deleteLease(lease) {
87
105
  leases.delete(lease.id);
@@ -96,14 +114,14 @@ export function createLeaseManager(options) {
96
114
  endedUseTombstones.delete(key);
97
115
  }
98
116
  }
99
- const indexKey = scopeIndexKey(lease);
100
- // Only clear the scope index if it still points at this exact lease.
101
- if (leaseIdsByScope.get(indexKey) === lease.id) {
102
- leaseIdsByScope.delete(indexKey);
117
+ const indexKey = agentLeaseIndexKey(lease);
118
+ // Only clear the agent index if it still points at this exact lease.
119
+ if (leaseIdsByAgent.get(indexKey) === lease.id) {
120
+ leaseIdsByAgent.delete(indexKey);
103
121
  }
104
122
  }
105
- function findLeaseForScope(scopeRequest) {
106
- const leaseId = leaseIdsByScope.get(scopeIndexKey(scopeRequest));
123
+ function findLeaseForAgent(agentLease) {
124
+ const leaseId = leaseIdsByAgent.get(agentLeaseIndexKey(agentLease));
107
125
  return leaseId ? leases.get(leaseId) : undefined;
108
126
  }
109
127
  function touchLease(lease) {
@@ -114,68 +132,98 @@ export function createLeaseManager(options) {
114
132
  storeLease(touchedLease);
115
133
  return touchedLease;
116
134
  }
117
- async function withScopeLock(scopeRequest, fn) {
118
- const lockKey = `${scopeRequest.zoneId}\0${scopeRequest.scopeKey}`;
119
- const previousLock = scopeLocks.get(lockKey) ?? Promise.resolve();
135
+ async function withScopeLock(agentLease, fn) {
136
+ const lockKey = `${agentLease.zoneId}\0${agentLease.agentId}`;
137
+ const previousLock = agentLeaseLocks.get(lockKey) ?? Promise.resolve();
120
138
  let releaseCurrentLock;
121
139
  const currentLock = new Promise((resolve) => {
122
140
  releaseCurrentLock = resolve;
123
141
  });
124
- scopeLocks.set(lockKey, currentLock);
142
+ agentLeaseLocks.set(lockKey, currentLock);
125
143
  await previousLock.catch(() => { });
126
144
  try {
127
145
  return await fn();
128
146
  }
129
147
  finally {
130
148
  releaseCurrentLock?.();
131
- if (scopeLocks.get(lockKey) === currentLock) {
132
- scopeLocks.delete(lockKey);
149
+ if (agentLeaseLocks.get(lockKey) === currentLock) {
150
+ agentLeaseLocks.delete(lockKey);
133
151
  }
134
152
  }
135
153
  }
154
+ const writeRuntimeRecord = options.writeToolVmRuntimeRecord ?? writeToolVmRuntimeRecord;
155
+ const deleteRuntimeRecord = options.deleteToolVmRuntimeRecord ?? deleteToolVmRuntimeRecord;
156
+ const createRuntimeRecordId = options.createRuntimeRecordId ?? randomUUID;
136
157
  async function evictLease(lease) {
137
158
  deleteLease(lease);
138
- options.tcpPool.release(lease.tcpSlot);
159
+ let closeSucceeded = true;
139
160
  try {
140
161
  await lease.vm.close();
141
162
  }
142
163
  catch (error) {
143
- writeLeaseManagerWarning(`failed to close evicted lease '${lease.id}' in zone '${lease.zoneId}': ${formatLeaseManagerError(error)}`);
164
+ closeSucceeded = false;
165
+ writeLeaseManagerWarning(`failed to close evicted lease '${lease.id}' in zone '${lease.zoneId}': ${formatLeaseManagerError(error)}. Quarantining tcp slot ${lease.tcpSlot} and preserving runtime record for next-startup cleanup.`);
166
+ }
167
+ // Only release the tcp slot when close() succeeded. If close failed the
168
+ // QEMU may still be holding the host port — quarantine the slot so a
169
+ // fresh createLease cannot race onto the same port. Next-startup Phase A
170
+ // will reap the orphan; this controller process will not reuse the slot.
171
+ if (closeSucceeded) {
172
+ options.tcpPool.release(lease.tcpSlot);
173
+ try {
174
+ await deleteRuntimeRecord(options.stateDirFor(lease.zoneId), lease.runtimeRecordId);
175
+ }
176
+ catch (deleteError) {
177
+ writeLeaseManagerWarning(`failed to delete tool VM runtime record for evicted lease '${lease.id}' in zone '${lease.zoneId}': ${formatLeaseManagerError(deleteError)}`);
178
+ }
179
+ }
180
+ else {
181
+ options.tcpPool.quarantine(lease.tcpSlot);
144
182
  }
145
183
  }
146
184
  return {
147
185
  async createLease(leaseOptions) {
148
186
  return await withScopeLock(leaseOptions, async () => {
149
- const existingLease = findLeaseForScope({
150
- scopeKey: leaseOptions.scopeKey,
187
+ assertValidLeaseAgentId(leaseOptions.agentId);
188
+ const existingLease = findLeaseForAgent({
189
+ agentId: leaseOptions.agentId,
151
190
  zoneId: leaseOptions.zoneId,
152
191
  });
153
192
  if (existingLease) {
154
- assertReusableScopeLease(existingLease, leaseOptions);
193
+ assertCompatibleAgentLeaseRequest(existingLease, leaseOptions);
155
194
  if (await isLeaseVmLive(existingLease)) {
156
195
  return touchLease(existingLease);
157
196
  }
158
197
  await evictLease(existingLease);
159
198
  }
160
199
  const tcpSlot = options.tcpPool.allocate();
200
+ // Tracks whether the slot is safe to release after partial-create
201
+ // failure. If vm.close() throws or never runs (VM was created but
202
+ // teardown failed), the host port may still be held — quarantine
203
+ // the slot instead of releasing it.
204
+ let vmCreatedButNotClosed = false;
161
205
  try {
162
206
  const vm = await options.createManagedVm({
163
207
  ...leaseOptions,
164
208
  tcpSlot,
165
209
  });
210
+ vmCreatedButNotClosed = true;
166
211
  try {
167
212
  const sshAccess = await vm.enableSsh({
168
213
  listenPort: options.tcpPool.portForSlot(tcpSlot),
169
214
  });
170
215
  const createdAt = options.now();
216
+ const runtimeRecordId = createRuntimeRecordId();
171
217
  const lease = {
218
+ agentId: leaseOptions.agentId,
172
219
  agentWorkspaceDir: leaseOptions.agentWorkspaceDir,
173
220
  createdAt,
174
221
  effectiveIdleTtlMs: leaseOptions.effectiveIdleTtlMs ?? defaultLeaseEffectiveIdleTtlMs,
175
222
  guestWorkdir: leaseOptions.guestWorkdir,
176
- id: `${leaseOptions.zoneId}-${leaseOptions.scopeKey}-${createdAt}`,
223
+ id: `${leaseOptions.zoneId}-${leaseOptions.agentId}-${createdAt}`,
177
224
  lastUsedAt: createdAt,
178
225
  profileId: leaseOptions.profileId,
226
+ runtimeRecordId,
179
227
  scopeKey: leaseOptions.scopeKey,
180
228
  sshAccess,
181
229
  tcpSlot,
@@ -185,20 +233,53 @@ export function createLeaseManager(options) {
185
233
  zoneId: leaseOptions.zoneId,
186
234
  };
187
235
  storeLease(lease);
236
+ // Persist a runtime record so the next controller startup can
237
+ // scope-fence and clean up this tool VM's QEMU if we crash
238
+ // before evictLease/releaseLease runs.
239
+ try {
240
+ await writeRuntimeRecord(options.stateDirFor(lease.zoneId), await buildToolVmRuntimeRecord({
241
+ controllerPort: options.controllerPort,
242
+ agentId: lease.agentId,
243
+ leaseId: lease.id,
244
+ managedVm: vm,
245
+ projectNamespace: options.projectNamespace,
246
+ ...(options.readProcessIdentity !== undefined
247
+ ? { readProcessIdentity: options.readProcessIdentity }
248
+ : {}),
249
+ recordId: lease.runtimeRecordId,
250
+ systemConfigPath: options.systemConfigPath,
251
+ tcpSlot: lease.tcpSlot,
252
+ zoneId: lease.zoneId,
253
+ }));
254
+ }
255
+ catch (writeError) {
256
+ // Undo: remove the in-memory lease + close the VM + release the
257
+ // TCP slot, then surface the failure to the caller.
258
+ deleteLease(lease);
259
+ throw writeError;
260
+ }
261
+ vmCreatedButNotClosed = false;
188
262
  return lease;
189
263
  }
190
264
  catch (error) {
191
265
  try {
192
266
  await vm.close();
267
+ vmCreatedButNotClosed = false;
193
268
  }
194
269
  catch (closeError) {
195
- writeLeaseManagerWarning(`failed to close partially-created lease VM for zone '${leaseOptions.zoneId}' scope '${leaseOptions.scopeKey}': ${formatLeaseManagerError(closeError)}`);
270
+ writeLeaseManagerWarning(`failed to close partially-created lease VM for zone '${leaseOptions.zoneId}' scope '${leaseOptions.scopeKey}': ${formatLeaseManagerError(closeError)}. Quarantining tcp slot ${tcpSlot}.`);
196
271
  }
197
272
  throw error;
198
273
  }
199
274
  }
200
275
  catch (error) {
201
- options.tcpPool.release(tcpSlot);
276
+ if (vmCreatedButNotClosed) {
277
+ // VM may still hold the host port — see comment above.
278
+ options.tcpPool.quarantine(tcpSlot);
279
+ }
280
+ else {
281
+ options.tcpPool.release(tcpSlot);
282
+ }
202
283
  throw error;
203
284
  }
204
285
  });
@@ -317,7 +398,25 @@ export function createLeaseManager(options) {
317
398
  releaseError = error instanceof Error ? error : new Error(String(error));
318
399
  }
319
400
  deleteLease(currentLease);
320
- options.tcpPool.release(currentLease.tcpSlot);
401
+ if (releaseError === undefined) {
402
+ // Close succeeded: slot is safe to re-allocate, record is
403
+ // safe to delete.
404
+ options.tcpPool.release(currentLease.tcpSlot);
405
+ try {
406
+ await deleteRuntimeRecord(options.stateDirFor(currentLease.zoneId), currentLease.runtimeRecordId);
407
+ }
408
+ catch (deleteError) {
409
+ writeLeaseManagerWarning(`failed to delete tool VM runtime record for released lease '${currentLease.id}' in zone '${currentLease.zoneId}': ${formatLeaseManagerError(deleteError)}`);
410
+ }
411
+ }
412
+ else {
413
+ // Close failed: QEMU may still hold the host port. Quarantine
414
+ // the slot so the next createLease in this process can't race
415
+ // onto the same port, and preserve the runtime record so the
416
+ // next controller's Phase A cleanup can scope-fence + signal.
417
+ options.tcpPool.quarantine(currentLease.tcpSlot);
418
+ writeLeaseManagerWarning(`failed to close released lease '${currentLease.id}' in zone '${currentLease.zoneId}': ${formatLeaseManagerError(releaseError)}. Quarantining tcp slot ${currentLease.tcpSlot} and preserving runtime record for next-startup cleanup.`);
419
+ }
321
420
  if (releaseError) {
322
421
  throw releaseError;
323
422
  }
@@ -1 +1 @@
1
- {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lease-manager.js","sourceRoot":"","sources":["../../../src/controller/leases/lease-manager.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,9 @@ export interface TcpPool {
3
3
  getAllMappings(): Record<string, string>;
4
4
  portForSlot(slot: number): number;
5
5
  release(slot: number): void;
6
+ quarantine(slot: number): void;
7
+ releaseQuarantined(slot: number): void;
8
+ isQuarantined(slot: number): boolean;
6
9
  }
7
10
  export declare function createTcpPool(options: {
8
11
  readonly basePort: number;
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-pool.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/tcp-pool.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACvB,QAAQ,IAAI,MAAM,CAAC;IACnB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAClC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CA4BV"}
1
+ {"version":3,"file":"tcp-pool.d.ts","sourceRoot":"","sources":["../../../src/controller/leases/tcp-pool.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO;IACvB,QAAQ,IAAI,MAAM,CAAC;IACnB,cAAc,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAIlC,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAI5B,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAI/B,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAuCV"}
@@ -1,9 +1,10 @@
1
1
  export function createTcpPool(options) {
2
2
  const allocatedSlots = new Set();
3
+ const quarantinedSlots = new Set();
3
4
  return {
4
5
  allocate() {
5
6
  for (let slot = 0; slot < options.size; slot += 1) {
6
- if (!allocatedSlots.has(slot)) {
7
+ if (!allocatedSlots.has(slot) && !quarantinedSlots.has(slot)) {
7
8
  allocatedSlots.add(slot);
8
9
  return slot;
9
10
  }
@@ -21,6 +22,16 @@ export function createTcpPool(options) {
21
22
  release(slot) {
22
23
  allocatedSlots.delete(slot);
23
24
  },
25
+ quarantine(slot) {
26
+ allocatedSlots.delete(slot);
27
+ quarantinedSlots.add(slot);
28
+ },
29
+ releaseQuarantined(slot) {
30
+ quarantinedSlots.delete(slot);
31
+ },
32
+ isQuarantined(slot) {
33
+ return quarantinedSlots.has(slot);
34
+ },
24
35
  };
25
36
  }
26
37
  //# sourceMappingURL=tcp-pool.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tcp-pool.js","sourceRoot":"","sources":["../../../src/controller/leases/tcp-pool.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,aAAa,CAAC,OAG7B;IACA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IAEzC,OAAO;QACN,QAAQ;YACP,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/B,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QACD,cAAc;YACb,OAAO,MAAM,CAAC,WAAW,CACxB,CAAC,GAAG,cAAc,CAAC;iBACjB,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;iBACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,aAAa,EAAE,aAAa,OAAO,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CACpF,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAY;YACvB,OAAO,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,IAAY;YACnB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;KACD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tcp-pool.js","sourceRoot":"","sources":["../../../src/controller/leases/tcp-pool.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,aAAa,CAAC,OAG7B;IACA,MAAM,cAAc,GAAG,IAAI,GAAG,EAAU,CAAC;IACzC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE3C,OAAO;QACN,QAAQ;YACP,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9D,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACzB,OAAO,IAAI,CAAC;gBACb,CAAC;YACF,CAAC;YAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC3C,CAAC;QACD,cAAc;YACb,OAAO,MAAM,CAAC,WAAW,CACxB,CAAC,GAAG,cAAc,CAAC;iBACjB,QAAQ,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,GAAG,SAAS,CAAC;iBACvD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,QAAQ,IAAI,aAAa,EAAE,aAAa,OAAO,CAAC,QAAQ,GAAG,IAAI,EAAE,CAAC,CAAC,CACpF,CAAC;QACH,CAAC;QACD,WAAW,CAAC,IAAY;YACvB,OAAO,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,IAAY;YACnB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,CAAC,IAAY;YACtB,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5B,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,kBAAkB,CAAC,IAAY;YAC9B,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,aAAa,CAAC,IAAY;YACzB,OAAO,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC;KACD,CAAC;AACH,CAAC"}