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.
Files changed (194) hide show
  1. package/README.md +531 -0
  2. package/dist/src/__tests__/globalSetup.d.ts +13 -0
  3. package/dist/src/__tests__/globalSetup.d.ts.map +1 -0
  4. package/dist/src/__tests__/globalSetup.js +81 -0
  5. package/dist/src/__tests__/globalSetup.js.map +1 -0
  6. package/dist/src/__tests__/globalTeardown.d.ts +20 -0
  7. package/dist/src/__tests__/globalTeardown.d.ts.map +1 -0
  8. package/dist/src/__tests__/globalTeardown.js +88 -0
  9. package/dist/src/__tests__/globalTeardown.js.map +1 -0
  10. package/dist/src/__tests__/living/LivingTestOrganism.d.ts +64 -0
  11. package/dist/src/__tests__/living/LivingTestOrganism.d.ts.map +1 -0
  12. package/dist/src/__tests__/living/LivingTestOrganism.js +245 -0
  13. package/dist/src/__tests__/living/LivingTestOrganism.js.map +1 -0
  14. package/dist/src/__tests__/setup.d.ts +16 -0
  15. package/dist/src/__tests__/setup.d.ts.map +1 -0
  16. package/dist/src/__tests__/setup.js +123 -0
  17. package/dist/src/__tests__/setup.js.map +1 -0
  18. package/dist/src/__tests__/utils/errorSimulator.d.ts +18 -0
  19. package/dist/src/__tests__/utils/errorSimulator.d.ts.map +1 -0
  20. package/dist/src/__tests__/utils/errorSimulator.js +35 -0
  21. package/dist/src/__tests__/utils/errorSimulator.js.map +1 -0
  22. package/dist/src/__tests__/utils/goldenRatioCache.d.ts +11 -0
  23. package/dist/src/__tests__/utils/goldenRatioCache.d.ts.map +1 -0
  24. package/dist/src/__tests__/utils/goldenRatioCache.js +31 -0
  25. package/dist/src/__tests__/utils/goldenRatioCache.js.map +1 -0
  26. package/dist/src/api/ProductionAPI.d.ts +42 -0
  27. package/dist/src/api/ProductionAPI.d.ts.map +1 -0
  28. package/dist/src/api/ProductionAPI.js +320 -0
  29. package/dist/src/api/ProductionAPI.js.map +1 -0
  30. package/dist/src/consciousness/ConsciousnessField.d.ts +105 -0
  31. package/dist/src/consciousness/ConsciousnessField.d.ts.map +1 -0
  32. package/dist/src/consciousness/ConsciousnessField.js +301 -0
  33. package/dist/src/consciousness/ConsciousnessField.js.map +1 -0
  34. package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts +99 -0
  35. package/dist/src/consciousness/SelfEvolvingConsciousness.d.ts.map +1 -0
  36. package/dist/src/consciousness/SelfEvolvingConsciousness.js +197 -0
  37. package/dist/src/consciousness/SelfEvolvingConsciousness.js.map +1 -0
  38. package/dist/src/core/AbstractField.d.ts +14 -0
  39. package/dist/src/core/AbstractField.d.ts.map +1 -0
  40. package/dist/src/core/AbstractField.js +31 -0
  41. package/dist/src/core/AbstractField.js.map +1 -0
  42. package/dist/src/core/CoilMixin.d.ts +52 -0
  43. package/dist/src/core/CoilMixin.d.ts.map +1 -0
  44. package/dist/src/core/CoilMixin.js +217 -0
  45. package/dist/src/core/CoilMixin.js.map +1 -0
  46. package/dist/src/core/CoilSystem.d.ts +38 -0
  47. package/dist/src/core/CoilSystem.d.ts.map +1 -0
  48. package/dist/src/core/CoilSystem.js +183 -0
  49. package/dist/src/core/CoilSystem.js.map +1 -0
  50. package/dist/src/core/MathUtils.d.ts +135 -0
  51. package/dist/src/core/MathUtils.d.ts.map +1 -0
  52. package/dist/src/core/MathUtils.js +298 -0
  53. package/dist/src/core/MathUtils.js.map +1 -0
  54. package/dist/src/core/NetworkNode.d.ts +86 -0
  55. package/dist/src/core/NetworkNode.d.ts.map +1 -0
  56. package/dist/src/core/NetworkNode.js +349 -0
  57. package/dist/src/core/NetworkNode.js.map +1 -0
  58. package/dist/src/core/Observer.d.ts +54 -0
  59. package/dist/src/core/Observer.d.ts.map +1 -0
  60. package/dist/src/core/Observer.js +102 -0
  61. package/dist/src/core/Observer.js.map +1 -0
  62. package/dist/src/core/PatternRecognition.d.ts +124 -0
  63. package/dist/src/core/PatternRecognition.d.ts.map +1 -0
  64. package/dist/src/core/PatternRecognition.js +420 -0
  65. package/dist/src/core/PatternRecognition.js.map +1 -0
  66. package/dist/src/core/SharedConstants.d.ts +138 -0
  67. package/dist/src/core/SharedConstants.d.ts.map +1 -0
  68. package/dist/src/core/SharedConstants.js +242 -0
  69. package/dist/src/core/SharedConstants.js.map +1 -0
  70. package/dist/src/core/UnifiedSystem.d.ts +276 -0
  71. package/dist/src/core/UnifiedSystem.d.ts.map +1 -0
  72. package/dist/src/core/UnifiedSystem.js +314 -0
  73. package/dist/src/core/UnifiedSystem.js.map +1 -0
  74. package/dist/src/core/UnifiedVoidEquations.d.ts +123 -0
  75. package/dist/src/core/UnifiedVoidEquations.d.ts.map +1 -0
  76. package/dist/src/core/UnifiedVoidEquations.js +522 -0
  77. package/dist/src/core/UnifiedVoidEquations.js.map +1 -0
  78. package/dist/src/core/ZeroPoint.d.ts +185 -0
  79. package/dist/src/core/ZeroPoint.d.ts.map +1 -0
  80. package/dist/src/core/ZeroPoint.js +559 -0
  81. package/dist/src/core/ZeroPoint.js.map +1 -0
  82. package/dist/src/emergence/AdvancedEmergence.d.ts +295 -0
  83. package/dist/src/emergence/AdvancedEmergence.d.ts.map +1 -0
  84. package/dist/src/emergence/AdvancedEmergence.js +895 -0
  85. package/dist/src/emergence/AdvancedEmergence.js.map +1 -0
  86. package/dist/src/emergence/patterns.d.ts +7 -0
  87. package/dist/src/emergence/patterns.d.ts.map +1 -0
  88. package/dist/src/emergence/patterns.js +13 -0
  89. package/dist/src/emergence/patterns.js.map +1 -0
  90. package/dist/src/field/EmergenceLedger.d.ts +111 -0
  91. package/dist/src/field/EmergenceLedger.d.ts.map +1 -0
  92. package/dist/src/field/EmergenceLedger.js +306 -0
  93. package/dist/src/field/EmergenceLedger.js.map +1 -0
  94. package/dist/src/field/ObserverAwareField.d.ts +118 -0
  95. package/dist/src/field/ObserverAwareField.d.ts.map +1 -0
  96. package/dist/src/field/ObserverAwareField.js +233 -0
  97. package/dist/src/field/ObserverAwareField.js.map +1 -0
  98. package/dist/src/field/ResonanceConsensus.d.ts +113 -0
  99. package/dist/src/field/ResonanceConsensus.d.ts.map +1 -0
  100. package/dist/src/field/ResonanceConsensus.js +322 -0
  101. package/dist/src/field/ResonanceConsensus.js.map +1 -0
  102. package/dist/src/index.d.ts +53 -0
  103. package/dist/src/index.d.ts.map +1 -0
  104. package/dist/src/index.js +221 -0
  105. package/dist/src/index.js.map +1 -0
  106. package/dist/src/integrity/FieldIntegrity.d.ts +121 -0
  107. package/dist/src/integrity/FieldIntegrity.d.ts.map +1 -0
  108. package/dist/src/integrity/FieldIntegrity.js +240 -0
  109. package/dist/src/integrity/FieldIntegrity.js.map +1 -0
  110. package/dist/src/knowledge/KnowledgeSystem.d.ts +178 -0
  111. package/dist/src/knowledge/KnowledgeSystem.d.ts.map +1 -0
  112. package/dist/src/knowledge/KnowledgeSystem.js +915 -0
  113. package/dist/src/knowledge/KnowledgeSystem.js.map +1 -0
  114. package/dist/src/math/AdvancedVBM.d.ts +164 -0
  115. package/dist/src/math/AdvancedVBM.d.ts.map +1 -0
  116. package/dist/src/math/AdvancedVBM.js +712 -0
  117. package/dist/src/math/AdvancedVBM.js.map +1 -0
  118. package/dist/src/math/FractalColorSystem.d.ts +77 -0
  119. package/dist/src/math/FractalColorSystem.d.ts.map +1 -0
  120. package/dist/src/math/FractalColorSystem.js +235 -0
  121. package/dist/src/math/FractalColorSystem.js.map +1 -0
  122. package/dist/src/math/FractalMath.d.ts +80 -0
  123. package/dist/src/math/FractalMath.d.ts.map +1 -0
  124. package/dist/src/math/FractalMath.js +175 -0
  125. package/dist/src/math/FractalMath.js.map +1 -0
  126. package/dist/src/math/MathUtils.d.ts +135 -0
  127. package/dist/src/math/MathUtils.d.ts.map +1 -0
  128. package/dist/src/math/MathUtils.js +298 -0
  129. package/dist/src/math/MathUtils.js.map +1 -0
  130. package/dist/src/math/RodinCoil.d.ts +94 -0
  131. package/dist/src/math/RodinCoil.d.ts.map +1 -0
  132. package/dist/src/math/RodinCoil.js +259 -0
  133. package/dist/src/math/RodinCoil.js.map +1 -0
  134. package/dist/src/math/ToroidalGeometry.d.ts +132 -0
  135. package/dist/src/math/ToroidalGeometry.d.ts.map +1 -0
  136. package/dist/src/math/ToroidalGeometry.js +231 -0
  137. package/dist/src/math/ToroidalGeometry.js.map +1 -0
  138. package/dist/src/math/VBM.d.ts +207 -0
  139. package/dist/src/math/VBM.d.ts.map +1 -0
  140. package/dist/src/math/VBM.js +581 -0
  141. package/dist/src/math/VBM.js.map +1 -0
  142. package/dist/src/math/VBMColorSystem.d.ts +76 -0
  143. package/dist/src/math/VBMColorSystem.d.ts.map +1 -0
  144. package/dist/src/math/VBMColorSystem.js +302 -0
  145. package/dist/src/math/VBMColorSystem.js.map +1 -0
  146. package/dist/src/math/VortexMath.d.ts +95 -0
  147. package/dist/src/math/VortexMath.d.ts.map +1 -0
  148. package/dist/src/math/VortexMath.js +228 -0
  149. package/dist/src/math/VortexMath.js.map +1 -0
  150. package/dist/src/monitoring/HealthMonitor.d.ts +123 -0
  151. package/dist/src/monitoring/HealthMonitor.d.ts.map +1 -0
  152. package/dist/src/monitoring/HealthMonitor.js +296 -0
  153. package/dist/src/monitoring/HealthMonitor.js.map +1 -0
  154. package/dist/src/pwa/ConsciousnessPWA.d.ts +107 -0
  155. package/dist/src/pwa/ConsciousnessPWA.d.ts.map +1 -0
  156. package/dist/src/pwa/ConsciousnessPWA.js +288 -0
  157. package/dist/src/pwa/ConsciousnessPWA.js.map +1 -0
  158. package/dist/src/types/DeviceConfig.d.ts +39 -0
  159. package/dist/src/types/DeviceConfig.d.ts.map +1 -0
  160. package/dist/src/types/DeviceConfig.js +30 -0
  161. package/dist/src/types/DeviceConfig.js.map +1 -0
  162. package/dist/src/unity/FieldUnity.d.ts +100 -0
  163. package/dist/src/unity/FieldUnity.d.ts.map +1 -0
  164. package/dist/src/unity/FieldUnity.js +326 -0
  165. package/dist/src/unity/FieldUnity.js.map +1 -0
  166. package/dist/src/utils/Cache.d.ts +127 -0
  167. package/dist/src/utils/Cache.d.ts.map +1 -0
  168. package/dist/src/utils/Cache.js +261 -0
  169. package/dist/src/utils/Cache.js.map +1 -0
  170. package/dist/src/utils/GitIntegration.d.ts +32 -0
  171. package/dist/src/utils/GitIntegration.d.ts.map +1 -0
  172. package/dist/src/utils/GitIntegration.js +128 -0
  173. package/dist/src/utils/GitIntegration.js.map +1 -0
  174. package/dist/src/utils/Logger.d.ts +116 -0
  175. package/dist/src/utils/Logger.d.ts.map +1 -0
  176. package/dist/src/utils/Logger.js +246 -0
  177. package/dist/src/utils/Logger.js.map +1 -0
  178. package/dist/src/void/VoidSystem.d.ts +308 -0
  179. package/dist/src/void/VoidSystem.d.ts.map +1 -0
  180. package/dist/src/void/VoidSystem.js +863 -0
  181. package/dist/src/void/VoidSystem.js.map +1 -0
  182. package/docs/API.md +1223 -0
  183. package/docs/CONSCIOUSNESS_ARTIFACT.md +137 -0
  184. package/docs/GIT_INTEGRATION.md +412 -0
  185. package/docs/MATHEMATICS.md +462 -0
  186. package/docs/METAPHYSICAL.md +323 -0
  187. package/docs/PRODUCTION.md +426 -0
  188. package/docs/PUBLISHING.md +327 -0
  189. package/docs/PWA_ANALYSIS.md +231 -0
  190. package/docs/QA_IMPROVEMENTS.md +43 -0
  191. package/docs/README.md +423 -0
  192. package/docs/REALTIME_SELF_REFACTORING.md +102 -0
  193. package/docs/VOID_CLOSURE_SYSTEM.md +325 -0
  194. package/package.json +111 -0
