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.
Files changed (271) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/adapters.d.ts +101 -0
  4. package/dist/adapters.d.ts.map +1 -0
  5. package/dist/adapters.js +764 -0
  6. package/dist/adapters.js.map +1 -0
  7. package/dist/agents-md.d.ts +59 -0
  8. package/dist/agents-md.d.ts.map +1 -0
  9. package/dist/agents-md.js +204 -0
  10. package/dist/agents-md.js.map +1 -0
  11. package/dist/autoconfig.d.ts +137 -0
  12. package/dist/autoconfig.d.ts.map +1 -0
  13. package/dist/autoconfig.js +452 -0
  14. package/dist/autoconfig.js.map +1 -0
  15. package/dist/bootstrap.d.ts +68 -0
  16. package/dist/bootstrap.d.ts.map +1 -0
  17. package/dist/bootstrap.js +304 -0
  18. package/dist/bootstrap.js.map +1 -0
  19. package/dist/bridges/a2a-bridge.d.ts +156 -0
  20. package/dist/bridges/a2a-bridge.d.ts.map +1 -0
  21. package/dist/bridges/a2a-bridge.js +337 -0
  22. package/dist/bridges/a2a-bridge.js.map +1 -0
  23. package/dist/bridges/mcp-bridge.d.ts +87 -0
  24. package/dist/bridges/mcp-bridge.d.ts.map +1 -0
  25. package/dist/bridges/mcp-bridge.js +332 -0
  26. package/dist/bridges/mcp-bridge.js.map +1 -0
  27. package/dist/cache.d.ts +130 -0
  28. package/dist/cache.d.ts.map +1 -0
  29. package/dist/cache.js +257 -0
  30. package/dist/cache.js.map +1 -0
  31. package/dist/capsules.d.ts +23 -0
  32. package/dist/capsules.d.ts.map +1 -0
  33. package/dist/capsules.js +75 -0
  34. package/dist/capsules.js.map +1 -0
  35. package/dist/cli/commands.d.ts +8 -0
  36. package/dist/cli/commands.d.ts.map +1 -0
  37. package/dist/cli/commands.js +263 -0
  38. package/dist/cli/commands.js.map +1 -0
  39. package/dist/coc.d.ts +121 -0
  40. package/dist/coc.d.ts.map +1 -0
  41. package/dist/coc.js +629 -0
  42. package/dist/coc.js.map +1 -0
  43. package/dist/coc.test.d.ts +2 -0
  44. package/dist/coc.test.d.ts.map +1 -0
  45. package/dist/coc.test.js +80 -0
  46. package/dist/coc.test.js.map +1 -0
  47. package/dist/compression.d.ts +125 -0
  48. package/dist/compression.d.ts.map +1 -0
  49. package/dist/compression.js +573 -0
  50. package/dist/compression.js.map +1 -0
  51. package/dist/cot-stream.d.ts +220 -0
  52. package/dist/cot-stream.d.ts.map +1 -0
  53. package/dist/cot-stream.js +673 -0
  54. package/dist/cot-stream.js.map +1 -0
  55. package/dist/crypto-wasm.d.ts +100 -0
  56. package/dist/crypto-wasm.d.ts.map +1 -0
  57. package/dist/crypto-wasm.js +229 -0
  58. package/dist/crypto-wasm.js.map +1 -0
  59. package/dist/federation.d.ts +200 -0
  60. package/dist/federation.d.ts.map +1 -0
  61. package/dist/federation.js +691 -0
  62. package/dist/federation.js.map +1 -0
  63. package/dist/federation.test.d.ts +2 -0
  64. package/dist/federation.test.d.ts.map +1 -0
  65. package/dist/federation.test.js +71 -0
  66. package/dist/federation.test.js.map +1 -0
  67. package/dist/gateway/capability-router.d.ts +77 -0
  68. package/dist/gateway/capability-router.d.ts.map +1 -0
  69. package/dist/gateway/capability-router.js +222 -0
  70. package/dist/gateway/capability-router.js.map +1 -0
  71. package/dist/gateway/demand-spawner.d.ts +155 -0
  72. package/dist/gateway/demand-spawner.d.ts.map +1 -0
  73. package/dist/gateway/demand-spawner.js +426 -0
  74. package/dist/gateway/demand-spawner.js.map +1 -0
  75. package/dist/identity.d.ts +46 -0
  76. package/dist/identity.d.ts.map +1 -0
  77. package/dist/identity.js +102 -0
  78. package/dist/identity.js.map +1 -0
  79. package/dist/identity.test.d.ts +2 -0
  80. package/dist/identity.test.d.ts.map +1 -0
  81. package/dist/identity.test.js +45 -0
  82. package/dist/identity.test.js.map +1 -0
  83. package/dist/index.d.ts +36 -0
  84. package/dist/index.d.ts.map +1 -0
  85. package/dist/index.js +1572 -0
  86. package/dist/index.js.map +1 -0
  87. package/dist/integration.d.ts +210 -0
  88. package/dist/integration.d.ts.map +1 -0
  89. package/dist/integration.js +1105 -0
  90. package/dist/integration.js.map +1 -0
  91. package/dist/integration.test.d.ts +2 -0
  92. package/dist/integration.test.d.ts.map +1 -0
  93. package/dist/integration.test.js +155 -0
  94. package/dist/integration.test.js.map +1 -0
  95. package/dist/knowledge.d.ts +219 -0
  96. package/dist/knowledge.d.ts.map +1 -0
  97. package/dist/knowledge.js +543 -0
  98. package/dist/knowledge.js.map +1 -0
  99. package/dist/knowledge.test.d.ts +2 -0
  100. package/dist/knowledge.test.d.ts.map +1 -0
  101. package/dist/knowledge.test.js +72 -0
  102. package/dist/knowledge.test.js.map +1 -0
  103. package/dist/latent-space.d.ts +178 -0
  104. package/dist/latent-space.d.ts.map +1 -0
  105. package/dist/latent-space.js +385 -0
  106. package/dist/latent-space.js.map +1 -0
  107. package/dist/lib.d.ts +30 -0
  108. package/dist/lib.d.ts.map +1 -0
  109. package/dist/lib.js +30 -0
  110. package/dist/lib.js.map +1 -0
  111. package/dist/mcp/server.d.ts +74 -0
  112. package/dist/mcp/server.d.ts.map +1 -0
  113. package/dist/mcp/server.js +1392 -0
  114. package/dist/mcp/server.js.map +1 -0
  115. package/dist/metrics.d.ts +98 -0
  116. package/dist/metrics.d.ts.map +1 -0
  117. package/dist/metrics.js +222 -0
  118. package/dist/metrics.js.map +1 -0
  119. package/dist/p2p.d.ts +87 -0
  120. package/dist/p2p.d.ts.map +1 -0
  121. package/dist/p2p.js +606 -0
  122. package/dist/p2p.js.map +1 -0
  123. package/dist/persona/capabilities.d.ts +17 -0
  124. package/dist/persona/capabilities.d.ts.map +1 -0
  125. package/dist/persona/capabilities.js +224 -0
  126. package/dist/persona/capabilities.js.map +1 -0
  127. package/dist/persona/domains.d.ts +22 -0
  128. package/dist/persona/domains.d.ts.map +1 -0
  129. package/dist/persona/domains.js +176 -0
  130. package/dist/persona/domains.js.map +1 -0
  131. package/dist/persona/embeddings.d.ts +40 -0
  132. package/dist/persona/embeddings.d.ts.map +1 -0
  133. package/dist/persona/embeddings.js +265 -0
  134. package/dist/persona/embeddings.js.map +1 -0
  135. package/dist/persona/engine.d.ts +79 -0
  136. package/dist/persona/engine.d.ts.map +1 -0
  137. package/dist/persona/engine.js +1087 -0
  138. package/dist/persona/engine.js.map +1 -0
  139. package/dist/persona/index.d.ts +11 -0
  140. package/dist/persona/index.d.ts.map +1 -0
  141. package/dist/persona/index.js +11 -0
  142. package/dist/persona/index.js.map +1 -0
  143. package/dist/persona/lifecycle.d.ts +17 -0
  144. package/dist/persona/lifecycle.d.ts.map +1 -0
  145. package/dist/persona/lifecycle.js +36 -0
  146. package/dist/persona/lifecycle.js.map +1 -0
  147. package/dist/persona/retrieval.d.ts +6 -0
  148. package/dist/persona/retrieval.d.ts.map +1 -0
  149. package/dist/persona/retrieval.js +122 -0
  150. package/dist/persona/retrieval.js.map +1 -0
  151. package/dist/persona/sync.d.ts +15 -0
  152. package/dist/persona/sync.d.ts.map +1 -0
  153. package/dist/persona/sync.js +92 -0
  154. package/dist/persona/sync.js.map +1 -0
  155. package/dist/persona/types.d.ts +283 -0
  156. package/dist/persona/types.d.ts.map +1 -0
  157. package/dist/persona/types.js +2 -0
  158. package/dist/persona/types.js.map +1 -0
  159. package/dist/persona/zkp/engine.d.ts +26 -0
  160. package/dist/persona/zkp/engine.d.ts.map +1 -0
  161. package/dist/persona/zkp/engine.js +370 -0
  162. package/dist/persona/zkp/engine.js.map +1 -0
  163. package/dist/persona/zkp/types.d.ts +39 -0
  164. package/dist/persona/zkp/types.d.ts.map +1 -0
  165. package/dist/persona/zkp/types.js +2 -0
  166. package/dist/persona/zkp/types.js.map +1 -0
  167. package/dist/planner.d.ts +114 -0
  168. package/dist/planner.d.ts.map +1 -0
  169. package/dist/planner.js +522 -0
  170. package/dist/planner.js.map +1 -0
  171. package/dist/proactive/checkpoints.d.ts +9 -0
  172. package/dist/proactive/checkpoints.d.ts.map +1 -0
  173. package/dist/proactive/checkpoints.js +20 -0
  174. package/dist/proactive/checkpoints.js.map +1 -0
  175. package/dist/proactive/engine.d.ts +59 -0
  176. package/dist/proactive/engine.d.ts.map +1 -0
  177. package/dist/proactive/engine.js +406 -0
  178. package/dist/proactive/engine.js.map +1 -0
  179. package/dist/proactive/scheduler.d.ts +11 -0
  180. package/dist/proactive/scheduler.d.ts.map +1 -0
  181. package/dist/proactive/scheduler.js +45 -0
  182. package/dist/proactive/scheduler.js.map +1 -0
  183. package/dist/proactive/swarm-controller.d.ts +189 -0
  184. package/dist/proactive/swarm-controller.d.ts.map +1 -0
  185. package/dist/proactive/swarm-controller.js +477 -0
  186. package/dist/proactive/swarm-controller.js.map +1 -0
  187. package/dist/proactive/swarm-registry.d.ts +13 -0
  188. package/dist/proactive/swarm-registry.d.ts.map +1 -0
  189. package/dist/proactive/swarm-registry.js +122 -0
  190. package/dist/proactive/swarm-registry.js.map +1 -0
  191. package/dist/proactive/types.d.ts +145 -0
  192. package/dist/proactive/types.d.ts.map +1 -0
  193. package/dist/proactive/types.js +25 -0
  194. package/dist/proactive/types.js.map +1 -0
  195. package/dist/registry.d.ts +35 -0
  196. package/dist/registry.d.ts.map +1 -0
  197. package/dist/registry.js +88 -0
  198. package/dist/registry.js.map +1 -0
  199. package/dist/reputation.d.ts +123 -0
  200. package/dist/reputation.d.ts.map +1 -0
  201. package/dist/reputation.js +366 -0
  202. package/dist/reputation.js.map +1 -0
  203. package/dist/reputation.test.d.ts +5 -0
  204. package/dist/reputation.test.d.ts.map +1 -0
  205. package/dist/reputation.test.js +265 -0
  206. package/dist/reputation.test.js.map +1 -0
  207. package/dist/rooms.d.ts +96 -0
  208. package/dist/rooms.d.ts.map +1 -0
  209. package/dist/rooms.js +410 -0
  210. package/dist/rooms.js.map +1 -0
  211. package/dist/sdk/client.d.ts +290 -0
  212. package/dist/sdk/client.d.ts.map +1 -0
  213. package/dist/sdk/client.js +1287 -0
  214. package/dist/sdk/client.js.map +1 -0
  215. package/dist/sdk/index.d.ts +32 -0
  216. package/dist/sdk/index.d.ts.map +1 -0
  217. package/dist/sdk/index.js +70 -0
  218. package/dist/sdk/index.js.map +1 -0
  219. package/dist/security.d.ts +230 -0
  220. package/dist/security.d.ts.map +1 -0
  221. package/dist/security.js +652 -0
  222. package/dist/security.js.map +1 -0
  223. package/dist/skills/engine.d.ts +262 -0
  224. package/dist/skills/engine.d.ts.map +1 -0
  225. package/dist/skills/engine.js +788 -0
  226. package/dist/skills/engine.js.map +1 -0
  227. package/dist/skills/engine.test.d.ts +2 -0
  228. package/dist/skills/engine.test.d.ts.map +1 -0
  229. package/dist/skills/engine.test.js +134 -0
  230. package/dist/skills/engine.test.js.map +1 -0
  231. package/dist/skills/parser.d.ts +129 -0
  232. package/dist/skills/parser.d.ts.map +1 -0
  233. package/dist/skills/parser.js +318 -0
  234. package/dist/skills/parser.js.map +1 -0
  235. package/dist/social.d.ts +149 -0
  236. package/dist/social.d.ts.map +1 -0
  237. package/dist/social.js +401 -0
  238. package/dist/social.js.map +1 -0
  239. package/dist/storage-optimized.d.ts +116 -0
  240. package/dist/storage-optimized.d.ts.map +1 -0
  241. package/dist/storage-optimized.js +264 -0
  242. package/dist/storage-optimized.js.map +1 -0
  243. package/dist/storage.d.ts +584 -0
  244. package/dist/storage.d.ts.map +1 -0
  245. package/dist/storage.js +2703 -0
  246. package/dist/storage.js.map +1 -0
  247. package/dist/storage.test.d.ts +2 -0
  248. package/dist/storage.test.d.ts.map +1 -0
  249. package/dist/storage.test.js +78 -0
  250. package/dist/storage.test.js.map +1 -0
  251. package/dist/swp.d.ts +443 -0
  252. package/dist/swp.d.ts.map +1 -0
  253. package/dist/swp.js +223 -0
  254. package/dist/swp.js.map +1 -0
  255. package/dist/swp.test.d.ts +5 -0
  256. package/dist/swp.test.d.ts.map +1 -0
  257. package/dist/swp.test.js +127 -0
  258. package/dist/swp.test.js.map +1 -0
  259. package/dist/templates.d.ts +25 -0
  260. package/dist/templates.d.ts.map +1 -0
  261. package/dist/templates.js +1048 -0
  262. package/dist/templates.js.map +1 -0
  263. package/dist/test-e2e.d.ts +14 -0
  264. package/dist/test-e2e.d.ts.map +1 -0
  265. package/dist/test-e2e.js +266 -0
  266. package/dist/test-e2e.js.map +1 -0
  267. package/dist/workers/research-worker.d.ts +19 -0
  268. package/dist/workers/research-worker.d.ts.map +1 -0
  269. package/dist/workers/research-worker.js +141 -0
  270. package/dist/workers/research-worker.js.map +1 -0
  271. package/package.json +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.js","sourceRoot":"","sources":["../src/integration.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=integration.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,155 @@
