@onlineapps/conn-orch-registry 1.1.6 → 1.1.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onlineapps/conn-orch-registry",
3
- "version": "1.1.6",
3
+ "version": "1.1.8",
4
4
  "license": "MIT",
5
5
  "description": "Connector-registry-client provides the core communication mechanism for microservices in this environment. It enables them to interact with a services_registry to receive and fulfill tasks by submitting heartbeats or their API descriptions.",
6
6
  "keywords": [
@@ -66,7 +66,9 @@ class ServiceRegistryClient extends EventEmitter {
66
66
  await this.queueManager.init();
67
67
 
68
68
  // Load validation proof if exists
69
+ console.error(`[RegistryClient] ${this.serviceName}: === CALLING _loadValidationProof() ===`);
69
70
  await this._loadValidationProof();
71
+ console.error(`[RegistryClient] ${this.serviceName}: === FINISHED _loadValidationProof() ===`);
70
72
 
71
73
  // Create service-specific response queue
72
74
  this.serviceResponseQueue = `${this.serviceName}.responses`;
@@ -99,24 +101,74 @@ class ServiceRegistryClient extends EventEmitter {
99
101
  * @returns {Promise<void>}
100
102
  */
101
103
  async _loadValidationProof() {
104
+ const proofPath = path.join(process.cwd(), '.validation-proof.json');
105
+ const debugLogPath = path.join(process.cwd(), '.validation-debug.log');
106
+
107
+ // Write to file for debugging (append mode)
108
+ const log = (msg) => {
109
+ const timestamp = new Date().toISOString();
110
+ const logLine = `${timestamp} [${this.serviceName}] ${msg}\n`;
111
+ fs.appendFileSync(debugLogPath, logLine);
112
+ console.log(`[RegistryClient] ${msg}`);
113
+ };
114
+
115
+ log('=== _loadValidationProof() CALLED ===');
116
+ log(`CWD: ${process.cwd()}`);
117
+ log(`Proof path: ${proofPath}`);
118
+
102
119
  try {
103
- // Look for .validation-proof.json in process.cwd() (service root)
104
- const proofPath = path.join(process.cwd(), '.validation-proof.json');
105
-
106
- if (fs.existsSync(proofPath)) {
107
- const proofData = JSON.parse(fs.readFileSync(proofPath, 'utf8'));
108
-
109
- if (proofData.validationProof && proofData.validationData) {
110
- this.validationProof = {
111
- hash: proofData.validationProof,
112
- data: proofData.validationData
113
- };
114
- console.log(`[RegistryClient] Validation proof loaded: ${this.validationProof.hash.substring(0, 16)}...`);
115
- }
120
+ // Check file existence explicitly
121
+ if (!fs.existsSync(proofPath)) {
122
+ log(`⚠️ Validation proof file NOT FOUND`);
123
+ log(`Service will use Tier 2 validation`);
124
+ this.validationProof = null;
125
+ return;
126
+ }
127
+
128
+ log(`✓ Proof file exists, reading...`);
129
+
130
+ // Read and parse file
131
+ const fileContent = fs.readFileSync(proofPath, 'utf8');
132
+ log(`✓ File read, size: ${fileContent.length} bytes`);
133
+
134
+ const proofData = JSON.parse(fileContent);
135
+ log(`✓ JSON parsed successfully`);
136
+
137
+ // Validate structure
138
+ if (!proofData.validationProof) {
139
+ log(`❌ ERROR: Missing 'validationProof' field`);
140
+ log(`Available fields: ${Object.keys(proofData).join(', ')}`);
141
+ this.validationProof = null;
142
+ return;
143
+ }
144
+
145
+ if (!proofData.validationData) {
146
+ log(`❌ ERROR: Missing 'validationData' field`);
147
+ log(`Available fields: ${Object.keys(proofData).join(', ')}`);
148
+ this.validationProof = null;
149
+ return;
116
150
  }
151
+
152
+ // Store proof
153
+ this.validationProof = {
154
+ hash: proofData.validationProof,
155
+ data: proofData.validationData
156
+ };
157
+
158
+ log(`✅ SUCCESS - Validation proof loaded`);
159
+ log(` Proof hash: ${this.validationProof.hash.substring(0, 32)}...`);
160
+ log(` Validator: ${this.validationProof.data.validator}`);
161
+ log(` Tests passed: ${this.validationProof.data.testsPassed}/${this.validationProof.data.testsRun}`);
162
+ log(` Validated at: ${this.validationProof.data.validatedAt}`);
163
+
117
164
  } catch (error) {
118
165
  // Non-critical error - service can still register without proof (will trigger Tier 2 validation)
119
- console.warn(`[RegistryClient] Could not load validation proof: ${error.message}`);
166
+ log(`❌ EXCEPTION while loading validation proof`);
167
+ log(` Error: ${error.message}`);
168
+ log(` Stack: ${error.stack}`);
169
+ log(` Path attempted: ${proofPath}`);
170
+ log(`Service will use Tier 2 validation`);
171
+ this.validationProof = null;
120
172
  }
121
173
  }
122
174
 
@@ -207,7 +259,10 @@ class ServiceRegistryClient extends EventEmitter {
207
259
  if (this.validationProof) {
208
260
  msg.validationProof = this.validationProof.hash;
209
261
  msg.validationData = this.validationProof.data;
210
- console.log(`[RegistryClient] Including validation proof in registration: ${this.validationProof.hash.substring(0, 16)}...`);
262
+ console.log(`[RegistryClient] ${this.serviceName}: ✅ Including validation proof in registration message`);
263
+ console.log(`[RegistryClient] ${this.serviceName}: Proof hash: ${this.validationProof.hash.substring(0, 32)}...`);
264
+ } else {
265
+ console.log(`[RegistryClient] ${this.serviceName}: ⚠️ NO validation proof available - Registry will perform Tier 2 validation`);
211
266
  }
212
267
 
213
268
  // Create promise to wait for registration response