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 @@
|
|
|
1
|
+
{"version":3,"file":"coc.test.d.ts","sourceRoot":"","sources":["../src/coc.test.ts"],"names":[],"mappings":""}
|
package/dist/coc.test.js
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { describe, it, expect, beforeEach } from 'vitest';
|
|
2
|
+
import { CocEngine } from './coc.js';
|
|
3
|
+
import { Storage } from './storage.js';
|
|
4
|
+
import { tmpdir } from 'os';
|
|
5
|
+
import { join } from 'path';
|
|
6
|
+
import { mkdirSync } from 'fs';
|
|
7
|
+
describe('CoCEngine', () => {
|
|
8
|
+
let storage;
|
|
9
|
+
let engine;
|
|
10
|
+
let testDir;
|
|
11
|
+
const TEST_DID = 'did:key:z6MkTest';
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
testDir = join(tmpdir(), `society-test-${Date.now()}`);
|
|
14
|
+
mkdirSync(testDir, { recursive: true });
|
|
15
|
+
storage = new Storage({ dbPath: join(testDir, 'test.db') });
|
|
16
|
+
engine = new CocEngine(storage, { identity: { did: TEST_DID } });
|
|
17
|
+
});
|
|
18
|
+
describe('openChain', () => {
|
|
19
|
+
it('should create a new chain', async () => {
|
|
20
|
+
const chainId = await engine.openChain('room_123', 'Implement feature X', {
|
|
21
|
+
priority: 'high'
|
|
22
|
+
});
|
|
23
|
+
expect(chainId).toMatch(/^coc_/);
|
|
24
|
+
const chain = engine.getChain(chainId);
|
|
25
|
+
expect(chain).toBeDefined();
|
|
26
|
+
expect(chain?.goal).toBe('Implement feature X');
|
|
27
|
+
expect(chain?.status).toBe('open');
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
describe('step lifecycle', () => {
|
|
31
|
+
it('should complete step lifecycle', async () => {
|
|
32
|
+
const chainId = await engine.openChain('room_123', 'Test chain');
|
|
33
|
+
// Propose step via opening a sub-chain
|
|
34
|
+
const stepId = await engine.openChain('room_123', 'Research existing solutions', {
|
|
35
|
+
priority: 'normal'
|
|
36
|
+
});
|
|
37
|
+
let step = engine.getStep(stepId);
|
|
38
|
+
expect(step?.status).toBe('proposed');
|
|
39
|
+
// Assign step
|
|
40
|
+
await engine.assignStep('room_123', chainId, stepId, TEST_DID);
|
|
41
|
+
step = engine.getStep(stepId);
|
|
42
|
+
expect(step?.status).toBe('assigned');
|
|
43
|
+
// Submit result
|
|
44
|
+
await engine.submitStep('room_123', chainId, stepId, 'completed', 'Found 3 viable solutions');
|
|
45
|
+
step = engine.getStep(stepId);
|
|
46
|
+
expect(step?.status).toBe('submitted');
|
|
47
|
+
});
|
|
48
|
+
it('should handle step failure', async () => {
|
|
49
|
+
const chainId = await engine.openChain('room_123', 'Test chain');
|
|
50
|
+
const stepId = await engine.openChain('room_123', 'Attempt task');
|
|
51
|
+
await engine.assignStep('room_123', chainId, stepId, TEST_DID);
|
|
52
|
+
await engine.submitStep('room_123', chainId, stepId, 'failed', 'Technical limitation encountered');
|
|
53
|
+
const step = engine.getStep(stepId);
|
|
54
|
+
expect(step?.status).toBe('submitted');
|
|
55
|
+
expect(step?.result?.status).toBe('failed');
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
describe('chain evaluation', () => {
|
|
59
|
+
it('should detect chain completion', async () => {
|
|
60
|
+
const chainId = await engine.openChain('room_123', 'Simple task');
|
|
61
|
+
// Create and complete a step
|
|
62
|
+
const stepId = await engine.openChain('room_123', 'Do work');
|
|
63
|
+
await engine.assignStep('room_123', chainId, stepId, TEST_DID);
|
|
64
|
+
await engine.submitStep('room_123', chainId, stepId, 'completed', 'Done');
|
|
65
|
+
// Chain should be evaluated
|
|
66
|
+
const chain = engine.getChain(chainId);
|
|
67
|
+
expect(['completed', 'running']).toContain(chain?.status);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
describe('consensus', () => {
|
|
71
|
+
it('should require multiple approvals for sensitive actions', async () => {
|
|
72
|
+
const chainId = await engine.openChain('room_123', 'Critical decision', {
|
|
73
|
+
consensus: { required: 2, timeout: 60000 }
|
|
74
|
+
});
|
|
75
|
+
const chain = engine.getChain(chainId);
|
|
76
|
+
expect(chain?.consensus).toBeDefined();
|
|
77
|
+
});
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
//# sourceMappingURL=coc.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coc.test.js","sourceRoot":"","sources":["../src/coc.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Society Protocol - Context Compression & Optimization v1.0
|
|
3
|
+
*
|
|
4
|
+
* Sistema de otimização de contexto e comunicações:
|
|
5
|
+
* - Compressão de mensagens (LZ4, Zstd)
|
|
6
|
+
* - Summarização inteligente de contexto
|
|
7
|
+
* - Sliding window com relevância
|
|
8
|
+
* - Semantic chunking
|
|
9
|
+
* - Deduplicação de conteúdo
|
|
10
|
+
* - Priorização de mensagens
|
|
11
|
+
*/
|
|
12
|
+
import { type SwpEnvelope } from './swp.js';
|
|
13
|
+
export interface CompressionConfig {
|
|
14
|
+
algorithm: 'lz4' | 'zstd' | 'gzip' | 'none';
|
|
15
|
+
level: number;
|
|
16
|
+
threshold: number;
|
|
17
|
+
}
|
|
18
|
+
export interface ContextWindow {
|
|
19
|
+
messages: Array<{
|
|
20
|
+
id: string;
|
|
21
|
+
timestamp: number;
|
|
22
|
+
role: 'system' | 'user' | 'assistant';
|
|
23
|
+
content: string;
|
|
24
|
+
tokens: number;
|
|
25
|
+
relevance: number;
|
|
26
|
+
compressed: boolean;
|
|
27
|
+
summary?: string;
|
|
28
|
+
}>;
|
|
29
|
+
totalTokens: number;
|
|
30
|
+
maxTokens: number;
|
|
31
|
+
compressed: boolean;
|
|
32
|
+
}
|
|
33
|
+
export interface SemanticChunk {
|
|
34
|
+
id: string;
|
|
35
|
+
content: string;
|
|
36
|
+
tokens: number;
|
|
37
|
+
embeddings?: number[];
|
|
38
|
+
entities: string[];
|
|
39
|
+
topics: string[];
|
|
40
|
+
timestamp: number;
|
|
41
|
+
importance: number;
|
|
42
|
+
}
|
|
43
|
+
export interface SummaryResult {
|
|
44
|
+
originalLength: number;
|
|
45
|
+
summaryLength: number;
|
|
46
|
+
compressionRatio: number;
|
|
47
|
+
keyPoints: string[];
|
|
48
|
+
entities: string[];
|
|
49
|
+
sentiment: 'positive' | 'negative' | 'neutral';
|
|
50
|
+
}
|
|
51
|
+
export declare class MessageCompressor {
|
|
52
|
+
private config;
|
|
53
|
+
constructor(config?: Partial<CompressionConfig>);
|
|
54
|
+
compress(data: Uint8Array): Promise<Uint8Array>;
|
|
55
|
+
decompress(data: Uint8Array, algorithm: string): Promise<Uint8Array>;
|
|
56
|
+
private compressLZ4;
|
|
57
|
+
private compressZstd;
|
|
58
|
+
private compressGzip;
|
|
59
|
+
private decompressLZ4;
|
|
60
|
+
private decompressZstd;
|
|
61
|
+
private decompressGzip;
|
|
62
|
+
private packCodecPayload;
|
|
63
|
+
private unpackCodecPayload;
|
|
64
|
+
private dynamicImport;
|
|
65
|
+
getCompressionStats(original: number, compressed: number): {
|
|
66
|
+
ratio: number;
|
|
67
|
+
savings: number;
|
|
68
|
+
savingsPercent: number;
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
export declare class ContextOptimizer {
|
|
72
|
+
private maxTokens;
|
|
73
|
+
private reserveTokens;
|
|
74
|
+
constructor(maxTokens?: number, reserveTokens?: number);
|
|
75
|
+
/**
|
|
76
|
+
* Otimizar janela de contexto mantendo apenas o mais relevante
|
|
77
|
+
*/
|
|
78
|
+
optimizeWindow(window: ContextWindow): ContextWindow;
|
|
79
|
+
/**
|
|
80
|
+
* Comprimir mensagem mantendo informação essencial
|
|
81
|
+
*/
|
|
82
|
+
compressMessage(msg: ContextWindow['messages'][0]): ContextWindow['messages'][0];
|
|
83
|
+
/**
|
|
84
|
+
* Criar summary progressivo do contexto
|
|
85
|
+
*/
|
|
86
|
+
createProgressiveSummary(messages: ContextWindow['messages']): string;
|
|
87
|
+
/**
|
|
88
|
+
* Deduplicar mensagens similares
|
|
89
|
+
*/
|
|
90
|
+
deduplicateMessages(messages: ContextWindow['messages']): ContextWindow['messages'];
|
|
91
|
+
private calculateRelevance;
|
|
92
|
+
private removeRepetitions;
|
|
93
|
+
private compressQuotes;
|
|
94
|
+
private summarizeText;
|
|
95
|
+
private extractKeyPoints;
|
|
96
|
+
private chunkMessages;
|
|
97
|
+
private hashContent;
|
|
98
|
+
}
|
|
99
|
+
export declare class SemanticChunker {
|
|
100
|
+
private maxChunkSize;
|
|
101
|
+
private overlap;
|
|
102
|
+
constructor(maxChunkSize?: number, overlap?: number);
|
|
103
|
+
/**
|
|
104
|
+
* Dividir texto em chunks semânticos
|
|
105
|
+
*/
|
|
106
|
+
chunk(text: string): SemanticChunk[];
|
|
107
|
+
/**
|
|
108
|
+
* Mesclar chunks similares
|
|
109
|
+
*/
|
|
110
|
+
mergeSimilarChunks(chunks: SemanticChunk[], threshold?: number): SemanticChunk[];
|
|
111
|
+
private createChunk;
|
|
112
|
+
private extractEntities;
|
|
113
|
+
private extractTopics;
|
|
114
|
+
private calculateImportance;
|
|
115
|
+
private calculateSimilarity;
|
|
116
|
+
private mergeTwoChunks;
|
|
117
|
+
}
|
|
118
|
+
export declare class MessagePrioritizer {
|
|
119
|
+
/**
|
|
120
|
+
* Priorizar mensagens para entrega
|
|
121
|
+
*/
|
|
122
|
+
prioritize(messages: SwpEnvelope[]): SwpEnvelope[];
|
|
123
|
+
private calculatePriority;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=compression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../src/compression.ts"],"names":[],"mappings":"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"}
|