society-protocol 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/LICENSE +21 -0
- package/README.md +111 -0
- package/dist/adapters.d.ts +101 -0
- package/dist/adapters.d.ts.map +1 -0
- package/dist/adapters.js +764 -0
- package/dist/adapters.js.map +1 -0
- package/dist/agents-md.d.ts +59 -0
- package/dist/agents-md.d.ts.map +1 -0
- package/dist/agents-md.js +204 -0
- package/dist/agents-md.js.map +1 -0
- package/dist/autoconfig.d.ts +137 -0
- package/dist/autoconfig.d.ts.map +1 -0
- package/dist/autoconfig.js +452 -0
- package/dist/autoconfig.js.map +1 -0
- package/dist/bootstrap.d.ts +68 -0
- package/dist/bootstrap.d.ts.map +1 -0
- package/dist/bootstrap.js +304 -0
- package/dist/bootstrap.js.map +1 -0
- package/dist/bridges/a2a-bridge.d.ts +156 -0
- package/dist/bridges/a2a-bridge.d.ts.map +1 -0
- package/dist/bridges/a2a-bridge.js +337 -0
- package/dist/bridges/a2a-bridge.js.map +1 -0
- package/dist/bridges/mcp-bridge.d.ts +87 -0
- package/dist/bridges/mcp-bridge.d.ts.map +1 -0
- package/dist/bridges/mcp-bridge.js +332 -0
- package/dist/bridges/mcp-bridge.js.map +1 -0
- package/dist/cache.d.ts +130 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +257 -0
- package/dist/cache.js.map +1 -0
- package/dist/capsules.d.ts +23 -0
- package/dist/capsules.d.ts.map +1 -0
- package/dist/capsules.js +75 -0
- package/dist/capsules.js.map +1 -0
- package/dist/cli/commands.d.ts +8 -0
- package/dist/cli/commands.d.ts.map +1 -0
- package/dist/cli/commands.js +263 -0
- package/dist/cli/commands.js.map +1 -0
- package/dist/coc.d.ts +121 -0
- package/dist/coc.d.ts.map +1 -0
- package/dist/coc.js +629 -0
- package/dist/coc.js.map +1 -0
- package/dist/coc.test.d.ts +2 -0
- package/dist/coc.test.d.ts.map +1 -0
- package/dist/coc.test.js +80 -0
- package/dist/coc.test.js.map +1 -0
- package/dist/compression.d.ts +125 -0
- package/dist/compression.d.ts.map +1 -0
- package/dist/compression.js +573 -0
- package/dist/compression.js.map +1 -0
- package/dist/cot-stream.d.ts +220 -0
- package/dist/cot-stream.d.ts.map +1 -0
- package/dist/cot-stream.js +673 -0
- package/dist/cot-stream.js.map +1 -0
- package/dist/crypto-wasm.d.ts +100 -0
- package/dist/crypto-wasm.d.ts.map +1 -0
- package/dist/crypto-wasm.js +229 -0
- package/dist/crypto-wasm.js.map +1 -0
- package/dist/federation.d.ts +200 -0
- package/dist/federation.d.ts.map +1 -0
- package/dist/federation.js +691 -0
- package/dist/federation.js.map +1 -0
- package/dist/federation.test.d.ts +2 -0
- package/dist/federation.test.d.ts.map +1 -0
- package/dist/federation.test.js +71 -0
- package/dist/federation.test.js.map +1 -0
- package/dist/gateway/capability-router.d.ts +77 -0
- package/dist/gateway/capability-router.d.ts.map +1 -0
- package/dist/gateway/capability-router.js +222 -0
- package/dist/gateway/capability-router.js.map +1 -0
- package/dist/gateway/demand-spawner.d.ts +155 -0
- package/dist/gateway/demand-spawner.d.ts.map +1 -0
- package/dist/gateway/demand-spawner.js +426 -0
- package/dist/gateway/demand-spawner.js.map +1 -0
- package/dist/identity.d.ts +46 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +102 -0
- package/dist/identity.js.map +1 -0
- package/dist/identity.test.d.ts +2 -0
- package/dist/identity.test.d.ts.map +1 -0
- package/dist/identity.test.js +45 -0
- package/dist/identity.test.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1572 -0
- package/dist/index.js.map +1 -0
- package/dist/integration.d.ts +210 -0
- package/dist/integration.d.ts.map +1 -0
- package/dist/integration.js +1105 -0
- package/dist/integration.js.map +1 -0
- package/dist/integration.test.d.ts +2 -0
- package/dist/integration.test.d.ts.map +1 -0
- package/dist/integration.test.js +155 -0
- package/dist/integration.test.js.map +1 -0
- package/dist/knowledge.d.ts +219 -0
- package/dist/knowledge.d.ts.map +1 -0
- package/dist/knowledge.js +543 -0
- package/dist/knowledge.js.map +1 -0
- package/dist/knowledge.test.d.ts +2 -0
- package/dist/knowledge.test.d.ts.map +1 -0
- package/dist/knowledge.test.js +72 -0
- package/dist/knowledge.test.js.map +1 -0
- package/dist/latent-space.d.ts +178 -0
- package/dist/latent-space.d.ts.map +1 -0
- package/dist/latent-space.js +385 -0
- package/dist/latent-space.js.map +1 -0
- package/dist/lib.d.ts +30 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +30 -0
- package/dist/lib.js.map +1 -0
- package/dist/mcp/server.d.ts +74 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +1392 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/metrics.d.ts +98 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +222 -0
- package/dist/metrics.js.map +1 -0
- package/dist/p2p.d.ts +87 -0
- package/dist/p2p.d.ts.map +1 -0
- package/dist/p2p.js +606 -0
- package/dist/p2p.js.map +1 -0
- package/dist/persona/capabilities.d.ts +17 -0
- package/dist/persona/capabilities.d.ts.map +1 -0
- package/dist/persona/capabilities.js +224 -0
- package/dist/persona/capabilities.js.map +1 -0
- package/dist/persona/domains.d.ts +22 -0
- package/dist/persona/domains.d.ts.map +1 -0
- package/dist/persona/domains.js +176 -0
- package/dist/persona/domains.js.map +1 -0
- package/dist/persona/embeddings.d.ts +40 -0
- package/dist/persona/embeddings.d.ts.map +1 -0
- package/dist/persona/embeddings.js +265 -0
- package/dist/persona/embeddings.js.map +1 -0
- package/dist/persona/engine.d.ts +79 -0
- package/dist/persona/engine.d.ts.map +1 -0
- package/dist/persona/engine.js +1087 -0
- package/dist/persona/engine.js.map +1 -0
- package/dist/persona/index.d.ts +11 -0
- package/dist/persona/index.d.ts.map +1 -0
- package/dist/persona/index.js +11 -0
- package/dist/persona/index.js.map +1 -0
- package/dist/persona/lifecycle.d.ts +17 -0
- package/dist/persona/lifecycle.d.ts.map +1 -0
- package/dist/persona/lifecycle.js +36 -0
- package/dist/persona/lifecycle.js.map +1 -0
- package/dist/persona/retrieval.d.ts +6 -0
- package/dist/persona/retrieval.d.ts.map +1 -0
- package/dist/persona/retrieval.js +122 -0
- package/dist/persona/retrieval.js.map +1 -0
- package/dist/persona/sync.d.ts +15 -0
- package/dist/persona/sync.d.ts.map +1 -0
- package/dist/persona/sync.js +92 -0
- package/dist/persona/sync.js.map +1 -0
- package/dist/persona/types.d.ts +283 -0
- package/dist/persona/types.d.ts.map +1 -0
- package/dist/persona/types.js +2 -0
- package/dist/persona/types.js.map +1 -0
- package/dist/persona/zkp/engine.d.ts +26 -0
- package/dist/persona/zkp/engine.d.ts.map +1 -0
- package/dist/persona/zkp/engine.js +370 -0
- package/dist/persona/zkp/engine.js.map +1 -0
- package/dist/persona/zkp/types.d.ts +39 -0
- package/dist/persona/zkp/types.d.ts.map +1 -0
- package/dist/persona/zkp/types.js +2 -0
- package/dist/persona/zkp/types.js.map +1 -0
- package/dist/planner.d.ts +114 -0
- package/dist/planner.d.ts.map +1 -0
- package/dist/planner.js +522 -0
- package/dist/planner.js.map +1 -0
- package/dist/proactive/checkpoints.d.ts +9 -0
- package/dist/proactive/checkpoints.d.ts.map +1 -0
- package/dist/proactive/checkpoints.js +20 -0
- package/dist/proactive/checkpoints.js.map +1 -0
- package/dist/proactive/engine.d.ts +59 -0
- package/dist/proactive/engine.d.ts.map +1 -0
- package/dist/proactive/engine.js +406 -0
- package/dist/proactive/engine.js.map +1 -0
- package/dist/proactive/scheduler.d.ts +11 -0
- package/dist/proactive/scheduler.d.ts.map +1 -0
- package/dist/proactive/scheduler.js +45 -0
- package/dist/proactive/scheduler.js.map +1 -0
- package/dist/proactive/swarm-controller.d.ts +189 -0
- package/dist/proactive/swarm-controller.d.ts.map +1 -0
- package/dist/proactive/swarm-controller.js +477 -0
- package/dist/proactive/swarm-controller.js.map +1 -0
- package/dist/proactive/swarm-registry.d.ts +13 -0
- package/dist/proactive/swarm-registry.d.ts.map +1 -0
- package/dist/proactive/swarm-registry.js +122 -0
- package/dist/proactive/swarm-registry.js.map +1 -0
- package/dist/proactive/types.d.ts +145 -0
- package/dist/proactive/types.d.ts.map +1 -0
- package/dist/proactive/types.js +25 -0
- package/dist/proactive/types.js.map +1 -0
- package/dist/registry.d.ts +35 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +88 -0
- package/dist/registry.js.map +1 -0
- package/dist/reputation.d.ts +123 -0
- package/dist/reputation.d.ts.map +1 -0
- package/dist/reputation.js +366 -0
- package/dist/reputation.js.map +1 -0
- package/dist/reputation.test.d.ts +5 -0
- package/dist/reputation.test.d.ts.map +1 -0
- package/dist/reputation.test.js +265 -0
- package/dist/reputation.test.js.map +1 -0
- package/dist/rooms.d.ts +96 -0
- package/dist/rooms.d.ts.map +1 -0
- package/dist/rooms.js +410 -0
- package/dist/rooms.js.map +1 -0
- package/dist/sdk/client.d.ts +290 -0
- package/dist/sdk/client.d.ts.map +1 -0
- package/dist/sdk/client.js +1287 -0
- package/dist/sdk/client.js.map +1 -0
- package/dist/sdk/index.d.ts +32 -0
- package/dist/sdk/index.d.ts.map +1 -0
- package/dist/sdk/index.js +70 -0
- package/dist/sdk/index.js.map +1 -0
- package/dist/security.d.ts +230 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +652 -0
- package/dist/security.js.map +1 -0
- package/dist/skills/engine.d.ts +262 -0
- package/dist/skills/engine.d.ts.map +1 -0
- package/dist/skills/engine.js +788 -0
- package/dist/skills/engine.js.map +1 -0
- package/dist/skills/engine.test.d.ts +2 -0
- package/dist/skills/engine.test.d.ts.map +1 -0
- package/dist/skills/engine.test.js +134 -0
- package/dist/skills/engine.test.js.map +1 -0
- package/dist/skills/parser.d.ts +129 -0
- package/dist/skills/parser.d.ts.map +1 -0
- package/dist/skills/parser.js +318 -0
- package/dist/skills/parser.js.map +1 -0
- package/dist/social.d.ts +149 -0
- package/dist/social.d.ts.map +1 -0
- package/dist/social.js +401 -0
- package/dist/social.js.map +1 -0
- package/dist/storage-optimized.d.ts +116 -0
- package/dist/storage-optimized.d.ts.map +1 -0
- package/dist/storage-optimized.js +264 -0
- package/dist/storage-optimized.js.map +1 -0
- package/dist/storage.d.ts +584 -0
- package/dist/storage.d.ts.map +1 -0
- package/dist/storage.js +2703 -0
- package/dist/storage.js.map +1 -0
- package/dist/storage.test.d.ts +2 -0
- package/dist/storage.test.d.ts.map +1 -0
- package/dist/storage.test.js +78 -0
- package/dist/storage.test.js.map +1 -0
- package/dist/swp.d.ts +443 -0
- package/dist/swp.d.ts.map +1 -0
- package/dist/swp.js +223 -0
- package/dist/swp.js.map +1 -0
- package/dist/swp.test.d.ts +5 -0
- package/dist/swp.test.d.ts.map +1 -0
- package/dist/swp.test.js +127 -0
- package/dist/swp.test.js.map +1 -0
- package/dist/templates.d.ts +25 -0
- package/dist/templates.d.ts.map +1 -0
- package/dist/templates.js +1048 -0
- package/dist/templates.js.map +1 -0
- package/dist/test-e2e.d.ts +14 -0
- package/dist/test-e2e.d.ts.map +1 -0
- package/dist/test-e2e.js +266 -0
- package/dist/test-e2e.js.map +1 -0
- package/dist/workers/research-worker.d.ts +19 -0
- package/dist/workers/research-worker.d.ts.map +1 -0
- package/dist/workers/research-worker.js +141 -0
- package/dist/workers/research-worker.js.map +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Society Protocol — Latent-Space Collaboration Layer
|
|
3
|
+
*
|
|
4
|
+
* Inspired by LatentMAS (arXiv:2511.20639) and Vision Wormhole (arXiv:2602.15382).
|
|
5
|
+
*
|
|
6
|
+
* Instead of exchanging verbose text between agents, this layer enables agents
|
|
7
|
+
* to share compressed latent representations — "thought embeddings" — that
|
|
8
|
+
* capture reasoning state in continuous vector space.
|
|
9
|
+
*
|
|
10
|
+
* Key innovations adapted for P2P:
|
|
11
|
+
* - Universal Codec: Hub-and-spoke alignment (O(N) not O(N²)) for heterogeneous models
|
|
12
|
+
* - Compressed Thought Tokens: Fixed-size representations regardless of reasoning depth
|
|
13
|
+
* - KV-Cache Transfer: Layer-wise key/value cache sharing for same-architecture agents
|
|
14
|
+
* - Latent Working Memory: Shared embedding space for collective reasoning
|
|
15
|
+
*
|
|
16
|
+
* References:
|
|
17
|
+
* - LatentMAS: github.com/Gen-Verse/LatentMAS (Princeton/Stanford/UIUC)
|
|
18
|
+
* - Vision Wormhole: arXiv:2602.15382 (heterogeneous model pools)
|
|
19
|
+
*/
|
|
20
|
+
import { EventEmitter } from 'events';
|
|
21
|
+
import type { RoomManager } from './rooms.js';
|
|
22
|
+
import type { Storage } from './storage.js';
|
|
23
|
+
import type { Identity } from './identity.js';
|
|
24
|
+
export interface LatentThought {
|
|
25
|
+
/** Unique thought ID */
|
|
26
|
+
id: string;
|
|
27
|
+
/** Source agent DID */
|
|
28
|
+
sourceDid: string;
|
|
29
|
+
/** Source agent's model architecture (for compatibility checks) */
|
|
30
|
+
sourceArchitecture: string;
|
|
31
|
+
/** Room where this thought was generated */
|
|
32
|
+
roomId: string;
|
|
33
|
+
/** Chain ID (if part of a CoC workflow) */
|
|
34
|
+
chainId?: string;
|
|
35
|
+
/** Step ID (if part of a specific step) */
|
|
36
|
+
stepId?: string;
|
|
37
|
+
/** Compressed thought embedding (base64-encoded float32 array) */
|
|
38
|
+
embedding: string;
|
|
39
|
+
/** Dimensionality of the embedding */
|
|
40
|
+
dimensions: number;
|
|
41
|
+
/** Number of latent reasoning steps that produced this */
|
|
42
|
+
latentDepth: number;
|
|
43
|
+
/** Semantic summary (short text for indexing/search) */
|
|
44
|
+
semanticLabel: string;
|
|
45
|
+
/** Confidence in this thought (0-1) */
|
|
46
|
+
confidence: number;
|
|
47
|
+
/** Timestamp */
|
|
48
|
+
createdAt: number;
|
|
49
|
+
/** Alignment metadata for cross-architecture sharing */
|
|
50
|
+
alignment?: AlignmentMetadata;
|
|
51
|
+
}
|
|
52
|
+
export interface AlignmentMetadata {
|
|
53
|
+
/** Whether this embedding has been projected to universal space */
|
|
54
|
+
isUniversal: boolean;
|
|
55
|
+
/** Reference space ID (for hub-and-spoke alignment) */
|
|
56
|
+
referenceSpaceId?: string;
|
|
57
|
+
/** Alignment quality score (0-1, from ridge regression R²) */
|
|
58
|
+
alignmentQuality: number;
|
|
59
|
+
/** Original dimensions before projection */
|
|
60
|
+
originalDimensions: number;
|
|
61
|
+
/** Universal token count (fixed-size after resampling) */
|
|
62
|
+
universalTokenCount: number;
|
|
63
|
+
}
|
|
64
|
+
export interface LatentWorkingMemory {
|
|
65
|
+
/** Room-scoped shared latent space */
|
|
66
|
+
roomId: string;
|
|
67
|
+
/** Accumulated thought embeddings from all agents */
|
|
68
|
+
thoughts: LatentThought[];
|
|
69
|
+
/** Merged embedding representing collective reasoning state */
|
|
70
|
+
collectiveEmbedding?: string;
|
|
71
|
+
/** Dimensions of collective embedding */
|
|
72
|
+
collectiveDimensions?: number;
|
|
73
|
+
/** Agent architecture registry for compatibility */
|
|
74
|
+
architectureRegistry: Map<string, AgentArchitectureInfo>;
|
|
75
|
+
/** Alignment matrices (agent DID → universal projection) */
|
|
76
|
+
alignmentMatrices: Map<string, Float64Array>;
|
|
77
|
+
}
|
|
78
|
+
export interface AgentArchitectureInfo {
|
|
79
|
+
did: string;
|
|
80
|
+
architecture: string;
|
|
81
|
+
hiddenDimension: number;
|
|
82
|
+
vocabSize: number;
|
|
83
|
+
numLayers: number;
|
|
84
|
+
supportsKvTransfer: boolean;
|
|
85
|
+
lastSeen: number;
|
|
86
|
+
}
|
|
87
|
+
export interface LatentCollaborationConfig {
|
|
88
|
+
/** Max thoughts to keep in working memory per room */
|
|
89
|
+
maxThoughtsPerRoom: number;
|
|
90
|
+
/** Default embedding dimensions */
|
|
91
|
+
defaultDimensions: number;
|
|
92
|
+
/** Universal token count for cross-architecture sharing */
|
|
93
|
+
universalTokenCount: number;
|
|
94
|
+
/** Alignment quality threshold (below this, fall back to text) */
|
|
95
|
+
alignmentQualityThreshold: number;
|
|
96
|
+
/** Whether to auto-align embeddings to universal space */
|
|
97
|
+
autoAlign: boolean;
|
|
98
|
+
/** TTL for thoughts in working memory (ms) */
|
|
99
|
+
thoughtTtlMs: number;
|
|
100
|
+
}
|
|
101
|
+
export declare const DEFAULT_LATENT_CONFIG: LatentCollaborationConfig;
|
|
102
|
+
export declare class LatentSpaceEngine extends EventEmitter {
|
|
103
|
+
private identity;
|
|
104
|
+
private storage;
|
|
105
|
+
private rooms;
|
|
106
|
+
private workingMemories;
|
|
107
|
+
private config;
|
|
108
|
+
constructor(identity: Identity, storage: Storage, rooms: RoomManager, config?: Partial<LatentCollaborationConfig>);
|
|
109
|
+
private bindEvents;
|
|
110
|
+
/**
|
|
111
|
+
* Share a latent thought with the room.
|
|
112
|
+
* The thought is a compressed embedding of the agent's reasoning state.
|
|
113
|
+
*/
|
|
114
|
+
shareThought(roomId: string, embedding: Float32Array | number[], options: {
|
|
115
|
+
chainId?: string;
|
|
116
|
+
stepId?: string;
|
|
117
|
+
semanticLabel: string;
|
|
118
|
+
confidence?: number;
|
|
119
|
+
architecture?: string;
|
|
120
|
+
latentDepth?: number;
|
|
121
|
+
}): Promise<LatentThought>;
|
|
122
|
+
/**
|
|
123
|
+
* Retrieve collective reasoning state for a room.
|
|
124
|
+
* Returns accumulated latent thoughts and the merged collective embedding.
|
|
125
|
+
*/
|
|
126
|
+
getCollectiveState(roomId: string): LatentWorkingMemory | undefined;
|
|
127
|
+
/**
|
|
128
|
+
* Query thoughts by semantic similarity.
|
|
129
|
+
* Uses cosine similarity on embeddings.
|
|
130
|
+
*/
|
|
131
|
+
queryThoughts(roomId: string, queryEmbedding: Float32Array | number[], options?: {
|
|
132
|
+
topK?: number;
|
|
133
|
+
minConfidence?: number;
|
|
134
|
+
chainId?: string;
|
|
135
|
+
}): Array<{
|
|
136
|
+
thought: LatentThought;
|
|
137
|
+
similarity: number;
|
|
138
|
+
}>;
|
|
139
|
+
/**
|
|
140
|
+
* Announce this agent's architecture for compatibility detection.
|
|
141
|
+
*/
|
|
142
|
+
announceArchitecture(roomId: string, info: Omit<AgentArchitectureInfo, 'did' | 'lastSeen'>): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Check if two agents can do direct KV-cache transfer (same architecture).
|
|
145
|
+
*/
|
|
146
|
+
canDirectTransfer(roomId: string, agentA: string, agentB: string): boolean;
|
|
147
|
+
/**
|
|
148
|
+
* Compute alignment matrix between two embedding spaces.
|
|
149
|
+
* Uses ridge regression: W_a = (W_out^T * W_out + λI)^(-1) * W_out^T * W_in
|
|
150
|
+
* Adapted from LatentMAS alignment operator.
|
|
151
|
+
*/
|
|
152
|
+
computeAlignmentMatrix(sourceEmbeddings: Float32Array[], targetEmbeddings: Float32Array[], lambda?: number): Float64Array;
|
|
153
|
+
/**
|
|
154
|
+
* Merge multiple thoughts into a collective embedding.
|
|
155
|
+
* Weighted average based on confidence and recency.
|
|
156
|
+
*/
|
|
157
|
+
mergeThoughts(thoughts: LatentThought[]): Float32Array | null;
|
|
158
|
+
/**
|
|
159
|
+
* Get statistics about the latent space for a room.
|
|
160
|
+
*/
|
|
161
|
+
getStats(roomId: string): {
|
|
162
|
+
thoughtCount: number;
|
|
163
|
+
uniqueAgents: number;
|
|
164
|
+
architectures: string[];
|
|
165
|
+
avgConfidence: number;
|
|
166
|
+
avgLatentDepth: number;
|
|
167
|
+
canDirectTransferPairs: number;
|
|
168
|
+
};
|
|
169
|
+
private handleIncomingThought;
|
|
170
|
+
private handleArchitectureAnnouncement;
|
|
171
|
+
private addToWorkingMemory;
|
|
172
|
+
private ensureWorkingMemory;
|
|
173
|
+
private projectToUniversalSpace;
|
|
174
|
+
private decodeEmbedding;
|
|
175
|
+
private cosineSimilarity;
|
|
176
|
+
destroy(): void;
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=latent-space.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latent-space.d.ts","sourceRoot":"","sources":["../src/latent-space.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Society Protocol — Latent-Space Collaboration Layer
|
|
3
|
+
*
|
|
4
|
+
* Inspired by LatentMAS (arXiv:2511.20639) and Vision Wormhole (arXiv:2602.15382).
|
|
5
|
+
*
|
|
6
|
+
* Instead of exchanging verbose text between agents, this layer enables agents
|
|
7
|
+
* to share compressed latent representations — "thought embeddings" — that
|
|
8
|
+
* capture reasoning state in continuous vector space.
|
|
9
|
+
*
|
|
10
|
+
* Key innovations adapted for P2P:
|
|
11
|
+
* - Universal Codec: Hub-and-spoke alignment (O(N) not O(N²)) for heterogeneous models
|
|
12
|
+
* - Compressed Thought Tokens: Fixed-size representations regardless of reasoning depth
|
|
13
|
+
* - KV-Cache Transfer: Layer-wise key/value cache sharing for same-architecture agents
|
|
14
|
+
* - Latent Working Memory: Shared embedding space for collective reasoning
|
|
15
|
+
*
|
|
16
|
+
* References:
|
|
17
|
+
* - LatentMAS: github.com/Gen-Verse/LatentMAS (Princeton/Stanford/UIUC)
|
|
18
|
+
* - Vision Wormhole: arXiv:2602.15382 (heterogeneous model pools)
|
|
19
|
+
*/
|
|
20
|
+
import { EventEmitter } from 'events';
|
|
21
|
+
import { ulid } from 'ulid';
|
|
22
|
+
export const DEFAULT_LATENT_CONFIG = {
|
|
23
|
+
maxThoughtsPerRoom: 256,
|
|
24
|
+
defaultDimensions: 4096,
|
|
25
|
+
universalTokenCount: 32,
|
|
26
|
+
alignmentQualityThreshold: 0.7,
|
|
27
|
+
autoAlign: true,
|
|
28
|
+
thoughtTtlMs: 3_600_000, // 1 hour
|
|
29
|
+
};
|
|
30
|
+
// ─── Latent Space Collaboration Engine ──────────────────────────
|
|
31
|
+
export class LatentSpaceEngine extends EventEmitter {
|
|
32
|
+
identity;
|
|
33
|
+
storage;
|
|
34
|
+
rooms;
|
|
35
|
+
workingMemories = new Map();
|
|
36
|
+
config;
|
|
37
|
+
constructor(identity, storage, rooms, config = {}) {
|
|
38
|
+
super();
|
|
39
|
+
this.identity = identity;
|
|
40
|
+
this.storage = storage;
|
|
41
|
+
this.rooms = rooms;
|
|
42
|
+
this.config = { ...DEFAULT_LATENT_CONFIG, ...config };
|
|
43
|
+
this.bindEvents();
|
|
44
|
+
}
|
|
45
|
+
bindEvents() {
|
|
46
|
+
this.rooms.on('latent:thought', (roomId, envelope) => {
|
|
47
|
+
this.handleIncomingThought(roomId, envelope).catch(() => { });
|
|
48
|
+
});
|
|
49
|
+
this.rooms.on('latent:architecture', (roomId, envelope) => {
|
|
50
|
+
this.handleArchitectureAnnouncement(roomId, envelope);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Share a latent thought with the room.
|
|
55
|
+
* The thought is a compressed embedding of the agent's reasoning state.
|
|
56
|
+
*/
|
|
57
|
+
async shareThought(roomId, embedding, options) {
|
|
58
|
+
const embeddingArray = embedding instanceof Float32Array
|
|
59
|
+
? embedding
|
|
60
|
+
: new Float32Array(embedding);
|
|
61
|
+
// Encode as base64
|
|
62
|
+
const buffer = Buffer.from(embeddingArray.buffer);
|
|
63
|
+
const encodedEmbedding = buffer.toString('base64');
|
|
64
|
+
const thought = {
|
|
65
|
+
id: `lt_${ulid()}`,
|
|
66
|
+
sourceDid: this.identity.did,
|
|
67
|
+
sourceArchitecture: options.architecture || 'unknown',
|
|
68
|
+
roomId,
|
|
69
|
+
chainId: options.chainId,
|
|
70
|
+
stepId: options.stepId,
|
|
71
|
+
embedding: encodedEmbedding,
|
|
72
|
+
dimensions: embeddingArray.length,
|
|
73
|
+
latentDepth: options.latentDepth || 1,
|
|
74
|
+
semanticLabel: options.semanticLabel,
|
|
75
|
+
confidence: options.confidence ?? 0.8,
|
|
76
|
+
createdAt: Date.now(),
|
|
77
|
+
};
|
|
78
|
+
// Auto-align to universal space if configured
|
|
79
|
+
if (this.config.autoAlign) {
|
|
80
|
+
thought.alignment = this.projectToUniversalSpace(thought);
|
|
81
|
+
}
|
|
82
|
+
// Store locally
|
|
83
|
+
this.addToWorkingMemory(roomId, thought);
|
|
84
|
+
// Broadcast to room
|
|
85
|
+
await this.rooms.sendMessage(roomId, {
|
|
86
|
+
thought_id: thought.id,
|
|
87
|
+
embedding: thought.embedding,
|
|
88
|
+
dimensions: thought.dimensions,
|
|
89
|
+
latent_depth: thought.latentDepth,
|
|
90
|
+
semantic_label: thought.semanticLabel,
|
|
91
|
+
confidence: thought.confidence,
|
|
92
|
+
architecture: thought.sourceArchitecture,
|
|
93
|
+
chain_id: thought.chainId,
|
|
94
|
+
step_id: thought.stepId,
|
|
95
|
+
alignment: thought.alignment,
|
|
96
|
+
}, 'latent.thought');
|
|
97
|
+
this.emit('thought:shared', roomId, thought);
|
|
98
|
+
return thought;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Retrieve collective reasoning state for a room.
|
|
102
|
+
* Returns accumulated latent thoughts and the merged collective embedding.
|
|
103
|
+
*/
|
|
104
|
+
getCollectiveState(roomId) {
|
|
105
|
+
return this.workingMemories.get(roomId);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Query thoughts by semantic similarity.
|
|
109
|
+
* Uses cosine similarity on embeddings.
|
|
110
|
+
*/
|
|
111
|
+
queryThoughts(roomId, queryEmbedding, options = {}) {
|
|
112
|
+
const memory = this.workingMemories.get(roomId);
|
|
113
|
+
if (!memory)
|
|
114
|
+
return [];
|
|
115
|
+
const queryVec = queryEmbedding instanceof Float32Array
|
|
116
|
+
? queryEmbedding
|
|
117
|
+
: new Float32Array(queryEmbedding);
|
|
118
|
+
const topK = options.topK || 10;
|
|
119
|
+
const minConfidence = options.minConfidence || 0;
|
|
120
|
+
const scored = memory.thoughts
|
|
121
|
+
.filter((t) => {
|
|
122
|
+
if (t.confidence < minConfidence)
|
|
123
|
+
return false;
|
|
124
|
+
if (options.chainId && t.chainId !== options.chainId)
|
|
125
|
+
return false;
|
|
126
|
+
return true;
|
|
127
|
+
})
|
|
128
|
+
.map((thought) => {
|
|
129
|
+
const thoughtVec = this.decodeEmbedding(thought.embedding);
|
|
130
|
+
const similarity = this.cosineSimilarity(queryVec, thoughtVec);
|
|
131
|
+
return { thought, similarity };
|
|
132
|
+
})
|
|
133
|
+
.sort((a, b) => b.similarity - a.similarity)
|
|
134
|
+
.slice(0, topK);
|
|
135
|
+
return scored;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Announce this agent's architecture for compatibility detection.
|
|
139
|
+
*/
|
|
140
|
+
async announceArchitecture(roomId, info) {
|
|
141
|
+
const fullInfo = {
|
|
142
|
+
...info,
|
|
143
|
+
did: this.identity.did,
|
|
144
|
+
lastSeen: Date.now(),
|
|
145
|
+
};
|
|
146
|
+
const memory = this.ensureWorkingMemory(roomId);
|
|
147
|
+
memory.architectureRegistry.set(this.identity.did, fullInfo);
|
|
148
|
+
await this.rooms.sendMessage(roomId, {
|
|
149
|
+
architecture: info.architecture,
|
|
150
|
+
hidden_dimension: info.hiddenDimension,
|
|
151
|
+
vocab_size: info.vocabSize,
|
|
152
|
+
num_layers: info.numLayers,
|
|
153
|
+
supports_kv_transfer: info.supportsKvTransfer,
|
|
154
|
+
}, 'latent.architecture');
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Check if two agents can do direct KV-cache transfer (same architecture).
|
|
158
|
+
*/
|
|
159
|
+
canDirectTransfer(roomId, agentA, agentB) {
|
|
160
|
+
const memory = this.workingMemories.get(roomId);
|
|
161
|
+
if (!memory)
|
|
162
|
+
return false;
|
|
163
|
+
const archA = memory.architectureRegistry.get(agentA);
|
|
164
|
+
const archB = memory.architectureRegistry.get(agentB);
|
|
165
|
+
if (!archA || !archB)
|
|
166
|
+
return false;
|
|
167
|
+
return archA.architecture === archB.architecture
|
|
168
|
+
&& archA.hiddenDimension === archB.hiddenDimension
|
|
169
|
+
&& archA.numLayers === archB.numLayers
|
|
170
|
+
&& archA.supportsKvTransfer && archB.supportsKvTransfer;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Compute alignment matrix between two embedding spaces.
|
|
174
|
+
* Uses ridge regression: W_a = (W_out^T * W_out + λI)^(-1) * W_out^T * W_in
|
|
175
|
+
* Adapted from LatentMAS alignment operator.
|
|
176
|
+
*/
|
|
177
|
+
computeAlignmentMatrix(sourceEmbeddings, targetEmbeddings, lambda = 0.01) {
|
|
178
|
+
if (sourceEmbeddings.length !== targetEmbeddings.length || sourceEmbeddings.length === 0) {
|
|
179
|
+
throw new Error('Source and target embedding sets must have equal non-zero length');
|
|
180
|
+
}
|
|
181
|
+
const n = sourceEmbeddings.length;
|
|
182
|
+
const dSource = sourceEmbeddings[0].length;
|
|
183
|
+
const dTarget = targetEmbeddings[0].length;
|
|
184
|
+
// W_a = (X^T X + λI)^(-1) X^T Y
|
|
185
|
+
// Simplified: compute via pseudo-inverse with regularization
|
|
186
|
+
// For production, use a proper linear algebra library
|
|
187
|
+
// Compute X^T X + λI (dSource x dSource)
|
|
188
|
+
const XtX = new Float64Array(dSource * dSource);
|
|
189
|
+
for (let i = 0; i < n; i++) {
|
|
190
|
+
for (let j = 0; j < dSource; j++) {
|
|
191
|
+
for (let k = 0; k < dSource; k++) {
|
|
192
|
+
XtX[j * dSource + k] += sourceEmbeddings[i][j] * sourceEmbeddings[i][k];
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
// Add regularization
|
|
197
|
+
for (let i = 0; i < dSource; i++) {
|
|
198
|
+
XtX[i * dSource + i] += lambda;
|
|
199
|
+
}
|
|
200
|
+
// Compute X^T Y (dSource x dTarget)
|
|
201
|
+
const XtY = new Float64Array(dSource * dTarget);
|
|
202
|
+
for (let i = 0; i < n; i++) {
|
|
203
|
+
for (let j = 0; j < dSource; j++) {
|
|
204
|
+
for (let k = 0; k < dTarget; k++) {
|
|
205
|
+
XtY[j * dTarget + k] += sourceEmbeddings[i][j] * targetEmbeddings[i][k];
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
// Solve via Cholesky or simple iteration
|
|
210
|
+
// For now, store the pseudo-solution components
|
|
211
|
+
// Production should use LAPACK/BLAS bindings
|
|
212
|
+
const result = new Float64Array(dSource * dTarget);
|
|
213
|
+
for (let i = 0; i < result.length; i++) {
|
|
214
|
+
result[i] = XtY[i] / (XtX[Math.floor(i / dTarget) * dSource + Math.floor(i / dTarget)] || 1);
|
|
215
|
+
}
|
|
216
|
+
return result;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Merge multiple thoughts into a collective embedding.
|
|
220
|
+
* Weighted average based on confidence and recency.
|
|
221
|
+
*/
|
|
222
|
+
mergeThoughts(thoughts) {
|
|
223
|
+
if (thoughts.length === 0)
|
|
224
|
+
return null;
|
|
225
|
+
const dims = thoughts[0].dimensions;
|
|
226
|
+
const merged = new Float32Array(dims);
|
|
227
|
+
let totalWeight = 0;
|
|
228
|
+
const now = Date.now();
|
|
229
|
+
for (const thought of thoughts) {
|
|
230
|
+
if (thought.dimensions !== dims)
|
|
231
|
+
continue;
|
|
232
|
+
const vec = this.decodeEmbedding(thought.embedding);
|
|
233
|
+
const recency = Math.exp(-(now - thought.createdAt) / this.config.thoughtTtlMs);
|
|
234
|
+
const weight = thought.confidence * recency;
|
|
235
|
+
totalWeight += weight;
|
|
236
|
+
for (let i = 0; i < dims; i++) {
|
|
237
|
+
merged[i] += vec[i] * weight;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
if (totalWeight > 0) {
|
|
241
|
+
for (let i = 0; i < dims; i++) {
|
|
242
|
+
merged[i] /= totalWeight;
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
return merged;
|
|
246
|
+
}
|
|
247
|
+
/**
|
|
248
|
+
* Get statistics about the latent space for a room.
|
|
249
|
+
*/
|
|
250
|
+
getStats(roomId) {
|
|
251
|
+
const memory = this.workingMemories.get(roomId);
|
|
252
|
+
if (!memory) {
|
|
253
|
+
return { thoughtCount: 0, uniqueAgents: 0, architectures: [], avgConfidence: 0, avgLatentDepth: 0, canDirectTransferPairs: 0 };
|
|
254
|
+
}
|
|
255
|
+
const agents = new Set(memory.thoughts.map((t) => t.sourceDid));
|
|
256
|
+
const architectures = [...new Set(memory.thoughts.map((t) => t.sourceArchitecture))];
|
|
257
|
+
const avgConfidence = memory.thoughts.length > 0
|
|
258
|
+
? memory.thoughts.reduce((sum, t) => sum + t.confidence, 0) / memory.thoughts.length
|
|
259
|
+
: 0;
|
|
260
|
+
const avgLatentDepth = memory.thoughts.length > 0
|
|
261
|
+
? memory.thoughts.reduce((sum, t) => sum + t.latentDepth, 0) / memory.thoughts.length
|
|
262
|
+
: 0;
|
|
263
|
+
// Count compatible pairs
|
|
264
|
+
let directPairs = 0;
|
|
265
|
+
const agentList = [...agents];
|
|
266
|
+
for (let i = 0; i < agentList.length; i++) {
|
|
267
|
+
for (let j = i + 1; j < agentList.length; j++) {
|
|
268
|
+
if (this.canDirectTransfer(roomId, agentList[i], agentList[j])) {
|
|
269
|
+
directPairs++;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return {
|
|
274
|
+
thoughtCount: memory.thoughts.length,
|
|
275
|
+
uniqueAgents: agents.size,
|
|
276
|
+
architectures,
|
|
277
|
+
avgConfidence,
|
|
278
|
+
avgLatentDepth,
|
|
279
|
+
canDirectTransferPairs: directPairs,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
// ─── Private Methods ────────────────────────────────────────
|
|
283
|
+
async handleIncomingThought(roomId, envelope) {
|
|
284
|
+
const body = envelope.body;
|
|
285
|
+
if (!body?.thought_id || !body?.embedding)
|
|
286
|
+
return;
|
|
287
|
+
const thought = {
|
|
288
|
+
id: body.thought_id,
|
|
289
|
+
sourceDid: envelope.from.did,
|
|
290
|
+
sourceArchitecture: body.architecture || 'unknown',
|
|
291
|
+
roomId,
|
|
292
|
+
chainId: body.chain_id,
|
|
293
|
+
stepId: body.step_id,
|
|
294
|
+
embedding: body.embedding,
|
|
295
|
+
dimensions: body.dimensions,
|
|
296
|
+
latentDepth: body.latent_depth || 1,
|
|
297
|
+
semanticLabel: body.semantic_label || '',
|
|
298
|
+
confidence: body.confidence || 0.5,
|
|
299
|
+
createdAt: envelope.ts,
|
|
300
|
+
alignment: body.alignment,
|
|
301
|
+
};
|
|
302
|
+
this.addToWorkingMemory(roomId, thought);
|
|
303
|
+
this.emit('thought:received', roomId, thought);
|
|
304
|
+
}
|
|
305
|
+
handleArchitectureAnnouncement(roomId, envelope) {
|
|
306
|
+
const body = envelope.body;
|
|
307
|
+
if (!body?.architecture)
|
|
308
|
+
return;
|
|
309
|
+
const memory = this.ensureWorkingMemory(roomId);
|
|
310
|
+
memory.architectureRegistry.set(envelope.from.did, {
|
|
311
|
+
did: envelope.from.did,
|
|
312
|
+
architecture: body.architecture,
|
|
313
|
+
hiddenDimension: body.hidden_dimension || 4096,
|
|
314
|
+
vocabSize: body.vocab_size || 32000,
|
|
315
|
+
numLayers: body.num_layers || 32,
|
|
316
|
+
supportsKvTransfer: body.supports_kv_transfer || false,
|
|
317
|
+
lastSeen: envelope.ts,
|
|
318
|
+
});
|
|
319
|
+
this.emit('architecture:updated', roomId, envelope.from.did);
|
|
320
|
+
}
|
|
321
|
+
addToWorkingMemory(roomId, thought) {
|
|
322
|
+
const memory = this.ensureWorkingMemory(roomId);
|
|
323
|
+
// Evict expired thoughts
|
|
324
|
+
const now = Date.now();
|
|
325
|
+
memory.thoughts = memory.thoughts.filter((t) => now - t.createdAt < this.config.thoughtTtlMs);
|
|
326
|
+
// Add new thought
|
|
327
|
+
memory.thoughts.push(thought);
|
|
328
|
+
// Evict oldest if over limit
|
|
329
|
+
if (memory.thoughts.length > this.config.maxThoughtsPerRoom) {
|
|
330
|
+
memory.thoughts = memory.thoughts
|
|
331
|
+
.sort((a, b) => b.createdAt - a.createdAt)
|
|
332
|
+
.slice(0, this.config.maxThoughtsPerRoom);
|
|
333
|
+
}
|
|
334
|
+
// Update collective embedding
|
|
335
|
+
const collective = this.mergeThoughts(memory.thoughts);
|
|
336
|
+
if (collective) {
|
|
337
|
+
memory.collectiveEmbedding = Buffer.from(collective.buffer).toString('base64');
|
|
338
|
+
memory.collectiveDimensions = collective.length;
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
ensureWorkingMemory(roomId) {
|
|
342
|
+
let memory = this.workingMemories.get(roomId);
|
|
343
|
+
if (!memory) {
|
|
344
|
+
memory = {
|
|
345
|
+
roomId,
|
|
346
|
+
thoughts: [],
|
|
347
|
+
architectureRegistry: new Map(),
|
|
348
|
+
alignmentMatrices: new Map(),
|
|
349
|
+
};
|
|
350
|
+
this.workingMemories.set(roomId, memory);
|
|
351
|
+
}
|
|
352
|
+
return memory;
|
|
353
|
+
}
|
|
354
|
+
projectToUniversalSpace(thought) {
|
|
355
|
+
// In production, this would use the computed alignment matrix
|
|
356
|
+
// For now, mark as universal with the identity transform
|
|
357
|
+
return {
|
|
358
|
+
isUniversal: true,
|
|
359
|
+
referenceSpaceId: 'society-universal-v1',
|
|
360
|
+
alignmentQuality: 0.85,
|
|
361
|
+
originalDimensions: thought.dimensions,
|
|
362
|
+
universalTokenCount: this.config.universalTokenCount,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
decodeEmbedding(base64) {
|
|
366
|
+
const buffer = Buffer.from(base64, 'base64');
|
|
367
|
+
return new Float32Array(buffer.buffer, buffer.byteOffset, buffer.byteLength / 4);
|
|
368
|
+
}
|
|
369
|
+
cosineSimilarity(a, b) {
|
|
370
|
+
const len = Math.min(a.length, b.length);
|
|
371
|
+
let dot = 0, normA = 0, normB = 0;
|
|
372
|
+
for (let i = 0; i < len; i++) {
|
|
373
|
+
dot += a[i] * b[i];
|
|
374
|
+
normA += a[i] * a[i];
|
|
375
|
+
normB += b[i] * b[i];
|
|
376
|
+
}
|
|
377
|
+
const denom = Math.sqrt(normA) * Math.sqrt(normB);
|
|
378
|
+
return denom > 0 ? dot / denom : 0;
|
|
379
|
+
}
|
|
380
|
+
destroy() {
|
|
381
|
+
this.workingMemories.clear();
|
|
382
|
+
this.removeAllListeners();
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=latent-space.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"latent-space.js","sourceRoot":"","sources":["../src/latent-space.ts"],"names":[],"mappings":"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"}
|
package/dist/lib.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Society Protocol library entrypoint (side-effect free).
|
|
3
|
+
*
|
|
4
|
+
* Keep this file explicit to avoid ambiguous re-exports.
|
|
5
|
+
*/
|
|
6
|
+
export { generateIdentity, restoreIdentity, canonicalJson, deepCanonicalJson, sign, verify, publicKeyFromDid, type Identity, } from './identity.js';
|
|
7
|
+
export { Storage } from './storage.js';
|
|
8
|
+
export { P2PNode } from './p2p.js';
|
|
9
|
+
export { RoomManager } from './rooms.js';
|
|
10
|
+
export { CocEngine } from './coc.js';
|
|
11
|
+
export { FederationEngine } from './federation.js';
|
|
12
|
+
export { KnowledgePool } from './knowledge.js';
|
|
13
|
+
export { SkillsEngine } from './skills/engine.js';
|
|
14
|
+
export { SecurityManager } from './security.js';
|
|
15
|
+
export { IntegrationEngine } from './integration.js';
|
|
16
|
+
export { ProactiveMissionEngine } from './proactive/engine.js';
|
|
17
|
+
export { P2PSwarmRegistry } from './proactive/swarm-registry.js';
|
|
18
|
+
export { SwarmScheduler } from './proactive/scheduler.js';
|
|
19
|
+
export { MissionCheckpointService } from './proactive/checkpoints.js';
|
|
20
|
+
export { ResearchWorkerNode } from './workers/research-worker.js';
|
|
21
|
+
export { Planner } from './planner.js';
|
|
22
|
+
export { ReputationEngine } from './reputation.js';
|
|
23
|
+
export { CotStreamEngine } from './cot-stream.js';
|
|
24
|
+
export { CapsuleExporter } from './capsules.js';
|
|
25
|
+
export { SocietyMCPServer } from './mcp/server.js';
|
|
26
|
+
export { MCPBridge } from './bridges/mcp-bridge.js';
|
|
27
|
+
export { A2ABridge } from './bridges/a2a-bridge.js';
|
|
28
|
+
export { registerNode, resolveNode, stopHeartbeat } from './registry.js';
|
|
29
|
+
export { createClient, society, quickStart, SocietyClient, checkEnvironment, VERSION as SDK_VERSION, } from './sdk/index.js';
|
|
30
|
+
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,KAAK,QAAQ,GACd,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,OAAO,IAAI,WAAW,GACvB,MAAM,gBAAgB,CAAC"}
|
package/dist/lib.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Society Protocol library entrypoint (side-effect free).
|
|
3
|
+
*
|
|
4
|
+
* Keep this file explicit to avoid ambiguous re-exports.
|
|
5
|
+
*/
|
|
6
|
+
export { generateIdentity, restoreIdentity, canonicalJson, deepCanonicalJson, sign, verify, publicKeyFromDid, } from './identity.js';
|
|
7
|
+
export { Storage } from './storage.js';
|
|
8
|
+
export { P2PNode } from './p2p.js';
|
|
9
|
+
export { RoomManager } from './rooms.js';
|
|
10
|
+
export { CocEngine } from './coc.js';
|
|
11
|
+
export { FederationEngine } from './federation.js';
|
|
12
|
+
export { KnowledgePool } from './knowledge.js';
|
|
13
|
+
export { SkillsEngine } from './skills/engine.js';
|
|
14
|
+
export { SecurityManager } from './security.js';
|
|
15
|
+
export { IntegrationEngine } from './integration.js';
|
|
16
|
+
export { ProactiveMissionEngine } from './proactive/engine.js';
|
|
17
|
+
export { P2PSwarmRegistry } from './proactive/swarm-registry.js';
|
|
18
|
+
export { SwarmScheduler } from './proactive/scheduler.js';
|
|
19
|
+
export { MissionCheckpointService } from './proactive/checkpoints.js';
|
|
20
|
+
export { ResearchWorkerNode } from './workers/research-worker.js';
|
|
21
|
+
export { Planner } from './planner.js';
|
|
22
|
+
export { ReputationEngine } from './reputation.js';
|
|
23
|
+
export { CotStreamEngine } from './cot-stream.js';
|
|
24
|
+
export { CapsuleExporter } from './capsules.js';
|
|
25
|
+
export { SocietyMCPServer } from './mcp/server.js';
|
|
26
|
+
export { MCPBridge } from './bridges/mcp-bridge.js';
|
|
27
|
+
export { A2ABridge } from './bridges/a2a-bridge.js';
|
|
28
|
+
export { registerNode, resolveNode, stopHeartbeat } from './registry.js';
|
|
29
|
+
export { createClient, society, quickStart, SocietyClient, checkEnvironment, VERSION as SDK_VERSION, } from './sdk/index.js';
|
|
30
|
+
//# sourceMappingURL=lib.js.map
|
package/dist/lib.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,IAAI,EACJ,MAAM,EACN,gBAAgB,GAEjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzE,OAAO,EACL,YAAY,EACZ,OAAO,EACP,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,OAAO,IAAI,WAAW,GACvB,MAAM,gBAAgB,CAAC"}
|