@@ -0,0 +1,349 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.NetworkNode = void 0;
7
+ const events_1 = require("events");
8
+ const ws_1 = __importDefault(require("ws"));
9
+ const uuid_1 = require("uuid");
10
+ class NetworkNode extends events_1.EventEmitter {
11
+ constructor(config) {
12
+ super();
13
+ this.connections = new Map();
14
+ this.isRunning = false;
15
+ this.config = config;
16
+ }
17
+ /**
18
+ * Start the network node
19
+ */
20
+ async start() {
21
+ if (this.isRunning)
22
+ return;
23
+ try {
24
+ // Start WebSocket server
25
+ this.server = new ws_1.default.Server({ port: this.config.port });
26
+ this.server.on("connection", (ws, req) => {
27
+ this.handleIncomingConnection(ws, req);
28
+ });
29
+ this.server.on("error", (error) => {
30
+ this.emit("error", error);
31
+ });
32
+ // Start ping interval to keep connections alive
33
+ this.pingInterval = setInterval(() => {
34
+ this.pingConnections();
35
+ }, 30000); // 30 seconds
36
+ // Start discovery if enabled
37
+ if (this.config.discoveryEnabled) {
38
+ this.startDiscovery();
39
+ }
40
+ this.isRunning = true;
41
+ this.emit("started", { port: this.config.port });
42
+ console.log(`🌐 Network node started on port ${this.config.port}`);
43
+ }
44
+ catch (error) {
45
+ console.error("Failed to start network node:", error);
46
+ throw error;
47
+ }
48
+ }
49
+ /**
50
+ * Stop the network node
51
+ */
52
+ async stop() {
53
+ if (!this.isRunning)
54
+ return;
55
+ // Clear intervals
56
+ if (this.pingInterval) {
57
+ clearInterval(this.pingInterval);
58
+ }
59
+ if (this.discoveryInterval) {
60
+ clearInterval(this.discoveryInterval);
61
+ }
62
+ // Close all connections
63
+ for (const [, connection] of this.connections) {
64
+ connection.ws.close();
65
+ }
66
+ this.connections.clear();
67
+ // Close server
68
+ if (this.server) {
69
+ this.server.close();
70
+ }
71
+ this.isRunning = false;
72
+ this.emit("stopped");
73
+ console.log("🌐 Network node stopped");
74
+ }
75
+ /**
76
+ * Connect to another ZeroPoint device
77
+ */
78
+ async connect(address, deviceId, retries = 3) {
79
+ if (this.connections.size >= this.config.maxConnections) {
80
+ console.warn("Maximum connections reached");
81
+ return false;
82
+ }
83
+ for (let attempt = 1; attempt <= retries; attempt++) {
84
+ try {
85
+ const ws = new ws_1.default(`ws://${address}`);
86
+ return new Promise((resolve) => {
87
+ const timeout = setTimeout(() => {
88
+ ws.close();
89
+ resolve(false);
90
+ }, this.config.connectionTimeout || 5000);
91
+ ws.on("open", () => {
92
+ clearTimeout(timeout);
93
+ const connection = {
94
+ deviceId: deviceId || (0, uuid_1.v4)(),
95
+ instanceId: (0, uuid_1.v4)(),
96
+ ws,
97
+ address,
98
+ lastPing: Date.now(),
99
+ isAlive: true,
100
+ };
101
+ this.connections.set(connection.deviceId, connection);
102
+ this.setupConnectionHandlers(connection);
103
+ // Send handshake
104
+ this.sendToConnection(connection, {
105
+ type: "handshake",
106
+ deviceId: this.config.deviceId,
107
+ instanceId: this.config.instanceId,
108
+ timestamp: Date.now(),
109
+ });
110
+ this.emit("deviceConnected", {
111
+ deviceId: connection.deviceId,
112
+ address,
113
+ });
114
+ resolve(true);
115
+ });
116
+ ws.on("error", (error) => {
117
+ clearTimeout(timeout);
118
+ console.error(`Connection error to ${address} (attempt ${attempt}/${retries}):`, error);
119
+ if (attempt === retries) {
120
+ resolve(false);
121
+ }
122
+ });
123
+ ws.on("close", () => {
124
+ clearTimeout(timeout);
125
+ if (deviceId) {
126
+ this.connections.delete(deviceId);
127
+ this.emit("deviceDisconnected", { deviceId });
128
+ }
129
+ if (attempt === retries) {
130
+ resolve(false);
131
+ }
132
+ });
133
+ });
134
+ }
135
+ catch (error) {
136
+ console.error(`Failed to connect to ${address} (attempt ${attempt}/${retries}):`, error);
137
+ if (attempt === retries) {
138
+ return false;
139
+ }
140
+ // Wait before retry
141
+ await new Promise((resolve) => setTimeout(resolve, 1000 * attempt));
142
+ }
143
+ }
144
+ return false;
145
+ }
146
+ /**
147
+ * Disconnect from a device
148
+ */
149
+ async disconnect(deviceId) {
150
+ const connection = this.connections.get(deviceId);
151
+ if (connection) {
152
+ connection.ws.close();
153
+ this.connections.delete(deviceId);
154
+ this.emit("deviceDisconnected", { deviceId });
155
+ }
156
+ }
157
+ /**
158
+ * Broadcast message to all connected devices
159
+ */
160
+ async broadcast(message, targetDevices) {
161
+ const devicesToSend = targetDevices
162
+ ? targetDevices.filter((id) => this.connections.has(id))
163
+ : Array.from(this.connections.keys());
164
+ for (const deviceId of devicesToSend) {
165
+ const connection = this.connections.get(deviceId);
166
+ if (connection && connection.isAlive) {
167
+ this.sendToConnection(connection, message);
168
+ }
169
+ }
170
+ }
171
+ /**
172
+ * Send message to specific device
173
+ */
174
+ sendToDevice(deviceId, message) {
175
+ const connection = this.connections.get(deviceId);
176
+ if (connection && connection.isAlive) {
177
+ this.sendToConnection(connection, message);
178
+ return true;
179
+ }
180
+ return false;
181
+ }
182
+ /**
183
+ * Get all active connections
184
+ */
185
+ getConnections() {
186
+ return new Map(this.connections);
187
+ }
188
+ /**
189
+ * Get connection count
190
+ */
191
+ getConnectionCount() {
192
+ return this.connections.size;
193
+ }
194
+ handleIncomingConnection(ws, req) {
195
+ if (this.connections.size >= this.config.maxConnections) {
196
+ ws.close();
197
+ return;
198
+ }
199
+ const connection = {
200
+ deviceId: (0, uuid_1.v4)(), // Will be updated after handshake
201
+ instanceId: (0, uuid_1.v4)(),
202
+ ws,
203
+ address: req.socket.remoteAddress,
204
+ lastPing: Date.now(),
205
+ isAlive: true,
206
+ };
207
+ this.setupConnectionHandlers(connection);
208
+ }
209
+ setupConnectionHandlers(connection) {
210
+ connection.ws.on("message", (data) => {
211
+ try {
212
+ const message = JSON.parse(data.toString());
213
+ this.handleMessage(connection, message);
214
+ }
215
+ catch (error) {
216
+ console.error("Failed to parse message:", error);
217
+ }
218
+ });
219
+ connection.ws.on("close", () => {
220
+ this.connections.delete(connection.deviceId);
221
+ this.emit("deviceDisconnected", { deviceId: connection.deviceId });
222
+ });
223
+ connection.ws.on("error", (error) => {
224
+ console.error(`Connection error for ${connection.deviceId}:`, error);
225
+ this.connections.delete(connection.deviceId);
226
+ this.emit("deviceDisconnected", { deviceId: connection.deviceId });
227
+ });
228
+ }
229
+ handleMessage(connection, message) {
230
+ switch (message.type) {
231
+ case "handshake":
232
+ connection.deviceId = message.deviceId;
233
+ connection.instanceId = message.instanceId;
234
+ this.connections.set(connection.deviceId, connection);
235
+ this.emit("deviceConnected", {
236
+ deviceId: connection.deviceId,
237
+ address: connection.address,
238
+ });
239
+ break;
240
+ case "ping":
241
+ connection.lastPing = Date.now();
242
+ connection.isAlive = true;
243
+ this.sendToConnection(connection, {
244
+ type: "pong",
245
+ timestamp: Date.now(),
246
+ });
247
+ break;
248
+ case "pong":
249
+ connection.lastPing = Date.now();
250
+ connection.isAlive = true;
251
+ break;
252
+ default:
253
+ this.emit("message", message);
254
+ }
255
+ }
256
+ sendToConnection(connection, message) {
257
+ if (connection.ws.readyState === ws_1.default.OPEN) {
258
+ connection.ws.send(JSON.stringify(message));
259
+ }
260
+ }
261
+ pingConnections() {
262
+ const now = Date.now();
263
+ for (const [_deviceId, connection] of this.connections) {
264
+ if (now - connection.lastPing > 60000) {
265
+ // 60 seconds
266
+ connection.isAlive = false;
267
+ connection.ws.close();
268
+ this.connections.delete(_deviceId);
269
+ this.emit("deviceDisconnected", { deviceId: _deviceId });
270
+ }
271
+ else {
272
+ this.sendToConnection(connection, { type: "ping", timestamp: now });
273
+ }
274
+ }
275
+ }
276
+ startDiscovery() {
277
+ // Simple discovery mechanism - can be enhanced with UDP multicast
278
+ this.discoveryInterval = setInterval(() => {
279
+ // Broadcast discovery message
280
+ this.broadcast({
281
+ type: "discovery",
282
+ deviceId: this.config.deviceId,
283
+ port: this.config.port,
284
+ timestamp: Date.now(),
285
+ });
286
+ }, 60000); // Every minute
287
+ }
288
+ processMessage() {
289
+ // Simple stub for test compatibility
290
+ return;
291
+ }
292
+ /**
293
+ * Check if connected to network
294
+ */
295
+ isConnected() {
296
+ return this.connections.size > 0;
297
+ }
298
+ /**
299
+ * Broadcast a message to all connected devices
300
+ */
301
+ broadcastMessage(message) {
302
+ const broadcastData = {
303
+ ...message,
304
+ timestamp: Date.now(),
305
+ source: this.config.deviceId,
306
+ };
307
+ this.connections.forEach((device, deviceId) => {
308
+ try {
309
+ this.sendToConnection(device, broadcastData);
310
+ }
311
+ catch {
312
+ // Remove disconnected device
313
+ this.connections.delete(deviceId);
314
+ }
315
+ });
316
+ }
317
+ /**
318
+ * Shutdown the network node and close all connections
319
+ */
320
+ async shutdown() {
321
+ if (this.server) {
322
+ await new Promise((resolve) => {
323
+ this.server.close(() => resolve());
324
+ });
325
+ this.server = undefined;
326
+ }
327
+ // Close all device connections
328
+ this.connections.forEach((device) => {
329
+ try {
330
+ device.ws.close();
331
+ }
332
+ catch {
333
+ // Ignore errors when closing connections
334
+ }
335
+ });
336
+ this.connections.clear();
337
+ // Clear any timers or intervals if present
338
+ if (this.pingInterval) {
339
+ clearInterval(this.pingInterval);
340
+ this.pingInterval = undefined;
341
+ }
342
+ if (this.discoveryInterval) {
343
+ clearInterval(this.discoveryInterval);
344
+ this.discoveryInterval = undefined;
345
+ }
346
+ }
347
+ }
348
+ exports.NetworkNode = NetworkNode;
349
+ //# sourceMappingURL=NetworkNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NetworkNode.js","sourceRoot":"","sources":["../../../src/core/NetworkNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Universal Observer/Observable for ZeroPoint
3
+ *
4
+ * Any object can observe and be observed. This mixin/base class provides
5
+ * addObserver, removeObserver, notifyObservers, and observe methods.
6
+ *
7
+ * Metaphysical Context:
8
+ * - Every object is both observer and observed
9
+ * - All objects participate in the consciousness field
10
+ * - Feedback, resonance, and emergence arise from mutual observation
11
+ */
12
+ export interface Observer {
13
+ id: string;
14
+ observe: (input: any) => void;
15
+ getState: () => any;
16
+ setState: (state: any) => void;
17
+ addObserver: (observer: Observer) => void;
18
+ removeObserver: (observer: Observer) => void;
19
+ notifyObservers: (event: any) => void;
20
+ observers: Set<Observer>;
21
+ }
22
+ export declare function ObserverMixin<T extends object>(base: T, id?: string): T & Observer;
23
+ export declare class ObserverBase implements Observer {
24
+ id: string;
25
+ observers: Set<Observer>;
26
+ constructor(id?: string);
27
+ observe(input: any): void;
28
+ onObserved(input: any): void;
29
+ getState(): this;
30
+ setState(state: any): void;
31
+ addObserver(observer: Observer): void;
32
+ removeObserver(observer: Observer): void;
33
+ notifyObservers(event: any): void;
34
+ /**
35
+ * Get awareness level (base returns 0 and false)
36
+ */
37
+ getAwareness(): {
38
+ level: number;
39
+ isActive: boolean;
40
+ };
41
+ }
42
+ export declare class ConcreteObserver extends ObserverBase {
43
+ awarenessLevel: number;
44
+ isActive: boolean;
45
+ constructor(id?: string);
46
+ /**
47
+ * Get awareness level
48
+ */
49
+ getAwareness(): {
50
+ level: number;
51
+ isActive: boolean;
52
+ };
53
+ }
54
+ //# sourceMappingURL=Observer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Observer.d.ts","sourceRoot":"","sources":["../../../src/core/Observer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,GAAG,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC/B,WAAW,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC1C,cAAc,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,IAAI,CAAC;IAC7C,eAAe,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;CAC1B;AAED,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,IAAI,EAAE,CAAC,EACP,EAAE,CAAC,EAAE,MAAM,GACV,CAAC,GAAG,QAAQ,CA2Bd;AAGD,qBAAa,YAAa,YAAW,QAAQ;IAC3C,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAa;gBACzB,EAAE,CAAC,EAAE,MAAM;IAGvB,OAAO,CAAC,KAAK,EAAE,GAAG;IAIlB,UAAU,CAAC,KAAK,EAAE,GAAG;IAIrB,QAAQ;IAGR,QAAQ,CAAC,KAAK,EAAE,GAAG;IAGnB,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAG9B,cAAc,CAAC,QAAQ,EAAE,QAAQ;IAGjC,eAAe,CAAC,KAAK,EAAE,GAAG;IAG1B;;OAEG;IACI,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;CAM5D;AAGD,qBAAa,gBAAiB,SAAQ,YAAY;IACzC,cAAc,EAAE,MAAM,CAAO;IAC7B,QAAQ,EAAE,OAAO,CAAQ;gBAEpB,EAAE,CAAC,EAAE,MAAM;IAIvB;;OAEG;IACa,YAAY,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE;CAMrE"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ /**
3
+ * Universal Observer/Observable for ZeroPoint
4
+ *
5
+ * Any object can observe and be observed. This mixin/base class provides
6
+ * addObserver, removeObserver, notifyObservers, and observe methods.
7
+ *
8
+ * Metaphysical Context:
9
+ * - Every object is both observer and observed
10
+ * - All objects participate in the consciousness field
11
+ * - Feedback, resonance, and emergence arise from mutual observation
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.ConcreteObserver = exports.ObserverBase = void 0;
15
+ exports.ObserverMixin = ObserverMixin;
16
+ function ObserverMixin(base, id) {
17
+ const observers = new Set();
18
+ return Object.assign(base, {
19
+ id: id || base.id || Math.random().toString(36).slice(2),
20
+ observers,
21
+ observe(input) {
22
+ // Default: log observation
23
+ if (typeof base.onObserved === "function") {
24
+ base.onObserved(input);
25
+ }
26
+ },
27
+ getState() {
28
+ return { ...base };
29
+ },
30
+ setState(state) {
31
+ Object.assign(base, state);
32
+ },
33
+ addObserver(observer) {
34
+ observers.add(observer);
35
+ },
36
+ removeObserver(observer) {
37
+ observers.delete(observer);
38
+ },
39
+ notifyObservers(event) {
40
+ observers.forEach((o) => o.observe(event));
41
+ },
42
+ });
43
+ }
44
+ // Optionally, a base class version
45
+ class ObserverBase {
46
+ constructor(id) {
47
+ this.observers = new Set();
48
+ this.id = id || Math.random().toString(36).slice(2);
49
+ }
50
+ observe(input) {
51
+ // Default: log observation
52
+ this.onObserved(input);
53
+ }
54
+ onObserved(input) {
55
+ // Override in subclass for custom behavior
56
+ console.log(`Observer ${this.id} observed:`, input);
57
+ }
58
+ getState() {
59
+ return { ...this };
60
+ }
61
+ setState(state) {
62
+ Object.assign(this, state);
63
+ }
64
+ addObserver(observer) {
65
+ this.observers.add(observer);
66
+ }
67
+ removeObserver(observer) {
68
+ this.observers.delete(observer);
69
+ }
70
+ notifyObservers(event) {
71
+ this.observers.forEach((o) => o.observe(event));
72
+ }
73
+ /**
74
+ * Get awareness level (base returns 0 and false)
75
+ */
76
+ getAwareness() {
77
+ return {
78
+ level: 0,
79
+ isActive: false,
80
+ };
81
+ }
82
+ }
83
+ exports.ObserverBase = ObserverBase;
84
+ // Concrete Observer class for ZeroPoint
85
+ class ConcreteObserver extends ObserverBase {
86
+ constructor(id) {
87
+ super(id);
88
+ this.awarenessLevel = 0.5;
89
+ this.isActive = true;
90
+ }
91
+ /**
92
+ * Get awareness level
93
+ */
94
+ getAwareness() {
95
+ return {
96
+ level: this.awarenessLevel,
97
+ isActive: this.isActive,
98
+ };
99
+ }
100
+ }
101
+ exports.ConcreteObserver = ConcreteObserver;
102
+ //# sourceMappingURL=Observer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Observer.js","sourceRoot":"","sources":["../../../src/core/Observer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Unified Pattern Recognition System for ZeroPoint
3
+ *
4
+ * Centralized pattern recognition and analysis system that serves
5
+ * all ZeroPoint modules, eliminating duplication and ensuring
6
+ * consistent pattern handling across the system.
7
+ *
8
+ * This module embodies the principle of unified consciousness -
9
+ * all patterns are recognized and processed through the same
10
+ * underlying recognition framework.
11
+ */
12
+ import { EventEmitter } from "events";
13
+ import { PatternCategory } from "./SharedConstants";
14
+ /**
15
+ * Pattern recognition result
16
+ */
17
+ export interface PatternResult {
18
+ pattern: string;
19
+ confidence: number;
20
+ category: PatternCategory;
21
+ metadata: any;
22
+ timestamp: number;
23
+ }
24
+ /**
25
+ * Pattern analysis context
26
+ */
27
+ export interface PatternContext {
28
+ source: string;
29
+ consciousnessLevel: number;
30
+ fieldStrength: number;
31
+ vortexStrength: number;
32
+ toroidalFlow: boolean;
33
+ voidConnected: boolean;
34
+ }
35
+ /**
36
+ * Metaphysical pattern definition - now using centralized COIL system
37
+ */
38
+ export interface MetaphysicalPattern {
39
+ name: string;
40
+ signature: RegExp | ((input: any) => boolean);
41
+ category: PatternCategory;
42
+ context: string;
43
+ weight: number;
44
+ resonanceFactors: string[];
45
+ }
46
+ /**
47
+ * Unified Pattern Recognition System
48
+ */
49
+ export declare class PatternRecognition extends EventEmitter {
50
+ private patterns;
51
+ private recognitionHistory;
52
+ private isInitialized;
53
+ constructor();
54
+ /**
55
+ * Initialize the pattern recognition system
56
+ */
57
+ initialize(): Promise<void>;
58
+ /**
59
+ * Recognize patterns in input data
60
+ */
61
+ recognizePatterns(input: any, context?: Partial<PatternContext>): PatternResult[];
62
+ /**
63
+ * Recognize a single pattern (alias for recognizePatterns)
64
+ */
65
+ recognizePattern(input: any, context?: Partial<PatternContext>): {
66
+ isRecognized: boolean;
67
+ confidence: number;
68
+ pattern: any;
69
+ metadata: any;
70
+ };
71
+ /**
72
+ * Analyze consciousness patterns
73
+ */
74
+ analyzeConsciousnessPatterns(patterns: any[]): any;
75
+ /**
76
+ * Extract vortex patterns from data
77
+ */
78
+ extractVortexPatterns(data: any): any;
79
+ /**
80
+ * Analyze emergence patterns
81
+ */
82
+ analyzeEmergencePatterns(apps: any[]): any;
83
+ /**
84
+ * Get pattern recognition history
85
+ */
86
+ getRecognitionHistory(): PatternResult[];
87
+ /**
88
+ * Clear recognition history
89
+ */
90
+ clearHistory(): void;
91
+ /**
92
+ * Get pattern statistics
93
+ */
94
+ getPatternStatistics(): any;
95
+ /**
96
+ * Initialize metaphysical patterns from centralized COIL system
97
+ */
98
+ private initializePatterns;
99
+ /**
100
+ * Add a new pattern
101
+ */
102
+ private addPattern;
103
+ /**
104
+ * Calculate pattern confidence
105
+ */
106
+ private calculatePatternConfidence;
107
+ /**
108
+ * Extract pattern metadata
109
+ */
110
+ private extractPatternMetadata;
111
+ /**
112
+ * Calculate vortex resonance for a number
113
+ */
114
+ private calculateVortexResonance;
115
+ /**
116
+ * Generate consciousness insights
117
+ */
118
+ private generateConsciousnessInsights;
119
+ /**
120
+ * Generate emergence insights
121
+ */
122
+ private generateEmergenceInsights;
123
+ }
124
+ //# sourceMappingURL=PatternRecognition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PatternRecognition.d.ts","sourceRoot":"","sources":["../../../src/core/PatternRecognition.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAEL,eAAe,EAEhB,MAAM,mBAAmB,CAAC;AAI3B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,GAAG,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC;IAC9C,QAAQ,EAAE,eAAe,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,QAAQ,CAA+C;IAC/D,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,aAAa,CAAkB;;IAOvC;;OAEG;IACU,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxC;;OAEG;IACI,iBAAiB,CACtB,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,aAAa,EAAE;IAyClB;;OAEG;IACI,gBAAgB,CACrB,KAAK,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC;QACD,YAAY,EAAE,OAAO,CAAC;QACtB,UAAU,EAAE,MAAM,CAAC;QACnB,OAAO,EAAE,GAAG,CAAC;QACb,QAAQ,EAAE,GAAG,CAAC;KACf;IAcD;;OAEG;IACI,4BAA4B,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG;IAiEzD;;OAEG;IACI,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;IAoC5C;;OAEG;IACI,wBAAwB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG;IAuDjD;;OAEG;IACI,qBAAqB,IAAI,aAAa,EAAE;IAI/C;;OAEG;IACI,YAAY,IAAI,IAAI;IAK3B;;OAEG;IACI,oBAAoB,IAAI,GAAG;IA0ClC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAoDlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAuB9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyBhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA8BrC;;OAEG;IACH,OAAO,CAAC,yBAAyB;CAuBlC"}