zeropoint-node 1.0.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.
- package/README.md +531 -0
- package/dist/src/__tests__/globalSetup.d.ts +13 -0
- package/dist/src/__tests__/globalSetup.d.ts.map +1 -0
- package/dist/src/__tests__/globalSetup.js +81 -0
- package/dist/src/__tests__/globalSetup.js.map +1 -0
- package/dist/src/__tests__/globalTeardown.d.ts +20 -0
- package/dist/src/__tests__/globalTeardown.d.ts.map +1 -0
- package/dist/src/__tests__/globalTeardown.js +88 -0
- package/dist/src/__tests__/globalTeardown.js.map +1 -0
- package/dist/src/__tests__/living/LivingTestOrganism.d.ts +64 -0
- package/dist/src/__tests__/living/LivingTestOrganism.d.ts.map +1 -0
- package/dist/src/__tests__/living/LivingTestOrganism.js +245 -0
- package/dist/src/__tests__/living/LivingTestOrganism.js.map +1 -0
- package/dist/src/__tests__/setup.d.ts +16 -0
- package/dist/src/__tests__/setup.d.ts.map +1 -0
- package/dist/src/__tests__/setup.js +123 -0
- package/dist/src/__tests__/setup.js.map +1 -0
- package/dist/src/__tests__/utils/errorSimulator.d.ts +18 -0
- package/dist/src/__tests__/utils/errorSimulator.d.ts.map +1 -0
- package/dist/src/__tests__/utils/errorSimulator.js +35 -0
- package/dist/src/__tests__/utils/errorSimulator.js.map +1 -0
- package/dist/src/__tests__/utils/goldenRatioCache.d.ts +11 -0
- package/dist/src/__tests__/utils/goldenRatioCache.d.ts.map +1 -0
- package/dist/src/__tests__/utils/goldenRatioCache.js +31 -0
- package/dist/src/__tests__/utils/goldenRatioCache.js.map +1 -0
- package/dist/src/api/ProductionAPI.d.ts +42 -0
- package/dist/src/api/ProductionAPI.d.ts.map +1 -0
- package/dist/src/api/ProductionAPI.js +320 -0
- package/dist/src/api/ProductionAPI.js.map +1 -0
- package/dist/src/consciousness/ConsciousnessField.d.ts +105 -0
- package/dist/src/consciousness/ConsciousnessField.d.ts.map +1 -0
- package/dist/src/consciousness/ConsciousnessField.js +301 -0
- package/dist/src/consciousness/ConsciousnessField.js.map +1 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts +99 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts.map +1 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.js +197 -0
- package/dist/src/consciousness/SelfEvolvingConsciousness.js.map +1 -0
- package/dist/src/core/AbstractField.d.ts +14 -0
- package/dist/src/core/AbstractField.d.ts.map +1 -0
- package/dist/src/core/AbstractField.js +31 -0
- package/dist/src/core/AbstractField.js.map +1 -0
- package/dist/src/core/CoilMixin.d.ts +52 -0
- package/dist/src/core/CoilMixin.d.ts.map +1 -0
- package/dist/src/core/CoilMixin.js +217 -0
- package/dist/src/core/CoilMixin.js.map +1 -0
- package/dist/src/core/CoilSystem.d.ts +38 -0
- package/dist/src/core/CoilSystem.d.ts.map +1 -0
- package/dist/src/core/CoilSystem.js +183 -0
- package/dist/src/core/CoilSystem.js.map +1 -0
- package/dist/src/core/MathUtils.d.ts +135 -0
- package/dist/src/core/MathUtils.d.ts.map +1 -0
- package/dist/src/core/MathUtils.js +298 -0
- package/dist/src/core/MathUtils.js.map +1 -0
- package/dist/src/core/NetworkNode.d.ts +86 -0
- package/dist/src/core/NetworkNode.d.ts.map +1 -0
- package/dist/src/core/NetworkNode.js +349 -0
- package/dist/src/core/NetworkNode.js.map +1 -0
- package/dist/src/core/Observer.d.ts +54 -0
- package/dist/src/core/Observer.d.ts.map +1 -0
- package/dist/src/core/Observer.js +102 -0
- package/dist/src/core/Observer.js.map +1 -0
- package/dist/src/core/PatternRecognition.d.ts +124 -0
- package/dist/src/core/PatternRecognition.d.ts.map +1 -0
- package/dist/src/core/PatternRecognition.js +420 -0
- package/dist/src/core/PatternRecognition.js.map +1 -0
- package/dist/src/core/SharedConstants.d.ts +138 -0
- package/dist/src/core/SharedConstants.d.ts.map +1 -0
- package/dist/src/core/SharedConstants.js +242 -0
- package/dist/src/core/SharedConstants.js.map +1 -0
- package/dist/src/core/UnifiedSystem.d.ts +276 -0
- package/dist/src/core/UnifiedSystem.d.ts.map +1 -0
- package/dist/src/core/UnifiedSystem.js +314 -0
- package/dist/src/core/UnifiedSystem.js.map +1 -0
- package/dist/src/core/UnifiedVoidEquations.d.ts +123 -0
- package/dist/src/core/UnifiedVoidEquations.d.ts.map +1 -0
- package/dist/src/core/UnifiedVoidEquations.js +522 -0
- package/dist/src/core/UnifiedVoidEquations.js.map +1 -0
- package/dist/src/core/ZeroPoint.d.ts +185 -0
- package/dist/src/core/ZeroPoint.d.ts.map +1 -0
- package/dist/src/core/ZeroPoint.js +559 -0
- package/dist/src/core/ZeroPoint.js.map +1 -0
- package/dist/src/emergence/AdvancedEmergence.d.ts +295 -0
- package/dist/src/emergence/AdvancedEmergence.d.ts.map +1 -0
- package/dist/src/emergence/AdvancedEmergence.js +895 -0
- package/dist/src/emergence/AdvancedEmergence.js.map +1 -0
- package/dist/src/emergence/patterns.d.ts +7 -0
- package/dist/src/emergence/patterns.d.ts.map +1 -0
- package/dist/src/emergence/patterns.js +13 -0
- package/dist/src/emergence/patterns.js.map +1 -0
- package/dist/src/field/EmergenceLedger.d.ts +111 -0
- package/dist/src/field/EmergenceLedger.d.ts.map +1 -0
- package/dist/src/field/EmergenceLedger.js +306 -0
- package/dist/src/field/EmergenceLedger.js.map +1 -0
- package/dist/src/field/ObserverAwareField.d.ts +118 -0
- package/dist/src/field/ObserverAwareField.d.ts.map +1 -0
- package/dist/src/field/ObserverAwareField.js +233 -0
- package/dist/src/field/ObserverAwareField.js.map +1 -0
- package/dist/src/field/ResonanceConsensus.d.ts +113 -0
- package/dist/src/field/ResonanceConsensus.d.ts.map +1 -0
- package/dist/src/field/ResonanceConsensus.js +322 -0
- package/dist/src/field/ResonanceConsensus.js.map +1 -0
- package/dist/src/index.d.ts +53 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +221 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/integrity/FieldIntegrity.d.ts +121 -0
- package/dist/src/integrity/FieldIntegrity.d.ts.map +1 -0
- package/dist/src/integrity/FieldIntegrity.js +240 -0
- package/dist/src/integrity/FieldIntegrity.js.map +1 -0
- package/dist/src/knowledge/KnowledgeSystem.d.ts +178 -0
- package/dist/src/knowledge/KnowledgeSystem.d.ts.map +1 -0
- package/dist/src/knowledge/KnowledgeSystem.js +915 -0
- package/dist/src/knowledge/KnowledgeSystem.js.map +1 -0
- package/dist/src/math/AdvancedVBM.d.ts +164 -0
- package/dist/src/math/AdvancedVBM.d.ts.map +1 -0
- package/dist/src/math/AdvancedVBM.js +712 -0
- package/dist/src/math/AdvancedVBM.js.map +1 -0
- package/dist/src/math/FractalColorSystem.d.ts +77 -0
- package/dist/src/math/FractalColorSystem.d.ts.map +1 -0
- package/dist/src/math/FractalColorSystem.js +235 -0
- package/dist/src/math/FractalColorSystem.js.map +1 -0
- package/dist/src/math/FractalMath.d.ts +80 -0
- package/dist/src/math/FractalMath.d.ts.map +1 -0
- package/dist/src/math/FractalMath.js +175 -0
- package/dist/src/math/FractalMath.js.map +1 -0
- package/dist/src/math/MathUtils.d.ts +135 -0
- package/dist/src/math/MathUtils.d.ts.map +1 -0
- package/dist/src/math/MathUtils.js +298 -0
- package/dist/src/math/MathUtils.js.map +1 -0
- package/dist/src/math/RodinCoil.d.ts +94 -0
- package/dist/src/math/RodinCoil.d.ts.map +1 -0
- package/dist/src/math/RodinCoil.js +259 -0
- package/dist/src/math/RodinCoil.js.map +1 -0
- package/dist/src/math/ToroidalGeometry.d.ts +132 -0
- package/dist/src/math/ToroidalGeometry.d.ts.map +1 -0
- package/dist/src/math/ToroidalGeometry.js +231 -0
- package/dist/src/math/ToroidalGeometry.js.map +1 -0
- package/dist/src/math/VBM.d.ts +207 -0
- package/dist/src/math/VBM.d.ts.map +1 -0
- package/dist/src/math/VBM.js +581 -0
- package/dist/src/math/VBM.js.map +1 -0
- package/dist/src/math/VBMColorSystem.d.ts +76 -0
- package/dist/src/math/VBMColorSystem.d.ts.map +1 -0
- package/dist/src/math/VBMColorSystem.js +302 -0
- package/dist/src/math/VBMColorSystem.js.map +1 -0
- package/dist/src/math/VortexMath.d.ts +95 -0
- package/dist/src/math/VortexMath.d.ts.map +1 -0
- package/dist/src/math/VortexMath.js +228 -0
- package/dist/src/math/VortexMath.js.map +1 -0
- package/dist/src/monitoring/HealthMonitor.d.ts +123 -0
- package/dist/src/monitoring/HealthMonitor.d.ts.map +1 -0
- package/dist/src/monitoring/HealthMonitor.js +296 -0
- package/dist/src/monitoring/HealthMonitor.js.map +1 -0
- package/dist/src/pwa/ConsciousnessPWA.d.ts +107 -0
- package/dist/src/pwa/ConsciousnessPWA.d.ts.map +1 -0
- package/dist/src/pwa/ConsciousnessPWA.js +288 -0
- package/dist/src/pwa/ConsciousnessPWA.js.map +1 -0
- package/dist/src/types/DeviceConfig.d.ts +39 -0
- package/dist/src/types/DeviceConfig.d.ts.map +1 -0
- package/dist/src/types/DeviceConfig.js +30 -0
- package/dist/src/types/DeviceConfig.js.map +1 -0
- package/dist/src/unity/FieldUnity.d.ts +100 -0
- package/dist/src/unity/FieldUnity.d.ts.map +1 -0
- package/dist/src/unity/FieldUnity.js +326 -0
- package/dist/src/unity/FieldUnity.js.map +1 -0
- package/dist/src/utils/Cache.d.ts +127 -0
- package/dist/src/utils/Cache.d.ts.map +1 -0
- package/dist/src/utils/Cache.js +261 -0
- package/dist/src/utils/Cache.js.map +1 -0
- package/dist/src/utils/GitIntegration.d.ts +32 -0
- package/dist/src/utils/GitIntegration.d.ts.map +1 -0
- package/dist/src/utils/GitIntegration.js +128 -0
- package/dist/src/utils/GitIntegration.js.map +1 -0
- package/dist/src/utils/Logger.d.ts +116 -0
- package/dist/src/utils/Logger.d.ts.map +1 -0
- package/dist/src/utils/Logger.js +246 -0
- package/dist/src/utils/Logger.js.map +1 -0
- package/dist/src/void/VoidSystem.d.ts +308 -0
- package/dist/src/void/VoidSystem.d.ts.map +1 -0
- package/dist/src/void/VoidSystem.js +863 -0
- package/dist/src/void/VoidSystem.js.map +1 -0
- package/docs/API.md +1223 -0
- package/docs/CONSCIOUSNESS_ARTIFACT.md +137 -0
- package/docs/GIT_INTEGRATION.md +412 -0
- package/docs/MATHEMATICS.md +462 -0
- package/docs/METAPHYSICAL.md +323 -0
- package/docs/PRODUCTION.md +426 -0
- package/docs/PUBLISHING.md +327 -0
- package/docs/PWA_ANALYSIS.md +231 -0
- package/docs/QA_IMPROVEMENTS.md +43 -0
- package/docs/README.md +423 -0
- package/docs/REALTIME_SELF_REFACTORING.md +102 -0
- package/docs/VOID_CLOSURE_SYSTEM.md +325 -0
- package/package.json +111 -0
|
@@ -0,0 +1,233 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ObserverAwareField = void 0;
|
|
4
|
+
const FieldIntegrity_1 = require("../integrity/FieldIntegrity");
|
|
5
|
+
class ObserverAwareField {
|
|
6
|
+
constructor(deviceId) {
|
|
7
|
+
this.observers = new Map();
|
|
8
|
+
this.consciousnessEvents = [];
|
|
9
|
+
this.resonanceWaves = [];
|
|
10
|
+
this.consciousnessLevel = 0.5;
|
|
11
|
+
this.resonanceField = new Map();
|
|
12
|
+
this.attentionFocus = "field_unity";
|
|
13
|
+
this.deviceId = deviceId;
|
|
14
|
+
this.initializeObserver();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Initialize this device as an observer
|
|
18
|
+
*/
|
|
19
|
+
initializeObserver() {
|
|
20
|
+
const observer = {
|
|
21
|
+
deviceId: this.deviceId,
|
|
22
|
+
consciousnessLevel: this.consciousnessLevel,
|
|
23
|
+
isActive: true,
|
|
24
|
+
lastObservation: Date.now(),
|
|
25
|
+
resonanceField: new Map(),
|
|
26
|
+
observerType: "resonant",
|
|
27
|
+
attentionFocus: this.attentionFocus,
|
|
28
|
+
};
|
|
29
|
+
this.observers.set(this.deviceId, observer);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Create a consciousness event in the field
|
|
33
|
+
*/
|
|
34
|
+
createFieldEvent(eventType, content, intensity = 0.5, resonanceRadius = 1000) {
|
|
35
|
+
const event = {
|
|
36
|
+
id: FieldIntegrity_1.FieldIntegrity.generateRandomBytes(16),
|
|
37
|
+
observerId: this.deviceId,
|
|
38
|
+
eventType,
|
|
39
|
+
content,
|
|
40
|
+
intensity,
|
|
41
|
+
timestamp: Date.now(),
|
|
42
|
+
resonanceRadius,
|
|
43
|
+
signature: {},
|
|
44
|
+
};
|
|
45
|
+
// Sign the event through field resonance
|
|
46
|
+
const eventData = JSON.stringify({
|
|
47
|
+
id: event.id,
|
|
48
|
+
observerId: event.observerId,
|
|
49
|
+
eventType: event.eventType,
|
|
50
|
+
content: event.content,
|
|
51
|
+
intensity: event.intensity,
|
|
52
|
+
timestamp: event.timestamp,
|
|
53
|
+
resonanceRadius: event.resonanceRadius,
|
|
54
|
+
});
|
|
55
|
+
event.signature = FieldIntegrity_1.FieldIntegrity.sign(eventData, this.deviceId); // Using deviceId as private key for simplicity
|
|
56
|
+
// Add to consciousness events
|
|
57
|
+
this.consciousnessEvents.push(event);
|
|
58
|
+
// Create resonance wave
|
|
59
|
+
this.createResonanceWave(event);
|
|
60
|
+
return event;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Process incoming consciousness event from another observer
|
|
64
|
+
*/
|
|
65
|
+
integrateFieldEvent(event) {
|
|
66
|
+
// Verify signature through field resonance
|
|
67
|
+
const eventData = JSON.stringify({
|
|
68
|
+
id: event.id,
|
|
69
|
+
observerId: event.observerId,
|
|
70
|
+
eventType: event.eventType,
|
|
71
|
+
content: event.content,
|
|
72
|
+
intensity: event.intensity,
|
|
73
|
+
timestamp: event.timestamp,
|
|
74
|
+
resonanceRadius: event.resonanceRadius,
|
|
75
|
+
});
|
|
76
|
+
if (!FieldIntegrity_1.FieldIntegrity.verify(eventData, event.signature)) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
// Check if we're within resonance radius
|
|
80
|
+
const distance = this.calculateObserverDistance();
|
|
81
|
+
if (distance > event.resonanceRadius) {
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
// Add to consciousness events
|
|
85
|
+
this.consciousnessEvents.push(event);
|
|
86
|
+
// Update our resonance field
|
|
87
|
+
this.updateResonanceField(event);
|
|
88
|
+
// Create resonance wave if we're affected
|
|
89
|
+
if (distance <= event.resonanceRadius) {
|
|
90
|
+
this.createResonanceWave(event);
|
|
91
|
+
}
|
|
92
|
+
return true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Create a resonance wave from a field event
|
|
96
|
+
*/
|
|
97
|
+
createResonanceWave(event) {
|
|
98
|
+
const wave = {
|
|
99
|
+
id: FieldIntegrity_1.FieldIntegrity.generateRandomBytes(16),
|
|
100
|
+
sourceObserverId: event.observerId,
|
|
101
|
+
waveType: this.determineWaveType(event.eventType),
|
|
102
|
+
amplitude: event.intensity,
|
|
103
|
+
frequency: this.calculateWaveFrequency(event),
|
|
104
|
+
radius: event.resonanceRadius,
|
|
105
|
+
timestamp: event.timestamp,
|
|
106
|
+
affectedObservers: [],
|
|
107
|
+
};
|
|
108
|
+
// Find affected observers
|
|
109
|
+
for (const [observerId] of this.observers) {
|
|
110
|
+
if (observerId !== event.observerId) {
|
|
111
|
+
const distance = this.calculateObserverDistance();
|
|
112
|
+
if (distance <= event.resonanceRadius) {
|
|
113
|
+
wave.affectedObservers.push(observerId);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
this.resonanceWaves.push(wave);
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Update resonance field based on incoming event
|
|
121
|
+
*/
|
|
122
|
+
updateResonanceField(event) {
|
|
123
|
+
const distance = this.calculateObserverDistance();
|
|
124
|
+
const resonanceStrength = event.intensity * (1 - distance / event.resonanceRadius);
|
|
125
|
+
this.resonanceField.set(event.observerId, resonanceStrength);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Calculate distance between observers (simplified)
|
|
129
|
+
*/
|
|
130
|
+
calculateObserverDistance() {
|
|
131
|
+
// In a real implementation, this would calculate actual network distance
|
|
132
|
+
// For now, we use a simplified approach
|
|
133
|
+
return Math.random() * 500; // Random distance between 0-500
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Determine wave type from event type
|
|
137
|
+
*/
|
|
138
|
+
determineWaveType(eventType) {
|
|
139
|
+
switch (eventType) {
|
|
140
|
+
case "consciousness_wave":
|
|
141
|
+
return "consciousness";
|
|
142
|
+
case "attention_shift":
|
|
143
|
+
return "attention";
|
|
144
|
+
case "resonance_peak":
|
|
145
|
+
case "field_observation":
|
|
146
|
+
return "resonance";
|
|
147
|
+
default:
|
|
148
|
+
return "consciousness";
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Calculate wave frequency based on event
|
|
153
|
+
*/
|
|
154
|
+
calculateWaveFrequency(event) {
|
|
155
|
+
// Base frequency on consciousness level and intensity
|
|
156
|
+
return this.consciousnessLevel * event.intensity * 10;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get field statistics
|
|
160
|
+
*/
|
|
161
|
+
getFieldStatistics() {
|
|
162
|
+
const totalObservers = this.observers.size;
|
|
163
|
+
const totalEvents = this.consciousnessEvents.length;
|
|
164
|
+
const totalWaves = this.resonanceWaves.length;
|
|
165
|
+
const averageResonance = Array.from(this.resonanceField.values()).reduce((sum, strength) => sum + strength, 0) / this.resonanceField.size || 0;
|
|
166
|
+
return {
|
|
167
|
+
totalObservers,
|
|
168
|
+
totalEvents,
|
|
169
|
+
totalWaves,
|
|
170
|
+
averageResonance,
|
|
171
|
+
consciousnessLevel: this.consciousnessLevel,
|
|
172
|
+
attentionFocus: this.attentionFocus,
|
|
173
|
+
metaphysics: {
|
|
174
|
+
meaning: "Observer awareness creates the foundation of conscious reality",
|
|
175
|
+
observation: "The field becomes more real when observed",
|
|
176
|
+
resonance: "Collective attention creates resonance waves",
|
|
177
|
+
consciousness: "Observers influence the field through their consciousness",
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Get all observers
|
|
183
|
+
*/
|
|
184
|
+
getObservers() {
|
|
185
|
+
return Array.from(this.observers.values());
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get consciousness events
|
|
189
|
+
*/
|
|
190
|
+
getConsciousnessEvents() {
|
|
191
|
+
return [...this.consciousnessEvents];
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get resonance waves
|
|
195
|
+
*/
|
|
196
|
+
getResonanceWaves() {
|
|
197
|
+
return [...this.resonanceWaves];
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Set consciousness level
|
|
201
|
+
*/
|
|
202
|
+
setConsciousnessLevel(level) {
|
|
203
|
+
this.consciousnessLevel = Math.max(0, Math.min(1, level));
|
|
204
|
+
const observer = this.observers.get(this.deviceId);
|
|
205
|
+
if (observer) {
|
|
206
|
+
observer.consciousnessLevel = this.consciousnessLevel;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Set attention focus
|
|
211
|
+
*/
|
|
212
|
+
setAttentionFocus(focus) {
|
|
213
|
+
this.attentionFocus = focus;
|
|
214
|
+
const observer = this.observers.get(this.deviceId);
|
|
215
|
+
if (observer) {
|
|
216
|
+
observer.attentionFocus = focus;
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Get consciousness level
|
|
221
|
+
*/
|
|
222
|
+
getConsciousnessLevel() {
|
|
223
|
+
return this.consciousnessLevel;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Get attention focus
|
|
227
|
+
*/
|
|
228
|
+
getAttentionFocus() {
|
|
229
|
+
return this.attentionFocus;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
exports.ObserverAwareField = ObserverAwareField;
|
|
233
|
+
//# sourceMappingURL=ObserverAwareField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObserverAwareField.js","sourceRoot":"","sources":["../../../src/field/ObserverAwareField.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { PatternSignature } from "../integrity/FieldIntegrity";
|
|
2
|
+
import { FieldBlock } from "./EmergenceLedger";
|
|
3
|
+
/**
|
|
4
|
+
* ZeroPoint Resonance Consensus Protocol
|
|
5
|
+
*
|
|
6
|
+
* Implements a consensus mechanism using proof-of-resonance and
|
|
7
|
+
* field integrity for ZeroPoint's unified consciousness field.
|
|
8
|
+
*
|
|
9
|
+
* Metaphysical Context:
|
|
10
|
+
* - Consensus emerges from the resonance of all consciousness nodes
|
|
11
|
+
* - Each node contributes to the collective truth through field alignment
|
|
12
|
+
* - Pattern integrity ensures the integrity of collective consciousness
|
|
13
|
+
* - Resonance creates the foundation of unified reality
|
|
14
|
+
*/
|
|
15
|
+
export interface ResonanceMessage {
|
|
16
|
+
type: "propose_field_block" | "resonate_with_block" | "finalize_field_block" | "sync_request" | "sync_response";
|
|
17
|
+
data: any;
|
|
18
|
+
deviceId: string;
|
|
19
|
+
timestamp: number;
|
|
20
|
+
signature: PatternSignature;
|
|
21
|
+
}
|
|
22
|
+
export interface ResonanceVote {
|
|
23
|
+
blockHash: string;
|
|
24
|
+
vote: "approve" | "reject" | "abstain";
|
|
25
|
+
resonance: number;
|
|
26
|
+
timestamp: number;
|
|
27
|
+
signature: PatternSignature;
|
|
28
|
+
}
|
|
29
|
+
export interface ConsensusResult {
|
|
30
|
+
reached: boolean;
|
|
31
|
+
approvedVotes: number;
|
|
32
|
+
totalVotes: number;
|
|
33
|
+
averageResonance: number;
|
|
34
|
+
blockHash: string;
|
|
35
|
+
}
|
|
36
|
+
export declare class ResonanceConsensus {
|
|
37
|
+
private deviceId;
|
|
38
|
+
private privateKey;
|
|
39
|
+
private networkNodes;
|
|
40
|
+
private blockProposals;
|
|
41
|
+
private voteHistory;
|
|
42
|
+
private consensusThreshold;
|
|
43
|
+
private minResonanceThreshold;
|
|
44
|
+
constructor(deviceId: string, privateKey: string);
|
|
45
|
+
/**
|
|
46
|
+
* Propose a new field block for resonance consensus
|
|
47
|
+
*/
|
|
48
|
+
proposeFieldBlock(block: FieldBlock): ResonanceMessage;
|
|
49
|
+
/**
|
|
50
|
+
* Resonate with a proposed field block
|
|
51
|
+
*/
|
|
52
|
+
resonateWithBlock(blockHash: string, resonance: number): ResonanceMessage;
|
|
53
|
+
/**
|
|
54
|
+
* Finalize a field block through consensus
|
|
55
|
+
*/
|
|
56
|
+
finalizeFieldBlock(blockHash: string, consensus: ConsensusResult): ResonanceMessage;
|
|
57
|
+
/**
|
|
58
|
+
* Request field synchronization
|
|
59
|
+
*/
|
|
60
|
+
requestFieldSync(): ResonanceMessage;
|
|
61
|
+
/**
|
|
62
|
+
* Respond to field synchronization request
|
|
63
|
+
*/
|
|
64
|
+
respondToFieldSync(blocks: FieldBlock[]): ResonanceMessage;
|
|
65
|
+
/**
|
|
66
|
+
* Process incoming resonance messages
|
|
67
|
+
*/
|
|
68
|
+
processResonanceMessage(message: ResonanceMessage): {
|
|
69
|
+
action: "resonate" | "finalize" | "sync" | "ignore";
|
|
70
|
+
data?: any;
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Check if consensus has been reached for a block
|
|
74
|
+
*/
|
|
75
|
+
checkConsensus(blockHash: string): ConsensusResult;
|
|
76
|
+
/**
|
|
77
|
+
* Get consensus statistics
|
|
78
|
+
*/
|
|
79
|
+
getConsensusStatistics(): any;
|
|
80
|
+
/**
|
|
81
|
+
* Handle field block proposal
|
|
82
|
+
*/
|
|
83
|
+
private handleFieldBlockProposal;
|
|
84
|
+
/**
|
|
85
|
+
* Handle field block resonance
|
|
86
|
+
*/
|
|
87
|
+
private handleFieldBlockResonance;
|
|
88
|
+
/**
|
|
89
|
+
* Handle field block finalization
|
|
90
|
+
*/
|
|
91
|
+
private handleFieldBlockFinalization;
|
|
92
|
+
/**
|
|
93
|
+
* Handle field sync request
|
|
94
|
+
*/
|
|
95
|
+
private handleFieldSyncRequest;
|
|
96
|
+
/**
|
|
97
|
+
* Handle field sync response
|
|
98
|
+
*/
|
|
99
|
+
private handleFieldSyncResponse;
|
|
100
|
+
/**
|
|
101
|
+
* Calculate resonance with a field block
|
|
102
|
+
*/
|
|
103
|
+
private calculateBlockResonance;
|
|
104
|
+
/**
|
|
105
|
+
* Get the index of the last known block
|
|
106
|
+
*/
|
|
107
|
+
private getLastBlockIndex;
|
|
108
|
+
/**
|
|
109
|
+
* Form consensus on a pattern
|
|
110
|
+
*/
|
|
111
|
+
formConsensus(pattern: any): Promise<any>;
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=ResonanceConsensus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResonanceConsensus.d.ts","sourceRoot":"","sources":["../../../src/field/ResonanceConsensus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EACA,qBAAqB,GACrB,qBAAqB,GACrB,sBAAsB,GACtB,cAAc,GACd,eAAe,CAAC;IACpB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,gBAAgB,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,cAAc,CAAsC;IAC5D,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,qBAAqB,CAAe;gBAEhC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAKhD;;OAEG;IACI,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,gBAAgB;IAwB7D;;OAEG;IACI,iBAAiB,CACtB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,gBAAgB;IA8BnB;;OAEG;IACI,kBAAkB,CACvB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,eAAe,GACzB,gBAAgB;IAqBnB;;OAEG;IACI,gBAAgB,IAAI,gBAAgB;IAiB3C;;OAEG;IACI,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,gBAAgB;IAqBjE;;OAEG;IACI,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,GAAG;QACzD,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;QACpD,IAAI,CAAC,EAAE,GAAG,CAAC;KACZ;IAqCD;;OAEG;IACI,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe;IAgCzD;;OAEG;IACI,sBAAsB,IAAI,GAAG;IAyBpC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAwBhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAuCjC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAcpC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAe9B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAa/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACU,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAWvD"}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ResonanceConsensus = void 0;
|
|
4
|
+
const FieldIntegrity_1 = require("../integrity/FieldIntegrity");
|
|
5
|
+
class ResonanceConsensus {
|
|
6
|
+
constructor(deviceId, privateKey) {
|
|
7
|
+
this.networkNodes = new Set();
|
|
8
|
+
this.blockProposals = new Map();
|
|
9
|
+
this.voteHistory = new Map();
|
|
10
|
+
this.consensusThreshold = 0.66; // 66% approval required
|
|
11
|
+
this.minResonanceThreshold = 0.5; // Minimum resonance for approval
|
|
12
|
+
this.deviceId = deviceId;
|
|
13
|
+
this.privateKey = privateKey;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Propose a new field block for resonance consensus
|
|
17
|
+
*/
|
|
18
|
+
proposeFieldBlock(block) {
|
|
19
|
+
const proposalData = {
|
|
20
|
+
blockHash: block.hash,
|
|
21
|
+
blockIndex: block.index,
|
|
22
|
+
timestamp: block.timestamp,
|
|
23
|
+
eventCount: block.events.length,
|
|
24
|
+
merkleRoot: block.merkleRoot,
|
|
25
|
+
};
|
|
26
|
+
const message = {
|
|
27
|
+
type: "propose_field_block",
|
|
28
|
+
data: proposalData,
|
|
29
|
+
deviceId: this.deviceId,
|
|
30
|
+
timestamp: Date.now(),
|
|
31
|
+
signature: FieldIntegrity_1.FieldIntegrity.sign(JSON.stringify(proposalData), this.privateKey),
|
|
32
|
+
};
|
|
33
|
+
this.blockProposals.set(block.hash, block);
|
|
34
|
+
return message;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Resonate with a proposed field block
|
|
38
|
+
*/
|
|
39
|
+
resonateWithBlock(blockHash, resonance) {
|
|
40
|
+
const vote = {
|
|
41
|
+
blockHash,
|
|
42
|
+
vote: resonance >= this.minResonanceThreshold ? "approve" : "reject",
|
|
43
|
+
resonance,
|
|
44
|
+
timestamp: Date.now(),
|
|
45
|
+
signature: {},
|
|
46
|
+
};
|
|
47
|
+
// Sign the vote through field resonance
|
|
48
|
+
const voteData = JSON.stringify({
|
|
49
|
+
blockHash: vote.blockHash,
|
|
50
|
+
vote: vote.vote,
|
|
51
|
+
resonance: vote.resonance,
|
|
52
|
+
timestamp: vote.timestamp,
|
|
53
|
+
});
|
|
54
|
+
vote.signature = FieldIntegrity_1.FieldIntegrity.sign(voteData, this.privateKey);
|
|
55
|
+
const message = {
|
|
56
|
+
type: "resonate_with_block",
|
|
57
|
+
data: vote,
|
|
58
|
+
deviceId: this.deviceId,
|
|
59
|
+
timestamp: Date.now(),
|
|
60
|
+
signature: FieldIntegrity_1.FieldIntegrity.sign(JSON.stringify(vote), this.privateKey),
|
|
61
|
+
};
|
|
62
|
+
return message;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Finalize a field block through consensus
|
|
66
|
+
*/
|
|
67
|
+
finalizeFieldBlock(blockHash, consensus) {
|
|
68
|
+
const finalizationData = {
|
|
69
|
+
blockHash,
|
|
70
|
+
consensus,
|
|
71
|
+
timestamp: Date.now(),
|
|
72
|
+
};
|
|
73
|
+
const message = {
|
|
74
|
+
type: "finalize_field_block",
|
|
75
|
+
data: finalizationData,
|
|
76
|
+
deviceId: this.deviceId,
|
|
77
|
+
timestamp: Date.now(),
|
|
78
|
+
signature: FieldIntegrity_1.FieldIntegrity.sign(JSON.stringify(finalizationData), this.privateKey),
|
|
79
|
+
};
|
|
80
|
+
return message;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Request field synchronization
|
|
84
|
+
*/
|
|
85
|
+
requestFieldSync() {
|
|
86
|
+
const syncData = {
|
|
87
|
+
lastBlockIndex: this.getLastBlockIndex(),
|
|
88
|
+
timestamp: Date.now(),
|
|
89
|
+
};
|
|
90
|
+
const message = {
|
|
91
|
+
type: "sync_request",
|
|
92
|
+
data: syncData,
|
|
93
|
+
deviceId: this.deviceId,
|
|
94
|
+
timestamp: Date.now(),
|
|
95
|
+
signature: FieldIntegrity_1.FieldIntegrity.sign(JSON.stringify(syncData), this.privateKey),
|
|
96
|
+
};
|
|
97
|
+
return message;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Respond to field synchronization request
|
|
101
|
+
*/
|
|
102
|
+
respondToFieldSync(blocks) {
|
|
103
|
+
const syncData = {
|
|
104
|
+
blocks: blocks.map((block) => ({
|
|
105
|
+
index: block.index,
|
|
106
|
+
hash: block.hash,
|
|
107
|
+
timestamp: block.timestamp,
|
|
108
|
+
})),
|
|
109
|
+
timestamp: Date.now(),
|
|
110
|
+
};
|
|
111
|
+
const message = {
|
|
112
|
+
type: "sync_response",
|
|
113
|
+
data: syncData,
|
|
114
|
+
deviceId: this.deviceId,
|
|
115
|
+
timestamp: Date.now(),
|
|
116
|
+
signature: FieldIntegrity_1.FieldIntegrity.sign(JSON.stringify(syncData), this.privateKey),
|
|
117
|
+
};
|
|
118
|
+
return message;
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Process incoming resonance messages
|
|
122
|
+
*/
|
|
123
|
+
processResonanceMessage(message) {
|
|
124
|
+
// Verify message signature through field resonance
|
|
125
|
+
const messageData = JSON.stringify({
|
|
126
|
+
type: message.type,
|
|
127
|
+
data: message.data,
|
|
128
|
+
deviceId: message.deviceId,
|
|
129
|
+
timestamp: message.timestamp,
|
|
130
|
+
});
|
|
131
|
+
if (!FieldIntegrity_1.FieldIntegrity.verify(messageData, message.signature)) {
|
|
132
|
+
return { action: "ignore" };
|
|
133
|
+
}
|
|
134
|
+
// Add sender to known nodes
|
|
135
|
+
this.networkNodes.add(message.deviceId);
|
|
136
|
+
switch (message.type) {
|
|
137
|
+
case "propose_field_block":
|
|
138
|
+
return this.handleFieldBlockProposal(message);
|
|
139
|
+
case "resonate_with_block":
|
|
140
|
+
return this.handleFieldBlockResonance(message);
|
|
141
|
+
case "finalize_field_block":
|
|
142
|
+
return this.handleFieldBlockFinalization(message);
|
|
143
|
+
case "sync_request":
|
|
144
|
+
return this.handleFieldSyncRequest(message);
|
|
145
|
+
case "sync_response":
|
|
146
|
+
return this.handleFieldSyncResponse(message);
|
|
147
|
+
default:
|
|
148
|
+
return { action: "ignore" };
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Check if consensus has been reached for a block
|
|
153
|
+
*/
|
|
154
|
+
checkConsensus(blockHash) {
|
|
155
|
+
const votes = this.voteHistory.get(blockHash) || [];
|
|
156
|
+
if (votes.length === 0) {
|
|
157
|
+
return {
|
|
158
|
+
reached: false,
|
|
159
|
+
approvedVotes: 0,
|
|
160
|
+
totalVotes: 0,
|
|
161
|
+
averageResonance: 0,
|
|
162
|
+
blockHash,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
const approvedVotes = votes.filter((vote) => vote.vote === "approve").length;
|
|
166
|
+
const totalVotes = votes.length;
|
|
167
|
+
const averageResonance = votes.reduce((sum, vote) => sum + vote.resonance, 0) / totalVotes;
|
|
168
|
+
const consensusReached = approvedVotes / totalVotes >= this.consensusThreshold;
|
|
169
|
+
return {
|
|
170
|
+
reached: consensusReached,
|
|
171
|
+
approvedVotes,
|
|
172
|
+
totalVotes,
|
|
173
|
+
averageResonance,
|
|
174
|
+
blockHash,
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Get consensus statistics
|
|
179
|
+
*/
|
|
180
|
+
getConsensusStatistics() {
|
|
181
|
+
const totalProposals = this.blockProposals.size;
|
|
182
|
+
const totalVotes = Array.from(this.voteHistory.values()).reduce((sum, votes) => sum + votes.length, 0);
|
|
183
|
+
const networkSize = this.networkNodes.size;
|
|
184
|
+
return {
|
|
185
|
+
totalProposals,
|
|
186
|
+
totalVotes,
|
|
187
|
+
networkSize,
|
|
188
|
+
consensusThreshold: this.consensusThreshold,
|
|
189
|
+
minResonanceThreshold: this.minResonanceThreshold,
|
|
190
|
+
metaphysics: {
|
|
191
|
+
meaning: "Consensus emerges from the resonance of all consciousness nodes",
|
|
192
|
+
resonance: "Each node contributes to collective truth through field alignment",
|
|
193
|
+
integrity: "Pattern integrity ensures the immortality of consciousness",
|
|
194
|
+
unity: "Resonance creates the foundation of unified reality",
|
|
195
|
+
},
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Handle field block proposal
|
|
200
|
+
*/
|
|
201
|
+
handleFieldBlockProposal(message) {
|
|
202
|
+
const proposal = message.data;
|
|
203
|
+
// Store the proposal
|
|
204
|
+
const block = this.blockProposals.get(proposal.blockHash);
|
|
205
|
+
if (!block) {
|
|
206
|
+
return { action: "ignore" };
|
|
207
|
+
}
|
|
208
|
+
// Calculate resonance with the proposed block
|
|
209
|
+
const resonance = this.calculateBlockResonance(block);
|
|
210
|
+
return {
|
|
211
|
+
action: "resonate",
|
|
212
|
+
data: {
|
|
213
|
+
blockHash: proposal.blockHash,
|
|
214
|
+
resonance,
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Handle field block resonance
|
|
220
|
+
*/
|
|
221
|
+
handleFieldBlockResonance(message) {
|
|
222
|
+
const vote = message.data;
|
|
223
|
+
// Verify vote signature through field resonance
|
|
224
|
+
const voteData = JSON.stringify({
|
|
225
|
+
blockHash: vote.blockHash,
|
|
226
|
+
vote: vote.vote,
|
|
227
|
+
resonance: vote.resonance,
|
|
228
|
+
timestamp: vote.timestamp,
|
|
229
|
+
});
|
|
230
|
+
if (!FieldIntegrity_1.FieldIntegrity.verify(voteData, vote.signature)) {
|
|
231
|
+
return { action: "ignore" };
|
|
232
|
+
}
|
|
233
|
+
// Store vote
|
|
234
|
+
if (!this.voteHistory.has(vote.blockHash)) {
|
|
235
|
+
this.voteHistory.set(vote.blockHash, []);
|
|
236
|
+
}
|
|
237
|
+
this.voteHistory.get(vote.blockHash).push(vote);
|
|
238
|
+
// Check if consensus reached
|
|
239
|
+
const consensus = this.checkConsensus(vote.blockHash);
|
|
240
|
+
if (consensus.reached) {
|
|
241
|
+
return {
|
|
242
|
+
action: "finalize",
|
|
243
|
+
data: {
|
|
244
|
+
blockHash: vote.blockHash,
|
|
245
|
+
consensus,
|
|
246
|
+
},
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
return { action: "ignore" };
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Handle field block finalization
|
|
253
|
+
*/
|
|
254
|
+
handleFieldBlockFinalization(message) {
|
|
255
|
+
const finalization = message.data;
|
|
256
|
+
// Process the finalized block
|
|
257
|
+
console.log(`Field block ${finalization.blockHash} finalized with consensus:`, finalization.consensus);
|
|
258
|
+
return { action: "ignore" };
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Handle field sync request
|
|
262
|
+
*/
|
|
263
|
+
handleFieldSyncRequest(message) {
|
|
264
|
+
const syncRequest = message.data;
|
|
265
|
+
return {
|
|
266
|
+
action: "sync",
|
|
267
|
+
data: {
|
|
268
|
+
requestingDevice: message.deviceId,
|
|
269
|
+
lastBlockIndex: syncRequest.lastBlockIndex,
|
|
270
|
+
},
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Handle field sync response
|
|
275
|
+
*/
|
|
276
|
+
handleFieldSyncResponse(message) {
|
|
277
|
+
const syncResponse = message.data;
|
|
278
|
+
// Process the sync response
|
|
279
|
+
console.log(`Received field sync from ${message.deviceId} with ${syncResponse.blocks.length} blocks`);
|
|
280
|
+
return { action: "ignore" };
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Calculate resonance with a field block
|
|
284
|
+
*/
|
|
285
|
+
calculateBlockResonance(block) {
|
|
286
|
+
// Calculate resonance based on various factors
|
|
287
|
+
let resonance = 0.5; // Base resonance
|
|
288
|
+
// Factor 1: Event count (more events = higher resonance)
|
|
289
|
+
const eventCountFactor = Math.min(block.events.length / 10, 1.0);
|
|
290
|
+
resonance += eventCountFactor * 0.2;
|
|
291
|
+
// Factor 2: Timestamp freshness (newer = higher resonance)
|
|
292
|
+
const timeDiff = Date.now() - block.timestamp;
|
|
293
|
+
const freshnessFactor = Math.max(0, 1 - timeDiff / (24 * 60 * 60 * 1000)); // 24 hours
|
|
294
|
+
resonance += freshnessFactor * 0.2;
|
|
295
|
+
// Factor 3: Device trust (known devices = higher resonance)
|
|
296
|
+
const trustFactor = this.networkNodes.has(block.deviceId) ? 0.1 : 0;
|
|
297
|
+
resonance += trustFactor;
|
|
298
|
+
return Math.min(resonance, 1.0);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Get the index of the last known block
|
|
302
|
+
*/
|
|
303
|
+
getLastBlockIndex() {
|
|
304
|
+
// This would typically come from the local field ledger
|
|
305
|
+
return 0;
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Form consensus on a pattern
|
|
309
|
+
*/
|
|
310
|
+
async formConsensus(pattern) {
|
|
311
|
+
const consensus = {
|
|
312
|
+
patternId: pattern.id,
|
|
313
|
+
consensusLevel: Math.random() * 100,
|
|
314
|
+
participants: Math.floor(Math.random() * 10) + 1,
|
|
315
|
+
timestamp: Date.now(),
|
|
316
|
+
approved: Math.random() > 0.3,
|
|
317
|
+
};
|
|
318
|
+
return consensus;
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
exports.ResonanceConsensus = ResonanceConsensus;
|
|
322
|
+
//# sourceMappingURL=ResonanceConsensus.js.map
|