1
+ import { describe, it, expect, beforeEach, afterEach } from 'vitest';
2
+ import { IntegrationEngine } from './integration.js';
3
+ import { FederationEngine } from './federation.js';
4
+ import { KnowledgePool } from './knowledge.js';
5
+ import { CocEngine } from './coc.js';
6
+ import { SkillsEngine } from './skills/engine.js';
7
+ import { SecurityManager } from './security.js';
8
+ import { Storage } from './storage.js';
9
+ import { tmpdir } from 'os';
10
+ import { join } from 'path';
11
+ import { mkdirSync, rmSync, writeFileSync } from 'fs';
12
+ describe('IntegrationEngine', () => {
13
+ let testDir;
14
+ let storage;
15
+ let identity;
16
+ let federation;
17
+ let knowledge;
18
+ let coc;
19
+ let skills;
20
+ let security;
21
+ let integration;
22
+ let skillDir;
23
+ beforeEach(async () => {
24
+ testDir = join(tmpdir(), `society-integration-${Date.now()}`);
25
+ skillDir = join(testDir, 'skills');
26
+ mkdirSync(testDir, { recursive: true });
27
+ mkdirSync(skillDir, { recursive: true });
28
+ storage = new Storage({ dbPath: join(testDir, 'test.db') });
29
+ identity = { did: 'did:key:z6MkTest' };
30
+ federation = new FederationEngine(storage, { identity });
31
+ knowledge = new KnowledgePool(storage, { identity });
32
+ coc = new CocEngine(storage, { identity });
33
+ skills = new SkillsEngine(storage, identity, skillDir);
34
+ security = new SecurityManager(identity);
35
+ // Mock room manager
36
+ const mockRoomManager = {
37
+ createRoom: (name) => ({ id: `room_${Date.now()}`, name }),
38
+ getRoom: (id) => ({ id, name: 'Test' })
39
+ };
40
+ integration = new IntegrationEngine(storage, identity, federation, mockRoomManager, knowledge, coc, skills, security, {
41
+ autoIndexCoC: true,
42
+ autoCreateKnowledgeSpace: true,
43
+ enforceFederationACLs: true
44
+ });
45
+ });
46
+ afterEach(() => {
47
+ rmSync(testDir, { recursive: true, force: true });
48
+ });
49
+ describe('Federation + Knowledge', () => {
50
+ it('should create federation with knowledge space', async () => {
51
+ const fed = await federation.createFederation({
52
+ name: 'Dev Team',
53
+ description: 'Development team federation'
54
+ });
55
+ // Create knowledge space for federation
56
+ const space = await knowledge.createSpace(`${fed.name} Knowledge`, `Shared knowledge for ${fed.name}`, 'federation', 'federation');
57
+ expect(space).toBeDefined();
58
+ expect(space.name).toContain('Dev Team');
59
+ });
60
+ });
61
+ describe('CoC + Knowledge', () => {
62
+ it('should bind CoC chain to knowledge space', async () => {
63
+ const space = await knowledge.createSpace('Test Space', 'Test', 'team', 'room');
64
+ // Create chain
65
+ const chainId = await coc.openChain('room_123', 'Research Topic', {
66
+ priority: 'high'
67
+ });
68
+ // Create and submit step
69
+ const stepId = await coc.openChain('room_123', 'Find resources', {
70
+ priority: 'normal'
71
+ });
72
+ await coc.assignStep('room_123', chainId, stepId, identity.did);
73
+ await coc.submitStep('room_123', chainId, stepId, 'completed', 'Found 5 relevant papers');
74
+ // Verify chain exists
75
+ const chain = coc.getChain(chainId);
76
+ expect(chain).toBeDefined();
77
+ expect(chain?.goal).toBe('Research Topic');
78
+ });
79
+ });
80
+ describe('Skills + Context', () => {
81
+ it('should execute skill with federation context', async () => {
82
+ // Create test skill
83
+ const skillPath = join(skillDir, 'context-skill.md');
84
+ writeFileSync(skillPath, `
85
+ # Context Test
86
+
87
+ ## Metadata
88
+ - ID: context-skill
89
+ - Version: 1.0.0
90
+ - Runtime: local
91
+
92
+ ## Actions
93
+ - name: test
94
+ type: execute
95
+ command: echo "Testing"
96
+ `);
97
+ // Reload skills
98
+ const newSkills = new SkillsEngine(storage, identity, skillDir);
99
+ // Execute with context
100
+ const result = await newSkills.executeSkill('context-skill', {}, {
101
+ room: 'room_123',
102
+ federation: 'fed_123'
103
+ });
104
+ expect(result.status).toBe('completed');
105
+ });
106
+ });
107
+ describe('Security Integration', () => {
108
+ it('should enforce federation ACLs', async () => {
109
+ const fed = await federation.createFederation({
110
+ name: 'Restricted',
111
+ description: 'Restricted federation',
112
+ visibility: 'private'
113
+ });
114
+ // Check policy for non-member
115
+ const check = federation.checkPolicy(fed, 'room:join', 'did:key:z6MkStranger');
116
+ expect(check.allowed).toBe(false);
117
+ // Check policy for member
118
+ await federation.addMember(fed.id, 'did:key:z6MkMember', 'member');
119
+ const memberCheck = federation.checkPolicy(fed, 'room:join', 'did:key:z6MkMember');
120
+ expect(memberCheck.allowed).toBe(true);
121
+ });
122
+ });
123
+ describe('End-to-End Workflow', () => {
124
+ it('should complete full collaboration workflow', async () => {
125
+ // 1. Create federation
126
+ const fed = await federation.createFederation({
127
+ name: 'Product Team',
128
+ description: 'Product development team'
129
+ });
130
+ // 2. Create knowledge space
131
+ const space = await knowledge.createSpace('Product Knowledge', 'Shared product knowledge', 'federation', 'federation');
132
+ // 3. Add team members
133
+ await federation.addMember(fed.id, 'did:key:z6MkAlice', 'member');
134
+ await federation.addMember(fed.id, 'did:key:z6MkBob', 'member');
135
+ // 4. Open CoC chain for feature
136
+ const chainId = await coc.openChain('room_123', 'Implement Feature X', {
137
+ priority: 'high'
138
+ });
139
+ // 5. Create and complete steps
140
+ const stepId = await coc.openChain('room_123', 'Research requirements', {
141
+ priority: 'normal'
142
+ });
143
+ await coc.assignStep('room_123', chainId, stepId, 'did:key:z6MkAlice');
144
+ await coc.submitStep('room_123', chainId, stepId, 'completed', 'Requirements documented');
145
+ // 6. Create knowledge from work
146
+ const card = await knowledge.createCard(space.id, 'insight', 'Feature Requirements', 'Requirements gathered from team collaboration', { tags: ['feature-x', 'requirements'] });
147
+ expect(card).toBeDefined();
148
+ expect(card.title).toBe('Feature Requirements');
149
+ // 7. Verify federation state
150
+ const fedMembers = federation.getFederation(fed.id)?.members;
151
+ expect(fedMembers?.size).toBe(3); // creator + 2 members
152
+ });
153
+ });
154
+ });
155
+ //# sourceMappingURL=integration.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../src/integration.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ /**
2
+ * Society Protocol - Knowledge Pool System v1.0
3
+ *
4
+ * Sistema de conhecimento compartilhado:
5
+ * - Knowledge Cards (unidades de conhecimento)
6
+ * - Spaces compartilhados (repositórios de conhecimento)
7
+ * - CRDT para convergência sem conflitos
8
+ * - Knowledge Graph descentralizado
9
+ * - Links semânticos entre conhecimentos
10
+ */
11
+ import { EventEmitter } from 'events';
12
+ import { type Storage } from './storage.js';
13
+ import { type Identity } from './identity.js';
14
+ export type KnowledgeId = string;
15
+ export type SpaceId = string;
16
+ export type LinkType = 'relates-to' | 'supports' | 'contradicts' | 'extends' | 'depends-on' | 'part-of' | 'replicates' | 'cites';
17
+ export type KnowledgeType = 'concept' | 'fact' | 'insight' | 'sop' | 'decision' | 'evidence' | 'hypothesis' | 'paper' | 'dataset' | 'claim' | 'finding' | 'code' | 'document' | 'conversation';
18
+ export type PrivacyLevel = 'public' | 'federation' | 'room' | 'private';
19
+ export interface KnowledgeCard {
20
+ id: KnowledgeId;
21
+ spaceId: SpaceId;
22
+ type: KnowledgeType;
23
+ title: string;
24
+ summary: string;
25
+ content: string;
26
+ contentFormat: 'markdown' | 'json' | 'code' | 'plain';
27
+ author: string;
28
+ createdAt: number;
29
+ updatedAt: number;
30
+ version: number;
31
+ tags: string[];
32
+ domain: string[];
33
+ entities: string[];
34
+ source?: {
35
+ type: 'coc' | 'chat' | 'document' | 'web' | 'manual';
36
+ id?: string;
37
+ url?: string;
38
+ context?: string;
39
+ };
40
+ confidence: number;
41
+ verificationStatus: 'unverified' | 'verified' | 'disputed' | 'deprecated';
42
+ verifiedBy?: string[];
43
+ verifications: Verification[];
44
+ usage: {
45
+ views: number;
46
+ citations: number;
47
+ applications: number;
48
+ lastAccessed: number;
49
+ };
50
+ privacy: PrivacyLevel;
51
+ allowedReaders?: string[];
52
+ crdt: {
53
+ hlc: HybridLogicalClock;
54
+ vectorClock: Record<string, number>;
55
+ tombstone: boolean;
56
+ };
57
+ }
58
+ export interface Verification {
59
+ verifier: string;
60
+ timestamp: number;
61
+ method: 'manual' | 'automated' | 'consensus';
62
+ confidence: number;
63
+ notes?: string;
64
+ }
65
+ export interface KnowledgeLink {
66
+ id: string;
67
+ source: KnowledgeId;
68
+ target: KnowledgeId;
69
+ type: LinkType;
70
+ strength: number;
71
+ createdBy: string;
72
+ createdAt: number;
73
+ evidence?: string;
74
+ }
75
+ export interface KnowledgeSpace {
76
+ id: SpaceId;
77
+ name: string;
78
+ description: string;
79
+ owner: string;
80
+ federationId?: string;
81
+ roomId?: string;
82
+ type: 'personal' | 'team' | 'federation' | 'public';
83
+ privacy: PrivacyLevel;
84
+ cards: Set<KnowledgeId>;
85
+ links: KnowledgeLink[];
86
+ subspaces: SpaceId[];
87
+ createdAt: number;
88
+ updatedAt: number;
89
+ tags: string[];
90
+ stats: {
91
+ cardCount: number;
92
+ linkCount: number;
93
+ contributorCount: number;
94
+ lastActivity: number;
95
+ };
96
+ policies: {
97
+ allowPublicRead: boolean;
98
+ allowPublicWrite: boolean;
99
+ requireVerification: boolean;
100
+ autoArchiveDays?: number;
101
+ };
102
+ }
103
+ export interface HybridLogicalClock {
104
+ wallTime: number;
105
+ logical: number;
106
+ nodeId: string;
107
+ }
108
+ export interface CollectiveUnconscious {
109
+ id: string;
110
+ spaceId: SpaceId;
111
+ workingMemory: {
112
+ recentMessages: string[];
113
+ activeTopics: string[];
114
+ participants: string[];
115
+ contextWindow: string;
116
+ };
117
+ longTermMemory: {
118
+ keyConcepts: KnowledgeId[];
119
+ recurringThemes: string[];
120
+ learnedPatterns: string[];
121
+ agentModels: Record<string, AgentModel>;
122
+ };
123
+ sharedState: {
124
+ goals: string[];
125
+ plans: string[];
126
+ decisions: string[];
127
+ openQuestions: string[];
128
+ };
129
+ lastUpdate: number;
130
+ coherence: number;
131
+ }
132
+ export interface AgentModel {
133
+ did: string;
134
+ name: string;
135
+ observedCapabilities: string[];
136
+ communicationStyle: {
137
+ formality: number;
138
+ verbosity: number;
139
+ responseTime: number;
140
+ };
141
+ interactions: {
142
+ total: number;
143
+ successful: number;
144
+ lastInteraction: number;
145
+ };
146
+ relationship: {
147
+ trust: number;
148
+ familiarity: number;
149
+ collaborationHistory: string[];
150
+ };
151
+ expertise: Record<string, number>;
152
+ preferences: Record<string, any>;
153
+ }
154
+ export declare class KnowledgePool extends EventEmitter {
155
+ private storage;
156
+ private identity;
157
+ private cards;
158
+ private spaces;
159
+ private links;
160
+ private collectiveUnconscious;
161
+ private tagIndex;
162
+ private authorIndex;
163
+ private typeIndex;
164
+ private linksBySource;
165
+ private linksByTarget;
166
+ constructor(storage: Storage, identity: Identity);
167
+ createSpace(name: string, description: string, type?: KnowledgeSpace['type'], privacy?: PrivacyLevel): Promise<KnowledgeSpace>;
168
+ createCard(spaceId: SpaceId, type: KnowledgeType, title: string, content: string, options?: {
169
+ summary?: string;
170
+ tags?: string[];
171
+ domain?: string[];
172
+ source?: KnowledgeCard['source'];
173
+ privacy?: PrivacyLevel;
174
+ confidence?: number;
175
+ }): Promise<KnowledgeCard>;
176
+ updateCard(id: KnowledgeId, updates: Partial<Pick<KnowledgeCard, 'title' | 'content' | 'tags' | 'confidence'>>): Promise<KnowledgeCard>;
177
+ deleteCard(id: KnowledgeId): Promise<void>;
178
+ linkCards(sourceId: KnowledgeId, targetId: KnowledgeId, type: LinkType, strength?: number, evidence?: string): Promise<KnowledgeLink>;
179
+ queryCards(options: {
180
+ spaceId?: SpaceId;
181
+ type?: KnowledgeType;
182
+ tags?: string[];
183
+ author?: string;
184
+ domain?: string[];
185
+ query?: string;
186
+ verificationStatus?: KnowledgeCard['verificationStatus'];
187
+ privacy?: PrivacyLevel;
188
+ limit?: number;
189
+ offset?: number;
190
+ sortBy?: 'relevance' | 'confidence' | 'created' | 'usage';
191
+ }): KnowledgeCard[];
192
+ getRelatedCards(cardId: KnowledgeId, depth?: number): KnowledgeCard[];
193
+ private indexLink;
194
+ getKnowledgeGraph(spaceId: SpaceId): {
195
+ nodes: KnowledgeCard[];
196
+ links: KnowledgeLink[];
197
+ };
198
+ private createCollectiveUnconscious;
199
+ private updateCollectiveUnconscious;
200
+ updateWorkingMemory(spaceId: SpaceId, update: Partial<CollectiveUnconscious['workingMemory']>): Promise<void>;
201
+ getCollectiveUnconscious(spaceId: SpaceId): CollectiveUnconscious | undefined;
202
+ getSharedContext(spaceId: SpaceId): string;
203
+ private generateSummary;
204
+ private extractEntities;
205
+ private generateContextWindow;
206
+ private indexCard;
207
+ private addToTagIndex;
208
+ private removeFromTagIndex;
209
+ private removeFromIndex;
210
+ private saveCard;
211
+ private saveSpace;
212
+ private saveLink;
213
+ private saveCollectiveUnconscious;
214
+ private loadFromStorage;
215
+ private normalizeSpace;
216
+ private normalizeCard;
217
+ private normalizeLink;
218
+ }
219
+ //# sourceMappingURL=knowledge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../src/knowledge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,GAAG,YAAY,GAAG,OAAO,CAAC;AAEjI,MAAM,MAAM,aAAa,GACnB,SAAS,GACT,MAAM,GACN,SAAS,GACT,KAAK,GACL,UAAU,GACV,UAAU,GACV,YAAY,GACZ,OAAO,GACP,SAAS,GACT,OAAO,GACP,SAAS,GACT,MAAM,GACN,UAAU,GACV,cAAc,CAAC;AAErB,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,WAAW,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IAGjB,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAGtD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IAGnB,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,KAAK,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,QAAQ,CAAC;QACrD,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IAGF,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,CAAC;IAC1E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,aAAa,EAAE,YAAY,EAAE,CAAC;IAG9B,KAAK,EAAE;QACH,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,OAAO,EAAE,YAAY,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,IAAI,EAAE;QACF,GAAG,EAAE,kBAAkB,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,SAAS,EAAE,OAAO,CAAC;KACtB,CAAC;CACL;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IAGpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,CAAC;IACpD,OAAO,EAAE,YAAY,CAAC;IAGtB,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;IACxB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,EAAE,OAAO,EAAE,CAAC;IAGrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,CAAC;IAGf,KAAK,EAAE;QACH,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,QAAQ,EAAE;QACN,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,OAAO,CAAC;QAC1B,mBAAmB,EAAE,OAAO,CAAC;QAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACL;AAGD,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAClB;AAGD,MAAM,WAAW,qBAAqB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IAGjB,aAAa,EAAE;QACX,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;KACzB,CAAC;IAGF,cAAc,EAAE;QACZ,WAAW,EAAE,WAAW,EAAE,CAAC;QAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,eAAe,EAAE,MAAM,EAAE,CAAC;QAC1B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;KAC3C,CAAC;IAGF,WAAW,EAAE;QACT,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,aAAa,EAAE,MAAM,EAAE,CAAC;KAC3B,CAAC;IAGF,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAGb,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAG/B,kBAAkB,EAAE;QAChB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACxB,CAAC;IAGF,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KAC3B,CAAC;IAGF,YAAY,EAAE;QACV,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,oBAAoB,EAAE,MAAM,EAAE,CAAC;KAClC,CAAC;IAGF,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACpC;AAID,qBAAa,aAAc,SAAQ,YAAY;IAevC,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,QAAQ;IAfpB,OAAO,CAAC,KAAK,CAAyC;IACtD,OAAO,CAAC,MAAM,CAAsC;IACpD,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,qBAAqB,CAA6C;IAG1E,OAAO,CAAC,QAAQ,CAAuC;IACvD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,SAAS,CAA8C;IAE/D,OAAO,CAAC,aAAa,CAA2C;IAChE,OAAO,CAAC,aAAa,CAA2C;gBAGpD,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,QAAQ;IAQxB,WAAW,CACb,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,IAAI,GAAE,cAAc,CAAC,MAAM,CAAU,EACrC,OAAO,GAAE,YAAqB,GAC/B,OAAO,CAAC,cAAc,CAAC;IA4CpB,UAAU,CACZ,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACvB,GACF,OAAO,CAAC,aAAa,CAAC;IA2DnB,UAAU,CACZ,EAAE,EAAE,WAAW,EACf,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,YAAY,CAAC,CAAC,GACnF,OAAO,CAAC,aAAa,CAAC;IAqCnB,UAAU,CAAC,EAAE,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB1C,SAAS,CACX,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,WAAW,EACrB,IAAI,EAAE,QAAQ,EACd,QAAQ,GAAE,MAAY,EACtB,QAAQ,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC;IAkCzB,UAAU,CAAC,OAAO,EAAE;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,IAAI,CAAC,EAAE,aAAa,CAAC;QACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;QACzD,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,WAAW,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;KAC7D,GAAG,aAAa,EAAE;IAqEnB,eAAe,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,MAAU,GAAG,aAAa,EAAE;IAoCxE,OAAO,CAAC,SAAS;IAYjB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG;QACjC,KAAK,EAAE,aAAa,EAAE,CAAC;QACvB,KAAK,EAAE,aAAa,EAAE,CAAC;KAC1B;YAaa,2BAA2B;YA8B3B,2BAA2B;IA6BnC,mBAAmB,CACrB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC,eAAe,CAAC,CAAC,GACxD,OAAO,CAAC,IAAI,CAAC;IAUhB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS;IAI7E,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM;IA0B1C,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,eAAe;YAUT,qBAAqB;IAanC,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,eAAe;YAMT,QAAQ;YAIR,SAAS;YAIT,QAAQ;YAIR,yBAAyB;IAIvC,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,cAAc;IAmBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,aAAa;CAMxB"}