From cebacc27a48168e666679018f8e27156d12d4527 Mon Sep 17 00:00:00 2001 From: Agando Date: Wed, 17 Jun 2026 06:01:20 +0200 Subject: auto: 2026-06-17_06:01 changes --- modules/core/module-leases.js | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'modules/core/module-leases.js') diff --git a/modules/core/module-leases.js b/modules/core/module-leases.js index b79870c..7489c92 100644 --- a/modules/core/module-leases.js +++ b/modules/core/module-leases.js @@ -55,6 +55,19 @@ class LeaseModule { }; this._leases[lease.id] = lease; this.terminal.fs.writeFile(`leases/${lease.id}.json`, JSON.stringify(lease)); + // Post A2A message to lease system agent + try { + const registry = this.terminal.moduleManager.modules['AgentRegistryModule']; + if (registry && typeof registry.a2aPost === 'function') { + registry.a2aPost('orchestrator-0', 'lease-system', 'lease.create', 'leases.create', { + leaseId: lease.id, + workerId, + task, + duration, + expiresAt: lease.expiresAt + }); + } + } catch (e) {} this.terminal.print(`📜 Lease ${lease.id} created for ${workerId} (${duration}s, task: ${task.substring(0, 40)})`, 'success'); return lease; } @@ -74,6 +87,18 @@ class LeaseModule { this._leases[id].status = 'revoked'; this._leases[id].revokedAt = new Date().toISOString(); this.terminal.fs.writeFile(`leases/${id}.json`, JSON.stringify(this._leases[id])); + // Post A2A completion message + try { + const registry = this.terminal.moduleManager.modules['AgentRegistryModule']; + if (registry && typeof registry.a2aPost === 'function') { + registry.a2aPost('orchestrator-0', 'lease-system', 'lease.terminate', 'leases.terminate', { + leaseId: id, + status: 'revoked', + revokedAt: this._leases[id].revokedAt, + workerId: this._leases[id].workerId + }); + } + } catch (e) {} this.terminal.print(`✅ Lease ${id} revoked`, 'warning'); } renewLease(id, additionalSeconds) { -- cgit v1.2.3