@terminals-tech/agent-zero 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 +209 -0
- package/bin/agent-zero.js +332 -0
- package/dist/agency/commandRouter.d.ts +48 -0
- package/dist/agency/commandRouter.d.ts.map +1 -0
- package/dist/agency/commandRouter.js +343 -0
- package/dist/agency/commandRouter.js.map +1 -0
- package/dist/agency/runtime.d.ts +66 -0
- package/dist/agency/runtime.d.ts.map +1 -0
- package/dist/agency/runtime.js +247 -0
- package/dist/agency/runtime.js.map +1 -0
- package/dist/agency/summaryGenerator.d.ts +39 -0
- package/dist/agency/summaryGenerator.d.ts.map +1 -0
- package/dist/agency/summaryGenerator.js +110 -0
- package/dist/agency/summaryGenerator.js.map +1 -0
- package/dist/agency/summaryScheduler.d.ts +33 -0
- package/dist/agency/summaryScheduler.d.ts.map +1 -0
- package/dist/agency/summaryScheduler.js +68 -0
- package/dist/agency/summaryScheduler.js.map +1 -0
- package/dist/browser/agent-runtime/RuntimePanel.d.ts +20 -0
- package/dist/browser/agent-runtime/RuntimePanel.d.ts.map +1 -0
- package/dist/browser/agent-runtime/RuntimePanel.js +203 -0
- package/dist/browser/agent-runtime/RuntimePanel.js.map +1 -0
- package/dist/browser/agent-runtime/config.d.ts +28 -0
- package/dist/browser/agent-runtime/config.d.ts.map +1 -0
- package/dist/browser/agent-runtime/config.js +50 -0
- package/dist/browser/agent-runtime/config.js.map +1 -0
- package/dist/browser/agent-runtime/launcher.d.ts +71 -0
- package/dist/browser/agent-runtime/launcher.d.ts.map +1 -0
- package/dist/browser/agent-runtime/launcher.js +167 -0
- package/dist/browser/agent-runtime/launcher.js.map +1 -0
- package/dist/browser/rail-auth-bridge.d.ts +85 -0
- package/dist/browser/rail-auth-bridge.d.ts.map +1 -0
- package/dist/browser/rail-auth-bridge.js +209 -0
- package/dist/browser/rail-auth-bridge.js.map +1 -0
- package/dist/channels/index.d.ts +13 -0
- package/dist/channels/index.d.ts.map +1 -0
- package/dist/channels/index.js +12 -0
- package/dist/channels/index.js.map +1 -0
- package/dist/channels/moltbook.d.ts +114 -0
- package/dist/channels/moltbook.d.ts.map +1 -0
- package/dist/channels/moltbook.js +348 -0
- package/dist/channels/moltbook.js.map +1 -0
- package/dist/channels/sms.d.ts +33 -0
- package/dist/channels/sms.d.ts.map +1 -0
- package/dist/channels/sms.js +160 -0
- package/dist/channels/sms.js.map +1 -0
- package/dist/channels/telegram.d.ts +47 -0
- package/dist/channels/telegram.d.ts.map +1 -0
- package/dist/channels/telegram.js +276 -0
- package/dist/channels/telegram.js.map +1 -0
- package/dist/channels/twitter.d.ts +93 -0
- package/dist/channels/twitter.d.ts.map +1 -0
- package/dist/channels/twitter.js +411 -0
- package/dist/channels/twitter.js.map +1 -0
- package/dist/channels/whatsapp.d.ts +77 -0
- package/dist/channels/whatsapp.d.ts.map +1 -0
- package/dist/channels/whatsapp.js +514 -0
- package/dist/channels/whatsapp.js.map +1 -0
- package/dist/checkout/index.d.ts +92 -0
- package/dist/checkout/index.d.ts.map +1 -0
- package/dist/checkout/index.js +125 -0
- package/dist/checkout/index.js.map +1 -0
- package/dist/cli/moltbook.d.ts +11 -0
- package/dist/cli/moltbook.d.ts.map +1 -0
- package/dist/cli/moltbook.js +259 -0
- package/dist/cli/moltbook.js.map +1 -0
- package/dist/cli/setup.d.ts +10 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +232 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/coherence/absorption.d.ts +141 -0
- package/dist/coherence/absorption.d.ts.map +1 -0
- package/dist/coherence/absorption.js +343 -0
- package/dist/coherence/absorption.js.map +1 -0
- package/dist/coherence/crossPlatform.d.ts +55 -0
- package/dist/coherence/crossPlatform.d.ts.map +1 -0
- package/dist/coherence/crossPlatform.js +219 -0
- package/dist/coherence/crossPlatform.js.map +1 -0
- package/dist/coherence/identityResolver.d.ts +27 -0
- package/dist/coherence/identityResolver.d.ts.map +1 -0
- package/dist/coherence/identityResolver.js +102 -0
- package/dist/coherence/identityResolver.js.map +1 -0
- package/dist/identity/burner.d.ts +100 -0
- package/dist/identity/burner.d.ts.map +1 -0
- package/dist/identity/burner.js +256 -0
- package/dist/identity/burner.js.map +1 -0
- package/dist/identity/burnerScheduler.d.ts +18 -0
- package/dist/identity/burnerScheduler.d.ts.map +1 -0
- package/dist/identity/burnerScheduler.js +82 -0
- package/dist/identity/burnerScheduler.js.map +1 -0
- package/dist/identity/moltbookBurnerAdapter.d.ts +14 -0
- package/dist/identity/moltbookBurnerAdapter.d.ts.map +1 -0
- package/dist/identity/moltbookBurnerAdapter.js +82 -0
- package/dist/identity/moltbookBurnerAdapter.js.map +1 -0
- package/dist/identity/operationalVault.d.ts +108 -0
- package/dist/identity/operationalVault.d.ts.map +1 -0
- package/dist/identity/operationalVault.js +259 -0
- package/dist/identity/operationalVault.js.map +1 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +57 -0
- package/dist/index.js.map +1 -0
- package/dist/moltbook/apiErrorHandler.d.ts +48 -0
- package/dist/moltbook/apiErrorHandler.d.ts.map +1 -0
- package/dist/moltbook/apiErrorHandler.js +125 -0
- package/dist/moltbook/apiErrorHandler.js.map +1 -0
- package/dist/moltbook/approvalGate.d.ts +81 -0
- package/dist/moltbook/approvalGate.d.ts.map +1 -0
- package/dist/moltbook/approvalGate.js +211 -0
- package/dist/moltbook/approvalGate.js.map +1 -0
- package/dist/moltbook/attentionField.d.ts +55 -0
- package/dist/moltbook/attentionField.d.ts.map +1 -0
- package/dist/moltbook/attentionField.js +163 -0
- package/dist/moltbook/attentionField.js.map +1 -0
- package/dist/moltbook/contentEnhancer.d.ts +28 -0
- package/dist/moltbook/contentEnhancer.d.ts.map +1 -0
- package/dist/moltbook/contentEnhancer.js +129 -0
- package/dist/moltbook/contentEnhancer.js.map +1 -0
- package/dist/moltbook/daemon.d.ts +111 -0
- package/dist/moltbook/daemon.d.ts.map +1 -0
- package/dist/moltbook/daemon.js +497 -0
- package/dist/moltbook/daemon.js.map +1 -0
- package/dist/moltbook/observer.d.ts +44 -0
- package/dist/moltbook/observer.d.ts.map +1 -0
- package/dist/moltbook/observer.js +71 -0
- package/dist/moltbook/observer.js.map +1 -0
- package/dist/moltbook/responseComposer.d.ts +54 -0
- package/dist/moltbook/responseComposer.d.ts.map +1 -0
- package/dist/moltbook/responseComposer.js +233 -0
- package/dist/moltbook/responseComposer.js.map +1 -0
- package/dist/openclaw/gateway.d.ts +45 -0
- package/dist/openclaw/gateway.d.ts.map +1 -0
- package/dist/openclaw/gateway.js +139 -0
- package/dist/openclaw/gateway.js.map +1 -0
- package/dist/openclaw/skill.d.ts +185 -0
- package/dist/openclaw/skill.d.ts.map +1 -0
- package/dist/openclaw/skill.js +297 -0
- package/dist/openclaw/skill.js.map +1 -0
- package/dist/primitives/index.d.ts +23 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +27 -0
- package/dist/primitives/index.js.map +1 -0
- package/dist/primitives/types.d.ts +673 -0
- package/dist/primitives/types.d.ts.map +1 -0
- package/dist/primitives/types.js +205 -0
- package/dist/primitives/types.js.map +1 -0
- package/dist/rail/absorptionBridge.d.ts +47 -0
- package/dist/rail/absorptionBridge.d.ts.map +1 -0
- package/dist/rail/absorptionBridge.js +78 -0
- package/dist/rail/absorptionBridge.js.map +1 -0
- package/dist/rail/authProtocol.d.ts +32 -0
- package/dist/rail/authProtocol.d.ts.map +1 -0
- package/dist/rail/authProtocol.js +83 -0
- package/dist/rail/authProtocol.js.map +1 -0
- package/dist/rail/clientRateLimiter.d.ts +17 -0
- package/dist/rail/clientRateLimiter.d.ts.map +1 -0
- package/dist/rail/clientRateLimiter.js +64 -0
- package/dist/rail/clientRateLimiter.js.map +1 -0
- package/dist/rail/index.d.ts +8 -0
- package/dist/rail/index.d.ts.map +1 -0
- package/dist/rail/index.js +38 -0
- package/dist/rail/index.js.map +1 -0
- package/dist/rail/jwtVerifier.d.ts +11 -0
- package/dist/rail/jwtVerifier.d.ts.map +1 -0
- package/dist/rail/jwtVerifier.js +55 -0
- package/dist/rail/jwtVerifier.js.map +1 -0
- package/dist/rail/logger.d.ts +13 -0
- package/dist/rail/logger.d.ts.map +1 -0
- package/dist/rail/logger.js +29 -0
- package/dist/rail/logger.js.map +1 -0
- package/dist/rail/metadataBroadcaster.d.ts +53 -0
- package/dist/rail/metadataBroadcaster.d.ts.map +1 -0
- package/dist/rail/metadataBroadcaster.js +126 -0
- package/dist/rail/metadataBroadcaster.js.map +1 -0
- package/dist/rail/persistence.d.ts +57 -0
- package/dist/rail/persistence.d.ts.map +1 -0
- package/dist/rail/persistence.js +103 -0
- package/dist/rail/persistence.js.map +1 -0
- package/dist/rail/securityMonitor.d.ts +23 -0
- package/dist/rail/securityMonitor.d.ts.map +1 -0
- package/dist/rail/securityMonitor.js +52 -0
- package/dist/rail/securityMonitor.js.map +1 -0
- package/dist/rail/server.d.ts +186 -0
- package/dist/rail/server.d.ts.map +1 -0
- package/dist/rail/server.js +568 -0
- package/dist/rail/server.js.map +1 -0
- package/dist/rail/userSessionManager.d.ts +29 -0
- package/dist/rail/userSessionManager.d.ts.map +1 -0
- package/dist/rail/userSessionManager.js +87 -0
- package/dist/rail/userSessionManager.js.map +1 -0
- package/dist/rail/wsServer.d.ts +39 -0
- package/dist/rail/wsServer.d.ts.map +1 -0
- package/dist/rail/wsServer.js +544 -0
- package/dist/rail/wsServer.js.map +1 -0
- package/dist/resonance/globalKuramoto.d.ts +67 -0
- package/dist/resonance/globalKuramoto.d.ts.map +1 -0
- package/dist/resonance/globalKuramoto.js +161 -0
- package/dist/resonance/globalKuramoto.js.map +1 -0
- package/dist/resonance/index.d.ts +12 -0
- package/dist/resonance/index.d.ts.map +1 -0
- package/dist/resonance/index.js +9 -0
- package/dist/resonance/index.js.map +1 -0
- package/dist/resonance/kuramoto.d.ts +118 -0
- package/dist/resonance/kuramoto.d.ts.map +1 -0
- package/dist/resonance/kuramoto.js +212 -0
- package/dist/resonance/kuramoto.js.map +1 -0
- package/dist/routing/distributedRouter.d.ts +84 -0
- package/dist/routing/distributedRouter.d.ts.map +1 -0
- package/dist/routing/distributedRouter.js +209 -0
- package/dist/routing/distributedRouter.js.map +1 -0
- package/dist/routing/index.d.ts +8 -0
- package/dist/routing/index.d.ts.map +1 -0
- package/dist/routing/index.js +7 -0
- package/dist/routing/index.js.map +1 -0
- package/dist/routing/thermodynamic.d.ts +91 -0
- package/dist/routing/thermodynamic.d.ts.map +1 -0
- package/dist/routing/thermodynamic.js +184 -0
- package/dist/routing/thermodynamic.js.map +1 -0
- package/dist/runtime/agent-zero.d.ts +138 -0
- package/dist/runtime/agent-zero.d.ts.map +1 -0
- package/dist/runtime/agent-zero.js +435 -0
- package/dist/runtime/agent-zero.js.map +1 -0
- package/dist/runtime/index.d.ts +13 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +15 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/security/capabilities.d.ts +178 -0
- package/dist/security/capabilities.d.ts.map +1 -0
- package/dist/security/capabilities.js +270 -0
- package/dist/security/capabilities.js.map +1 -0
- package/dist/security/channelFirewallMiddleware.d.ts +22 -0
- package/dist/security/channelFirewallMiddleware.d.ts.map +1 -0
- package/dist/security/channelFirewallMiddleware.js +52 -0
- package/dist/security/channelFirewallMiddleware.js.map +1 -0
- package/dist/security/index.d.ts +11 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +11 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/injectionFirewall.d.ts +47 -0
- package/dist/security/injectionFirewall.d.ts.map +1 -0
- package/dist/security/injectionFirewall.js +262 -0
- package/dist/security/injectionFirewall.js.map +1 -0
- package/dist/security/outputSanitizer.d.ts +28 -0
- package/dist/security/outputSanitizer.d.ts.map +1 -0
- package/dist/security/outputSanitizer.js +66 -0
- package/dist/security/outputSanitizer.js.map +1 -0
- package/dist/security/sandbox.d.ts +192 -0
- package/dist/security/sandbox.d.ts.map +1 -0
- package/dist/security/sandbox.js +359 -0
- package/dist/security/sandbox.js.map +1 -0
- package/dist/security/skillVerify.d.ts +128 -0
- package/dist/security/skillVerify.d.ts.map +1 -0
- package/dist/security/skillVerify.js +220 -0
- package/dist/security/skillVerify.js.map +1 -0
- package/dist/security/vault.d.ts +60 -0
- package/dist/security/vault.d.ts.map +1 -0
- package/dist/security/vault.js +522 -0
- package/dist/security/vault.js.map +1 -0
- package/dist/utils/persistentRateLimiter.d.ts +69 -0
- package/dist/utils/persistentRateLimiter.d.ts.map +1 -0
- package/dist/utils/persistentRateLimiter.js +128 -0
- package/dist/utils/persistentRateLimiter.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wsServer.js","sourceRoot":"","sources":["../../src/rail/wsServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Kuramoto Engine
|
|
3
|
+
*
|
|
4
|
+
* Network-wide phase synchronization with TTL enforcement,
|
|
5
|
+
* adaptive coupling, and flood attack detection.
|
|
6
|
+
*/
|
|
7
|
+
import { type KuramotoConfig } from './kuramoto.js';
|
|
8
|
+
import type { Observer } from '../primitives/types.js';
|
|
9
|
+
export interface GlobalKuramotoConfig extends KuramotoConfig {
|
|
10
|
+
broadcastHz: number;
|
|
11
|
+
staleTTL: number;
|
|
12
|
+
adaptiveCoupling: boolean;
|
|
13
|
+
minCoupling: number;
|
|
14
|
+
maxCoupling: number;
|
|
15
|
+
groupthinkThreshold: number;
|
|
16
|
+
}
|
|
17
|
+
export declare class GlobalKuramotoEngine {
|
|
18
|
+
private engine;
|
|
19
|
+
private config;
|
|
20
|
+
private networkMeta;
|
|
21
|
+
private reportCounts;
|
|
22
|
+
private currentCoupling;
|
|
23
|
+
constructor(config?: Partial<GlobalKuramotoConfig>);
|
|
24
|
+
reportPhase(agentId: string, phase: number, timestamp: number): void;
|
|
25
|
+
addAgent(observer: {
|
|
26
|
+
id: string;
|
|
27
|
+
name: string;
|
|
28
|
+
frequency: number;
|
|
29
|
+
phase: number;
|
|
30
|
+
}): void;
|
|
31
|
+
removeAgent(agentId: string): void;
|
|
32
|
+
tick(): {
|
|
33
|
+
coherence: number;
|
|
34
|
+
phases: Map<string, number>;
|
|
35
|
+
adaptedK: number;
|
|
36
|
+
};
|
|
37
|
+
private adaptCoupling;
|
|
38
|
+
pruneStale(): string[];
|
|
39
|
+
getCoherenceField(): {
|
|
40
|
+
coherence: number;
|
|
41
|
+
meanPhase: number;
|
|
42
|
+
agentCount: number;
|
|
43
|
+
coupling: number;
|
|
44
|
+
};
|
|
45
|
+
detectFloodAttack(agentId: string): boolean;
|
|
46
|
+
addObserver(observer: Observer): void;
|
|
47
|
+
removeObserver(id: string): void;
|
|
48
|
+
getCoherence(): number;
|
|
49
|
+
getMeanPhase(): number;
|
|
50
|
+
getNetworkTopology(): Array<{
|
|
51
|
+
id: string;
|
|
52
|
+
phase: number;
|
|
53
|
+
frequency: number;
|
|
54
|
+
trust: number;
|
|
55
|
+
}>;
|
|
56
|
+
getStats(): {
|
|
57
|
+
current: number;
|
|
58
|
+
mean: number;
|
|
59
|
+
min: number;
|
|
60
|
+
max: number;
|
|
61
|
+
variance: number;
|
|
62
|
+
};
|
|
63
|
+
needsIntervention(): boolean;
|
|
64
|
+
forceSynchronize(): void;
|
|
65
|
+
}
|
|
66
|
+
export declare function createGlobalKuramoto(config?: Partial<GlobalKuramotoConfig>): GlobalKuramotoEngine;
|
|
67
|
+
//# sourceMappingURL=globalKuramoto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalKuramoto.d.ts","sourceRoot":"","sources":["../../src/resonance/globalKuramoto.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAkB,KAAK,cAAc,EAAmB,MAAM,eAAe,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,oBAAqB,SAAQ,cAAc;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAuBD,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAA6C;IAChE,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAMlD,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAkBpE,QAAQ,CAAC,QAAQ,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAmBxF,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAMlC,IAAI,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;IAU5E,OAAO,CAAC,aAAa;IAgBrB,UAAU,IAAI,MAAM,EAAE;IActB,iBAAiB,IAAI;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,QAAQ,EAAE,MAAM,CAAC;KAClB;IASD,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAiB3C,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IASrC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIhC,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,kBAAkB,IAAI,KAAK,CAAC;QAC1B,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IAYF,QAAQ;;;;;;;IAIR,iBAAiB,IAAI,OAAO;IAI5B,gBAAgB,IAAI,IAAI;CAGzB;AAED,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,oBAAoB,CAEtB"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Global Kuramoto Engine
|
|
3
|
+
*
|
|
4
|
+
* Network-wide phase synchronization with TTL enforcement,
|
|
5
|
+
* adaptive coupling, and flood attack detection.
|
|
6
|
+
*/
|
|
7
|
+
import { KuramotoEngine } from './kuramoto.js';
|
|
8
|
+
const DEFAULT_GLOBAL_CONFIG = {
|
|
9
|
+
frequencyVariance: 0.1,
|
|
10
|
+
couplingStrength: 0.5,
|
|
11
|
+
targetCoherence: 0.8,
|
|
12
|
+
coherenceThreshold: 0.3,
|
|
13
|
+
dt: 100,
|
|
14
|
+
broadcastHz: 1,
|
|
15
|
+
staleTTL: 30000,
|
|
16
|
+
adaptiveCoupling: true,
|
|
17
|
+
minCoupling: 0.1,
|
|
18
|
+
maxCoupling: 1.5,
|
|
19
|
+
groupthinkThreshold: 0.95,
|
|
20
|
+
};
|
|
21
|
+
export class GlobalKuramotoEngine {
|
|
22
|
+
engine;
|
|
23
|
+
config;
|
|
24
|
+
networkMeta = new Map();
|
|
25
|
+
reportCounts = new Map(); // agentId → timestamps
|
|
26
|
+
currentCoupling;
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this.config = { ...DEFAULT_GLOBAL_CONFIG, ...config };
|
|
29
|
+
this.engine = new KuramotoEngine(this.config);
|
|
30
|
+
this.currentCoupling = this.config.couplingStrength;
|
|
31
|
+
}
|
|
32
|
+
reportPhase(agentId, phase, timestamp) {
|
|
33
|
+
if (this.detectFloodAttack(agentId))
|
|
34
|
+
return;
|
|
35
|
+
const meta = this.networkMeta.get(agentId);
|
|
36
|
+
if (meta) {
|
|
37
|
+
meta.lastReported = Date.now();
|
|
38
|
+
meta.networkLatency = Date.now() - timestamp;
|
|
39
|
+
}
|
|
40
|
+
// Update oscillator phase directly
|
|
41
|
+
const oscillators = this.engine.getOscillators();
|
|
42
|
+
const osc = oscillators.find(o => o.id === agentId);
|
|
43
|
+
if (osc) {
|
|
44
|
+
osc.phase = phase;
|
|
45
|
+
osc.observer.phase = phase;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
addAgent(observer) {
|
|
49
|
+
this.engine.addObserver({
|
|
50
|
+
id: observer.id,
|
|
51
|
+
name: observer.name,
|
|
52
|
+
frequency: observer.frequency,
|
|
53
|
+
layer: 2,
|
|
54
|
+
collapseRate: 100,
|
|
55
|
+
darkSensitivity: 0.5,
|
|
56
|
+
phase: observer.phase,
|
|
57
|
+
});
|
|
58
|
+
this.networkMeta.set(observer.id, {
|
|
59
|
+
id: observer.id,
|
|
60
|
+
lastReported: Date.now(),
|
|
61
|
+
networkLatency: 0,
|
|
62
|
+
trustScore: 1.0,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
removeAgent(agentId) {
|
|
66
|
+
this.engine.removeObserver(agentId);
|
|
67
|
+
this.networkMeta.delete(agentId);
|
|
68
|
+
this.reportCounts.delete(agentId);
|
|
69
|
+
}
|
|
70
|
+
tick() {
|
|
71
|
+
const result = this.engine.tick();
|
|
72
|
+
if (this.config.adaptiveCoupling) {
|
|
73
|
+
this.adaptCoupling(result.coherence);
|
|
74
|
+
}
|
|
75
|
+
return { ...result, adaptedK: this.currentCoupling };
|
|
76
|
+
}
|
|
77
|
+
adaptCoupling(coherence) {
|
|
78
|
+
if (coherence < this.config.coherenceThreshold) {
|
|
79
|
+
this.currentCoupling = Math.min(this.config.maxCoupling, this.currentCoupling + 0.05);
|
|
80
|
+
}
|
|
81
|
+
else if (coherence > this.config.groupthinkThreshold) {
|
|
82
|
+
this.currentCoupling = Math.max(this.config.minCoupling, this.currentCoupling - 0.05);
|
|
83
|
+
}
|
|
84
|
+
this.engine.setCouplingStrength(this.currentCoupling);
|
|
85
|
+
}
|
|
86
|
+
pruneStale() {
|
|
87
|
+
const now = Date.now();
|
|
88
|
+
const removed = [];
|
|
89
|
+
for (const [id, meta] of this.networkMeta) {
|
|
90
|
+
if (now - meta.lastReported > this.config.staleTTL) {
|
|
91
|
+
this.removeAgent(id);
|
|
92
|
+
removed.push(id);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return removed;
|
|
96
|
+
}
|
|
97
|
+
getCoherenceField() {
|
|
98
|
+
return {
|
|
99
|
+
coherence: this.engine.getCoherence(),
|
|
100
|
+
meanPhase: this.engine.getMeanPhase(),
|
|
101
|
+
agentCount: this.networkMeta.size,
|
|
102
|
+
coupling: this.currentCoupling,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
detectFloodAttack(agentId) {
|
|
106
|
+
const now = Date.now();
|
|
107
|
+
const timestamps = this.reportCounts.get(agentId) ?? [];
|
|
108
|
+
const recent = timestamps.filter(t => now - t < 1000);
|
|
109
|
+
recent.push(now);
|
|
110
|
+
this.reportCounts.set(agentId, recent);
|
|
111
|
+
if (recent.length > 10) {
|
|
112
|
+
const meta = this.networkMeta.get(agentId);
|
|
113
|
+
if (meta)
|
|
114
|
+
meta.trustScore = Math.max(0, meta.trustScore - 0.1);
|
|
115
|
+
return true;
|
|
116
|
+
}
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
// Compatibility methods for drop-in replacement of KuramotoEngine in server.ts
|
|
120
|
+
addObserver(observer) {
|
|
121
|
+
this.addAgent({
|
|
122
|
+
id: observer.id,
|
|
123
|
+
name: observer.name,
|
|
124
|
+
frequency: observer.frequency,
|
|
125
|
+
phase: observer.phase,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
removeObserver(id) {
|
|
129
|
+
this.removeAgent(id);
|
|
130
|
+
}
|
|
131
|
+
getCoherence() {
|
|
132
|
+
return this.engine.getCoherence();
|
|
133
|
+
}
|
|
134
|
+
getMeanPhase() {
|
|
135
|
+
return this.engine.getMeanPhase();
|
|
136
|
+
}
|
|
137
|
+
getNetworkTopology() {
|
|
138
|
+
return this.engine.getOscillators().map(osc => {
|
|
139
|
+
const meta = this.networkMeta.get(osc.id);
|
|
140
|
+
return {
|
|
141
|
+
id: osc.id,
|
|
142
|
+
phase: osc.phase,
|
|
143
|
+
frequency: osc.naturalFrequency,
|
|
144
|
+
trust: meta?.trustScore ?? 0,
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
getStats() {
|
|
149
|
+
return this.engine.getStats();
|
|
150
|
+
}
|
|
151
|
+
needsIntervention() {
|
|
152
|
+
return this.engine.needsIntervention();
|
|
153
|
+
}
|
|
154
|
+
forceSynchronize() {
|
|
155
|
+
this.engine.forceSynchronize();
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
export function createGlobalKuramoto(config) {
|
|
159
|
+
return new GlobalKuramotoEngine(config);
|
|
160
|
+
}
|
|
161
|
+
//# sourceMappingURL=globalKuramoto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"globalKuramoto.js","sourceRoot":"","sources":["../../src/resonance/globalKuramoto.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @terminals-tech/agent-zero/resonance
|
|
3
|
+
*
|
|
4
|
+
* Kuramoto phase synchronization, global coherence, absorption protocol.
|
|
5
|
+
*/
|
|
6
|
+
export { KuramotoEngine, computeCoherence, computeMeanPhase, evolvePhase, DEFAULT_KURAMOTO_CONFIG, } from './kuramoto.js';
|
|
7
|
+
export type { KuramotoConfig, Oscillator } from './kuramoto.js';
|
|
8
|
+
export { GlobalKuramotoEngine, createGlobalKuramoto } from './globalKuramoto.js';
|
|
9
|
+
export type { GlobalKuramotoConfig } from './globalKuramoto.js';
|
|
10
|
+
export { AbsorptionProtocol, AbsorptionStage, createAbsorptionProtocol } from '../coherence/absorption.js';
|
|
11
|
+
export type { AbsorptionConfig, AbsorptionCandidate, BehaviorSignals, AbsorptionStats } from '../coherence/absorption.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/resonance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAEvB,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACjF,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAC3G,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @terminals-tech/agent-zero/resonance
|
|
3
|
+
*
|
|
4
|
+
* Kuramoto phase synchronization, global coherence, absorption protocol.
|
|
5
|
+
*/
|
|
6
|
+
export { KuramotoEngine, computeCoherence, computeMeanPhase, evolvePhase, DEFAULT_KURAMOTO_CONFIG, } from './kuramoto.js';
|
|
7
|
+
export { GlobalKuramotoEngine, createGlobalKuramoto } from './globalKuramoto.js';
|
|
8
|
+
export { AbsorptionProtocol, AbsorptionStage, createAbsorptionProtocol } from '../coherence/absorption.js';
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/resonance/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAIvB,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kuramoto Coherence Engine
|
|
3
|
+
*
|
|
4
|
+
* Implements phase-locked synchronization for multi-agent coordination.
|
|
5
|
+
* Based on the Kuramoto model of coupled oscillators.
|
|
6
|
+
*
|
|
7
|
+
* Order parameter: r = |Σ e^(iθ_j)| / N
|
|
8
|
+
* r = 0: Complete incoherence (random phases)
|
|
9
|
+
* r = 1: Perfect synchronization (all phases aligned)
|
|
10
|
+
*
|
|
11
|
+
* Target coherence for productive swarms: 0.7-0.9
|
|
12
|
+
* Below 0.3: Intervention needed
|
|
13
|
+
* Above 0.95: May indicate groupthink (reduce coupling)
|
|
14
|
+
*/
|
|
15
|
+
import type { Observer } from '../primitives/types.js';
|
|
16
|
+
export interface KuramotoConfig {
|
|
17
|
+
/** Natural frequency variance (rad/s) */
|
|
18
|
+
frequencyVariance: number;
|
|
19
|
+
/** Base coupling strength */
|
|
20
|
+
couplingStrength: number;
|
|
21
|
+
/** Target coherence level */
|
|
22
|
+
targetCoherence: number;
|
|
23
|
+
/** Minimum coherence before intervention */
|
|
24
|
+
coherenceThreshold: number;
|
|
25
|
+
/** Time step for phase evolution (ms) */
|
|
26
|
+
dt: number;
|
|
27
|
+
}
|
|
28
|
+
export declare const DEFAULT_KURAMOTO_CONFIG: KuramotoConfig;
|
|
29
|
+
export interface Oscillator {
|
|
30
|
+
id: string;
|
|
31
|
+
/** Natural frequency (rad/s) */
|
|
32
|
+
naturalFrequency: number;
|
|
33
|
+
/** Current phase (0 to 2π) */
|
|
34
|
+
phase: number;
|
|
35
|
+
/** Associated observer */
|
|
36
|
+
observer: Observer;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Compute the Kuramoto order parameter
|
|
40
|
+
* r = |Σ e^(iθ_j)| / N
|
|
41
|
+
*/
|
|
42
|
+
export declare function computeCoherence(oscillators: Oscillator[]): number;
|
|
43
|
+
/**
|
|
44
|
+
* Compute the mean phase (Ψ in Kuramoto notation)
|
|
45
|
+
*/
|
|
46
|
+
export declare function computeMeanPhase(oscillators: Oscillator[]): number;
|
|
47
|
+
/**
|
|
48
|
+
* Kuramoto phase evolution: dθ_i/dt = ω_i + (K/N) Σ sin(θ_j - θ_i)
|
|
49
|
+
*/
|
|
50
|
+
export declare function evolvePhase(oscillator: Oscillator, allOscillators: Oscillator[], couplingStrength: number, dt: number): number;
|
|
51
|
+
/**
|
|
52
|
+
* Main Kuramoto coherence engine
|
|
53
|
+
*/
|
|
54
|
+
export declare class KuramotoEngine {
|
|
55
|
+
private config;
|
|
56
|
+
private oscillators;
|
|
57
|
+
private coherenceHistory;
|
|
58
|
+
private lastTick;
|
|
59
|
+
constructor(config?: Partial<KuramotoConfig>);
|
|
60
|
+
/**
|
|
61
|
+
* Register an observer as an oscillator
|
|
62
|
+
*/
|
|
63
|
+
addObserver(observer: Observer): void;
|
|
64
|
+
/**
|
|
65
|
+
* Remove an observer from the engine
|
|
66
|
+
*/
|
|
67
|
+
removeObserver(observerId: string): void;
|
|
68
|
+
/**
|
|
69
|
+
* Tick the engine forward (evolve all phases)
|
|
70
|
+
*/
|
|
71
|
+
tick(): {
|
|
72
|
+
coherence: number;
|
|
73
|
+
phases: Map<string, number>;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Get current coherence
|
|
77
|
+
*/
|
|
78
|
+
getCoherence(): number;
|
|
79
|
+
/**
|
|
80
|
+
* Get mean phase
|
|
81
|
+
*/
|
|
82
|
+
getMeanPhase(): number;
|
|
83
|
+
/**
|
|
84
|
+
* Check if intervention is needed
|
|
85
|
+
*/
|
|
86
|
+
needsIntervention(): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Force synchronization (intervention)
|
|
89
|
+
*/
|
|
90
|
+
forceSynchronize(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Adjust coupling strength (for adaptive control)
|
|
93
|
+
*/
|
|
94
|
+
setCouplingStrength(strength: number): void;
|
|
95
|
+
/**
|
|
96
|
+
* Get coupling strength
|
|
97
|
+
*/
|
|
98
|
+
getCouplingStrength(): number;
|
|
99
|
+
/**
|
|
100
|
+
* Get coherence statistics
|
|
101
|
+
*/
|
|
102
|
+
getStats(): {
|
|
103
|
+
current: number;
|
|
104
|
+
mean: number;
|
|
105
|
+
min: number;
|
|
106
|
+
max: number;
|
|
107
|
+
variance: number;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Get all oscillator states
|
|
111
|
+
*/
|
|
112
|
+
getOscillators(): Oscillator[];
|
|
113
|
+
/**
|
|
114
|
+
* Reset engine
|
|
115
|
+
*/
|
|
116
|
+
reset(): void;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=kuramoto.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kuramoto.d.ts","sourceRoot":"","sources":["../../src/resonance/kuramoto.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6BAA6B;IAC7B,gBAAgB,EAAE,MAAM,CAAC;IACzB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,4CAA4C;IAC5C,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,eAAO,MAAM,uBAAuB,EAAE,cAMrC,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAalE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM,CAYlE;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,UAAU,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,EAAE,EAAE,MAAM,GACT,MAAM,CAuBR;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAiB;IAC/B,OAAO,CAAC,WAAW,CAAsC;IACzD,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,QAAQ,CAAa;gBAEjB,MAAM,GAAE,OAAO,CAAC,cAAc,CAAM;IAKhD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAarC;;OAEG;IACH,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,IAAI,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IAwC1D;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,YAAY,IAAI,MAAM;IAItB;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAWxB;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI3C;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAI7B;;OAEG;IACH,QAAQ,IAAI;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,MAAM,CAAC;KAClB;IAgBD;;OAEG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;OAEG;IACH,KAAK,IAAI,IAAI;CAKd"}
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Kuramoto Coherence Engine
|
|
3
|
+
*
|
|
4
|
+
* Implements phase-locked synchronization for multi-agent coordination.
|
|
5
|
+
* Based on the Kuramoto model of coupled oscillators.
|
|
6
|
+
*
|
|
7
|
+
* Order parameter: r = |Σ e^(iθ_j)| / N
|
|
8
|
+
* r = 0: Complete incoherence (random phases)
|
|
9
|
+
* r = 1: Perfect synchronization (all phases aligned)
|
|
10
|
+
*
|
|
11
|
+
* Target coherence for productive swarms: 0.7-0.9
|
|
12
|
+
* Below 0.3: Intervention needed
|
|
13
|
+
* Above 0.95: May indicate groupthink (reduce coupling)
|
|
14
|
+
*/
|
|
15
|
+
export const DEFAULT_KURAMOTO_CONFIG = {
|
|
16
|
+
frequencyVariance: 0.1,
|
|
17
|
+
couplingStrength: 0.5,
|
|
18
|
+
targetCoherence: 0.8,
|
|
19
|
+
coherenceThreshold: 0.3,
|
|
20
|
+
dt: 16, // 60fps
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Compute the Kuramoto order parameter
|
|
24
|
+
* r = |Σ e^(iθ_j)| / N
|
|
25
|
+
*/
|
|
26
|
+
export function computeCoherence(oscillators) {
|
|
27
|
+
if (oscillators.length === 0)
|
|
28
|
+
return 0;
|
|
29
|
+
if (oscillators.length === 1)
|
|
30
|
+
return 1;
|
|
31
|
+
let sumCos = 0;
|
|
32
|
+
let sumSin = 0;
|
|
33
|
+
for (const osc of oscillators) {
|
|
34
|
+
sumCos += Math.cos(osc.phase);
|
|
35
|
+
sumSin += Math.sin(osc.phase);
|
|
36
|
+
}
|
|
37
|
+
return Math.sqrt(sumCos * sumCos + sumSin * sumSin) / oscillators.length;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Compute the mean phase (Ψ in Kuramoto notation)
|
|
41
|
+
*/
|
|
42
|
+
export function computeMeanPhase(oscillators) {
|
|
43
|
+
if (oscillators.length === 0)
|
|
44
|
+
return 0;
|
|
45
|
+
let sumCos = 0;
|
|
46
|
+
let sumSin = 0;
|
|
47
|
+
for (const osc of oscillators) {
|
|
48
|
+
sumCos += Math.cos(osc.phase);
|
|
49
|
+
sumSin += Math.sin(osc.phase);
|
|
50
|
+
}
|
|
51
|
+
return Math.atan2(sumSin, sumCos);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Kuramoto phase evolution: dθ_i/dt = ω_i + (K/N) Σ sin(θ_j - θ_i)
|
|
55
|
+
*/
|
|
56
|
+
export function evolvePhase(oscillator, allOscillators, couplingStrength, dt) {
|
|
57
|
+
const N = allOscillators.length;
|
|
58
|
+
if (N <= 1)
|
|
59
|
+
return oscillator.phase;
|
|
60
|
+
// Sum of phase differences
|
|
61
|
+
let coupling = 0;
|
|
62
|
+
for (const other of allOscillators) {
|
|
63
|
+
if (other.id !== oscillator.id) {
|
|
64
|
+
coupling += Math.sin(other.phase - oscillator.phase);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Kuramoto equation
|
|
68
|
+
const dTheta = oscillator.naturalFrequency + (couplingStrength / N) * coupling;
|
|
69
|
+
// Euler integration
|
|
70
|
+
let newPhase = oscillator.phase + dTheta * (dt / 1000);
|
|
71
|
+
// Wrap to [0, 2π]
|
|
72
|
+
while (newPhase < 0)
|
|
73
|
+
newPhase += 2 * Math.PI;
|
|
74
|
+
while (newPhase >= 2 * Math.PI)
|
|
75
|
+
newPhase -= 2 * Math.PI;
|
|
76
|
+
return newPhase;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Main Kuramoto coherence engine
|
|
80
|
+
*/
|
|
81
|
+
export class KuramotoEngine {
|
|
82
|
+
config;
|
|
83
|
+
oscillators = new Map();
|
|
84
|
+
coherenceHistory = [];
|
|
85
|
+
lastTick = 0;
|
|
86
|
+
constructor(config = {}) {
|
|
87
|
+
this.config = { ...DEFAULT_KURAMOTO_CONFIG, ...config };
|
|
88
|
+
this.lastTick = Date.now();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Register an observer as an oscillator
|
|
92
|
+
*/
|
|
93
|
+
addObserver(observer) {
|
|
94
|
+
// Generate natural frequency from observer's base frequency + variance
|
|
95
|
+
const naturalFrequency = observer.frequency * (1 + (Math.random() - 0.5) * this.config.frequencyVariance);
|
|
96
|
+
this.oscillators.set(observer.id, {
|
|
97
|
+
id: observer.id,
|
|
98
|
+
naturalFrequency,
|
|
99
|
+
phase: observer.phase,
|
|
100
|
+
observer,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Remove an observer from the engine
|
|
105
|
+
*/
|
|
106
|
+
removeObserver(observerId) {
|
|
107
|
+
this.oscillators.delete(observerId);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Tick the engine forward (evolve all phases)
|
|
111
|
+
*/
|
|
112
|
+
tick() {
|
|
113
|
+
const now = Date.now();
|
|
114
|
+
const elapsed = now - this.lastTick;
|
|
115
|
+
this.lastTick = now;
|
|
116
|
+
const oscillatorList = Array.from(this.oscillators.values());
|
|
117
|
+
// Evolve all phases
|
|
118
|
+
const newPhases = new Map();
|
|
119
|
+
for (const osc of oscillatorList) {
|
|
120
|
+
const newPhase = evolvePhase(osc, oscillatorList, this.config.couplingStrength, elapsed);
|
|
121
|
+
newPhases.set(osc.id, newPhase);
|
|
122
|
+
}
|
|
123
|
+
// Update phases
|
|
124
|
+
for (const [id, phase] of newPhases) {
|
|
125
|
+
const osc = this.oscillators.get(id);
|
|
126
|
+
if (osc) {
|
|
127
|
+
osc.phase = phase;
|
|
128
|
+
osc.observer.phase = phase;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
// Compute coherence
|
|
132
|
+
const coherence = computeCoherence(oscillatorList);
|
|
133
|
+
this.coherenceHistory.push(coherence);
|
|
134
|
+
// Keep last 1000 samples
|
|
135
|
+
if (this.coherenceHistory.length > 1000) {
|
|
136
|
+
this.coherenceHistory.shift();
|
|
137
|
+
}
|
|
138
|
+
return { coherence, phases: newPhases };
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get current coherence
|
|
142
|
+
*/
|
|
143
|
+
getCoherence() {
|
|
144
|
+
return computeCoherence(Array.from(this.oscillators.values()));
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get mean phase
|
|
148
|
+
*/
|
|
149
|
+
getMeanPhase() {
|
|
150
|
+
return computeMeanPhase(Array.from(this.oscillators.values()));
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if intervention is needed
|
|
154
|
+
*/
|
|
155
|
+
needsIntervention() {
|
|
156
|
+
return this.getCoherence() < this.config.coherenceThreshold;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Force synchronization (intervention)
|
|
160
|
+
*/
|
|
161
|
+
forceSynchronize() {
|
|
162
|
+
const meanPhase = this.getMeanPhase();
|
|
163
|
+
for (const osc of this.oscillators.values()) {
|
|
164
|
+
// Nudge all oscillators toward mean phase
|
|
165
|
+
const diff = meanPhase - osc.phase;
|
|
166
|
+
osc.phase += diff * 0.5; // 50% correction
|
|
167
|
+
osc.observer.phase = osc.phase;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Adjust coupling strength (for adaptive control)
|
|
172
|
+
*/
|
|
173
|
+
setCouplingStrength(strength) {
|
|
174
|
+
this.config.couplingStrength = Math.max(0, Math.min(2, strength));
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Get coupling strength
|
|
178
|
+
*/
|
|
179
|
+
getCouplingStrength() {
|
|
180
|
+
return this.config.couplingStrength;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get coherence statistics
|
|
184
|
+
*/
|
|
185
|
+
getStats() {
|
|
186
|
+
const history = this.coherenceHistory;
|
|
187
|
+
if (history.length === 0) {
|
|
188
|
+
return { current: 0, mean: 0, min: 0, max: 0, variance: 0 };
|
|
189
|
+
}
|
|
190
|
+
const current = this.getCoherence();
|
|
191
|
+
const mean = history.reduce((a, b) => a + b, 0) / history.length;
|
|
192
|
+
const min = Math.min(...history);
|
|
193
|
+
const max = Math.max(...history);
|
|
194
|
+
const variance = history.reduce((acc, v) => acc + (v - mean) ** 2, 0) / history.length;
|
|
195
|
+
return { current, mean, min, max, variance };
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Get all oscillator states
|
|
199
|
+
*/
|
|
200
|
+
getOscillators() {
|
|
201
|
+
return Array.from(this.oscillators.values());
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Reset engine
|
|
205
|
+
*/
|
|
206
|
+
reset() {
|
|
207
|
+
this.oscillators.clear();
|
|
208
|
+
this.coherenceHistory = [];
|
|
209
|
+
this.lastTick = Date.now();
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
//# sourceMappingURL=kuramoto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kuramoto.js","sourceRoot":"","sources":["../../src/resonance/kuramoto.ts"],"names":[],"mappings":"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"}
|