@claude-flow/cli 3.0.0-alpha.55 โ 3.0.0-alpha.57
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/.claude/settings.json +2 -2
- package/dist/src/commands/hooks.d.ts.map +1 -1
- package/dist/src/commands/hooks.js +45 -5
- package/dist/src/commands/hooks.js.map +1 -1
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +80 -9
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/memory.d.ts.map +1 -1
- package/dist/src/commands/memory.js +221 -2
- package/dist/src/commands/memory.js.map +1 -1
- package/dist/src/commands/plugins.d.ts +1 -0
- package/dist/src/commands/plugins.d.ts.map +1 -1
- package/dist/src/commands/plugins.js +439 -89
- package/dist/src/commands/plugins.js.map +1 -1
- package/dist/src/commands/transfer-store.d.ts +13 -0
- package/dist/src/commands/transfer-store.d.ts.map +1 -0
- package/dist/src/commands/transfer-store.js +428 -0
- package/dist/src/commands/transfer-store.js.map +1 -0
- package/dist/src/init/mcp-generator.d.ts +9 -0
- package/dist/src/init/mcp-generator.d.ts.map +1 -1
- package/dist/src/init/mcp-generator.js +57 -28
- package/dist/src/init/mcp-generator.js.map +1 -1
- package/dist/src/init/settings-generator.d.ts.map +1 -1
- package/dist/src/init/settings-generator.js +4 -2
- package/dist/src/init/settings-generator.js.map +1 -1
- package/dist/src/mcp-tools/index.d.ts +1 -0
- package/dist/src/mcp-tools/index.d.ts.map +1 -1
- package/dist/src/mcp-tools/index.js +1 -0
- package/dist/src/mcp-tools/index.js.map +1 -1
- package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
- package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
- package/dist/src/mcp-tools/transfer-tools.js +396 -0
- package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
- package/dist/src/plugins/store/discovery.d.ts +73 -0
- package/dist/src/plugins/store/discovery.d.ts.map +1 -0
- package/dist/src/plugins/store/discovery.js +568 -0
- package/dist/src/plugins/store/discovery.js.map +1 -0
- package/dist/src/plugins/store/index.d.ts +76 -0
- package/dist/src/plugins/store/index.d.ts.map +1 -0
- package/dist/src/plugins/store/index.js +141 -0
- package/dist/src/plugins/store/index.js.map +1 -0
- package/dist/src/plugins/store/search.d.ts +46 -0
- package/dist/src/plugins/store/search.d.ts.map +1 -0
- package/dist/src/plugins/store/search.js +230 -0
- package/dist/src/plugins/store/search.js.map +1 -0
- package/dist/src/plugins/store/types.d.ts +274 -0
- package/dist/src/plugins/store/types.d.ts.map +1 -0
- package/dist/src/plugins/store/types.js +7 -0
- package/dist/src/plugins/store/types.js.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
- package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
- package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
- package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/plugins/tests/standalone-test.js +188 -0
- package/dist/src/plugins/tests/standalone-test.js.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
- package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
- package/dist/src/plugins/tests/test-plugin-store.js +206 -0
- package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
- package/dist/src/transfer/anonymization/index.d.ts +25 -0
- package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
- package/dist/src/transfer/anonymization/index.js +175 -0
- package/dist/src/transfer/anonymization/index.js.map +1 -0
- package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
- package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/deploy-seraphine.js +205 -0
- package/dist/src/transfer/deploy-seraphine.js.map +1 -0
- package/dist/src/transfer/export.d.ts +25 -0
- package/dist/src/transfer/export.d.ts.map +1 -0
- package/dist/src/transfer/export.js +113 -0
- package/dist/src/transfer/export.js.map +1 -0
- package/dist/src/transfer/index.d.ts +12 -0
- package/dist/src/transfer/index.d.ts.map +1 -0
- package/dist/src/transfer/index.js +31 -0
- package/dist/src/transfer/index.js.map +1 -0
- package/dist/src/transfer/ipfs/client.d.ts +31 -0
- package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/client.js +74 -0
- package/dist/src/transfer/ipfs/client.js.map +1 -0
- package/dist/src/transfer/ipfs/upload.d.ts +85 -0
- package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
- package/dist/src/transfer/ipfs/upload.js +319 -0
- package/dist/src/transfer/ipfs/upload.js.map +1 -0
- package/dist/src/transfer/models/seraphine.d.ts +72 -0
- package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
- package/dist/src/transfer/models/seraphine.js +373 -0
- package/dist/src/transfer/models/seraphine.js.map +1 -0
- package/dist/src/transfer/serialization/cfp.d.ts +49 -0
- package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
- package/dist/src/transfer/serialization/cfp.js +180 -0
- package/dist/src/transfer/serialization/cfp.js.map +1 -0
- package/dist/src/transfer/store/discovery.d.ts +84 -0
- package/dist/src/transfer/store/discovery.d.ts.map +1 -0
- package/dist/src/transfer/store/discovery.js +275 -0
- package/dist/src/transfer/store/discovery.js.map +1 -0
- package/dist/src/transfer/store/download.d.ts +70 -0
- package/dist/src/transfer/store/download.d.ts.map +1 -0
- package/dist/src/transfer/store/download.js +295 -0
- package/dist/src/transfer/store/download.js.map +1 -0
- package/dist/src/transfer/store/index.d.ts +84 -0
- package/dist/src/transfer/store/index.d.ts.map +1 -0
- package/dist/src/transfer/store/index.js +153 -0
- package/dist/src/transfer/store/index.js.map +1 -0
- package/dist/src/transfer/store/publish.d.ts +76 -0
- package/dist/src/transfer/store/publish.d.ts.map +1 -0
- package/dist/src/transfer/store/publish.js +262 -0
- package/dist/src/transfer/store/publish.js.map +1 -0
- package/dist/src/transfer/store/registry.d.ts +58 -0
- package/dist/src/transfer/store/registry.d.ts.map +1 -0
- package/dist/src/transfer/store/registry.js +285 -0
- package/dist/src/transfer/store/registry.js.map +1 -0
- package/dist/src/transfer/store/search.d.ts +54 -0
- package/dist/src/transfer/store/search.d.ts.map +1 -0
- package/dist/src/transfer/store/search.js +232 -0
- package/dist/src/transfer/store/search.js.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
- package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
- package/dist/src/transfer/store/tests/standalone-test.js +190 -0
- package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
- package/dist/src/transfer/store/types.d.ts +193 -0
- package/dist/src/transfer/store/types.d.ts.map +1 -0
- package/dist/src/transfer/store/types.js +6 -0
- package/dist/src/transfer/store/types.js.map +1 -0
- package/dist/src/transfer/test-seraphine.d.ts +6 -0
- package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
- package/dist/src/transfer/test-seraphine.js +105 -0
- package/dist/src/transfer/test-seraphine.js.map +1 -0
- package/dist/src/transfer/tests/test-store.d.ts +7 -0
- package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
- package/dist/src/transfer/tests/test-store.js +214 -0
- package/dist/src/transfer/tests/test-store.js.map +1 -0
- package/dist/src/transfer/types.d.ts +245 -0
- package/dist/src/transfer/types.d.ts.map +1 -0
- package/dist/src/transfer/types.js +6 -0
- package/dist/src/transfer/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPFS-Based Pattern Discovery
|
|
3
|
+
* Secure discovery mechanism for finding patterns in decentralized environment
|
|
4
|
+
*/
|
|
5
|
+
import type { PatternRegistry, KnownRegistry, StoreConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Discovery result
|
|
8
|
+
*/
|
|
9
|
+
export interface DiscoveryResult {
|
|
10
|
+
success: boolean;
|
|
11
|
+
registry?: PatternRegistry;
|
|
12
|
+
source: string;
|
|
13
|
+
fromCache: boolean;
|
|
14
|
+
cid?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Resolved IPNS result
|
|
19
|
+
*/
|
|
20
|
+
export interface IPNSResolution {
|
|
21
|
+
ipnsName: string;
|
|
22
|
+
cid: string;
|
|
23
|
+
resolvedAt: string;
|
|
24
|
+
expiresAt: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Pattern Store Discovery Service
|
|
28
|
+
* Handles secure discovery of pattern registries via IPFS/IPNS
|
|
29
|
+
*/
|
|
30
|
+
export declare class PatternDiscovery {
|
|
31
|
+
private config;
|
|
32
|
+
private cache;
|
|
33
|
+
private ipnsCache;
|
|
34
|
+
constructor(config?: Partial<StoreConfig>);
|
|
35
|
+
/**
|
|
36
|
+
* Discover and load the pattern registry
|
|
37
|
+
*/
|
|
38
|
+
discoverRegistry(registryName?: string): Promise<DiscoveryResult>;
|
|
39
|
+
/**
|
|
40
|
+
* Resolve IPNS name to CID
|
|
41
|
+
*/
|
|
42
|
+
resolveIPNS(ipnsName: string): Promise<IPNSResolution | null>;
|
|
43
|
+
/**
|
|
44
|
+
* Fetch registry from IPFS gateway
|
|
45
|
+
*/
|
|
46
|
+
fetchRegistry(cid: string, gateway: string): Promise<PatternRegistry | null>;
|
|
47
|
+
/**
|
|
48
|
+
* Verify registry signature
|
|
49
|
+
*/
|
|
50
|
+
verifyRegistry(registry: PatternRegistry, expectedPublicKey: string): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Get cached registry
|
|
53
|
+
*/
|
|
54
|
+
getCachedRegistry(ipnsName: string): PatternRegistry | null;
|
|
55
|
+
/**
|
|
56
|
+
* Cache registry
|
|
57
|
+
*/
|
|
58
|
+
cacheRegistry(ipnsName: string, registry: PatternRegistry): void;
|
|
59
|
+
/**
|
|
60
|
+
* Clear cache
|
|
61
|
+
*/
|
|
62
|
+
clearCache(): void;
|
|
63
|
+
/**
|
|
64
|
+
* List all known registries
|
|
65
|
+
*/
|
|
66
|
+
listRegistries(): KnownRegistry[];
|
|
67
|
+
/**
|
|
68
|
+
* Add a custom registry
|
|
69
|
+
*/
|
|
70
|
+
addRegistry(registry: KnownRegistry): void;
|
|
71
|
+
/**
|
|
72
|
+
* Generate mock CID for demo
|
|
73
|
+
*/
|
|
74
|
+
private generateMockCID;
|
|
75
|
+
/**
|
|
76
|
+
* Create mock registry with Seraphine genesis
|
|
77
|
+
*/
|
|
78
|
+
private createMockRegistry;
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Create discovery service with default config
|
|
82
|
+
*/
|
|
83
|
+
export declare function createDiscoveryService(config?: Partial<StoreConfig>): PatternDiscovery;
|
|
84
|
+
//# sourceMappingURL=discovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../../../../src/transfer/store/discovery.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,eAAe,EAEf,aAAa,EACb,WAAW,EACZ,MAAM,YAAY,CAAC;AAOpB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,KAAK,CAAgE;IAC7E,OAAO,CAAC,SAAS,CAA8B;gBAEnC,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAM7C;;OAEG;IACG,gBAAgB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA0EvE;;OAEG;IACG,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IA2BnE;;OAEG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAelF;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO;IAU7E;;OAEG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI;IAQ3D;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,GAAG,IAAI;IAOhE;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,cAAc,IAAI,aAAa,EAAE;IAIjC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAS1C;;OAEG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAyE3B;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,gBAAgB,CAEtF"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPFS-Based Pattern Discovery
|
|
3
|
+
* Secure discovery mechanism for finding patterns in decentralized environment
|
|
4
|
+
*/
|
|
5
|
+
import * as crypto from 'crypto';
|
|
6
|
+
import { DEFAULT_STORE_CONFIG, } from './registry.js';
|
|
7
|
+
/**
|
|
8
|
+
* Pattern Store Discovery Service
|
|
9
|
+
* Handles secure discovery of pattern registries via IPFS/IPNS
|
|
10
|
+
*/
|
|
11
|
+
export class PatternDiscovery {
|
|
12
|
+
config;
|
|
13
|
+
cache;
|
|
14
|
+
ipnsCache;
|
|
15
|
+
constructor(config = {}) {
|
|
16
|
+
this.config = { ...DEFAULT_STORE_CONFIG, ...config };
|
|
17
|
+
this.cache = new Map();
|
|
18
|
+
this.ipnsCache = new Map();
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Discover and load the pattern registry
|
|
22
|
+
*/
|
|
23
|
+
async discoverRegistry(registryName) {
|
|
24
|
+
const targetRegistry = registryName || this.config.defaultRegistry;
|
|
25
|
+
const knownRegistry = this.config.registries.find(r => r.name === targetRegistry);
|
|
26
|
+
if (!knownRegistry) {
|
|
27
|
+
return {
|
|
28
|
+
success: false,
|
|
29
|
+
source: targetRegistry,
|
|
30
|
+
fromCache: false,
|
|
31
|
+
error: `Unknown registry: ${targetRegistry}`,
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
console.log(`[Discovery] Looking for registry: ${knownRegistry.name}`);
|
|
35
|
+
// Check cache first
|
|
36
|
+
const cached = this.getCachedRegistry(knownRegistry.ipnsName);
|
|
37
|
+
if (cached) {
|
|
38
|
+
console.log(`[Discovery] Found in cache`);
|
|
39
|
+
return {
|
|
40
|
+
success: true,
|
|
41
|
+
registry: cached,
|
|
42
|
+
source: knownRegistry.name,
|
|
43
|
+
fromCache: true,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
// Resolve IPNS to get current CID
|
|
47
|
+
console.log(`[Discovery] Resolving IPNS: ${knownRegistry.ipnsName}`);
|
|
48
|
+
const resolution = await this.resolveIPNS(knownRegistry.ipnsName);
|
|
49
|
+
if (!resolution) {
|
|
50
|
+
return {
|
|
51
|
+
success: false,
|
|
52
|
+
source: knownRegistry.name,
|
|
53
|
+
fromCache: false,
|
|
54
|
+
error: 'Failed to resolve IPNS name',
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
// Fetch registry from IPFS
|
|
58
|
+
console.log(`[Discovery] Fetching from IPFS: ${resolution.cid}`);
|
|
59
|
+
const registry = await this.fetchRegistry(resolution.cid, knownRegistry.gateway);
|
|
60
|
+
if (!registry) {
|
|
61
|
+
return {
|
|
62
|
+
success: false,
|
|
63
|
+
source: knownRegistry.name,
|
|
64
|
+
fromCache: false,
|
|
65
|
+
cid: resolution.cid,
|
|
66
|
+
error: 'Failed to fetch registry from IPFS',
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
// Verify registry if trusted
|
|
70
|
+
if (knownRegistry.trusted && registry.registrySignature) {
|
|
71
|
+
const verified = this.verifyRegistry(registry, knownRegistry.publicKey);
|
|
72
|
+
if (!verified) {
|
|
73
|
+
console.warn(`[Discovery] Warning: Registry signature verification failed`);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// Cache the result
|
|
77
|
+
this.cacheRegistry(knownRegistry.ipnsName, registry);
|
|
78
|
+
return {
|
|
79
|
+
success: true,
|
|
80
|
+
registry,
|
|
81
|
+
source: knownRegistry.name,
|
|
82
|
+
fromCache: false,
|
|
83
|
+
cid: resolution.cid,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Resolve IPNS name to CID
|
|
88
|
+
*/
|
|
89
|
+
async resolveIPNS(ipnsName) {
|
|
90
|
+
// Check cache
|
|
91
|
+
const cached = this.ipnsCache.get(ipnsName);
|
|
92
|
+
if (cached && new Date(cached.expiresAt) > new Date()) {
|
|
93
|
+
return cached;
|
|
94
|
+
}
|
|
95
|
+
try {
|
|
96
|
+
// In production: Call IPFS gateway /api/v0/name/resolve
|
|
97
|
+
// For demo: Generate mock CID
|
|
98
|
+
const mockCid = this.generateMockCID(ipnsName);
|
|
99
|
+
const resolution = {
|
|
100
|
+
ipnsName,
|
|
101
|
+
cid: mockCid,
|
|
102
|
+
resolvedAt: new Date().toISOString(),
|
|
103
|
+
expiresAt: new Date(Date.now() + 3600000).toISOString(), // 1 hour
|
|
104
|
+
};
|
|
105
|
+
this.ipnsCache.set(ipnsName, resolution);
|
|
106
|
+
return resolution;
|
|
107
|
+
}
|
|
108
|
+
catch (error) {
|
|
109
|
+
console.error(`[Discovery] IPNS resolution failed:`, error);
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Fetch registry from IPFS gateway
|
|
115
|
+
*/
|
|
116
|
+
async fetchRegistry(cid, gateway) {
|
|
117
|
+
try {
|
|
118
|
+
const url = `${gateway}/ipfs/${cid}`;
|
|
119
|
+
console.log(`[Discovery] Fetching: ${url}`);
|
|
120
|
+
// In production: Actual HTTP fetch
|
|
121
|
+
// For demo: Return mock registry with Seraphine
|
|
122
|
+
const mockRegistry = this.createMockRegistry(cid);
|
|
123
|
+
return mockRegistry;
|
|
124
|
+
}
|
|
125
|
+
catch (error) {
|
|
126
|
+
console.error(`[Discovery] Fetch failed:`, error);
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Verify registry signature
|
|
132
|
+
*/
|
|
133
|
+
verifyRegistry(registry, expectedPublicKey) {
|
|
134
|
+
if (!registry.registrySignature) {
|
|
135
|
+
return false;
|
|
136
|
+
}
|
|
137
|
+
// In production: Actual Ed25519 verification
|
|
138
|
+
// For demo: Check signature length
|
|
139
|
+
return registry.registrySignature.length === 64;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Get cached registry
|
|
143
|
+
*/
|
|
144
|
+
getCachedRegistry(ipnsName) {
|
|
145
|
+
const cached = this.cache.get(ipnsName);
|
|
146
|
+
if (cached && cached.expiresAt > Date.now()) {
|
|
147
|
+
return cached.registry;
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Cache registry
|
|
153
|
+
*/
|
|
154
|
+
cacheRegistry(ipnsName, registry) {
|
|
155
|
+
this.cache.set(ipnsName, {
|
|
156
|
+
registry,
|
|
157
|
+
expiresAt: Date.now() + this.config.cacheExpiry,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Clear cache
|
|
162
|
+
*/
|
|
163
|
+
clearCache() {
|
|
164
|
+
this.cache.clear();
|
|
165
|
+
this.ipnsCache.clear();
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* List all known registries
|
|
169
|
+
*/
|
|
170
|
+
listRegistries() {
|
|
171
|
+
return this.config.registries;
|
|
172
|
+
}
|
|
173
|
+
/**
|
|
174
|
+
* Add a custom registry
|
|
175
|
+
*/
|
|
176
|
+
addRegistry(registry) {
|
|
177
|
+
const existing = this.config.registries.findIndex(r => r.name === registry.name);
|
|
178
|
+
if (existing >= 0) {
|
|
179
|
+
this.config.registries[existing] = registry;
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
this.config.registries.push(registry);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Generate mock CID for demo
|
|
187
|
+
*/
|
|
188
|
+
generateMockCID(input) {
|
|
189
|
+
const hash = crypto.createHash('sha256').update(input + 'registry').digest();
|
|
190
|
+
const prefix = 'bafybei';
|
|
191
|
+
const base32Chars = 'abcdefghijklmnopqrstuvwxyz234567';
|
|
192
|
+
let result = prefix;
|
|
193
|
+
for (let i = 0; i < 44; i++) {
|
|
194
|
+
result += base32Chars[hash[i % hash.length] % 32];
|
|
195
|
+
}
|
|
196
|
+
return result;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Create mock registry with Seraphine genesis
|
|
200
|
+
*/
|
|
201
|
+
createMockRegistry(cid) {
|
|
202
|
+
return {
|
|
203
|
+
version: '1.0.0',
|
|
204
|
+
updatedAt: new Date().toISOString(),
|
|
205
|
+
ipnsName: 'k51qzi5uqu5dj0w8q1xvqn8ql2g4p7x8qpk9vz3xm1y2n3o4p5q6r7s8t9u0v',
|
|
206
|
+
previousCid: undefined,
|
|
207
|
+
patterns: [
|
|
208
|
+
{
|
|
209
|
+
id: 'seraphine-genesis-v1',
|
|
210
|
+
name: 'seraphine-genesis',
|
|
211
|
+
displayName: 'Seraphine Genesis',
|
|
212
|
+
description: 'The foundational Claude Flow pattern model. Contains core routing patterns, complexity heuristics, and coordination trajectories for multi-agent swarms.',
|
|
213
|
+
version: '1.0.0',
|
|
214
|
+
cid: 'bafybeibqsa442vty2cvhku4ujlrkupyl75536ene7ybqsa442v',
|
|
215
|
+
size: 8808,
|
|
216
|
+
checksum: '8df766b89d044815c84796e7f33ba30d7806bff7eb2a75e2a0b7d26b64c45231',
|
|
217
|
+
author: {
|
|
218
|
+
id: 'claude-flow-team',
|
|
219
|
+
displayName: 'Claude Flow Team',
|
|
220
|
+
verified: true,
|
|
221
|
+
patterns: 1,
|
|
222
|
+
totalDownloads: 1000,
|
|
223
|
+
},
|
|
224
|
+
license: 'MIT',
|
|
225
|
+
categories: ['routing', 'coordination'],
|
|
226
|
+
tags: ['genesis', 'foundational', 'routing', 'swarm', 'coordination', 'multi-agent', 'hello-world'],
|
|
227
|
+
language: 'typescript',
|
|
228
|
+
framework: 'claude-flow',
|
|
229
|
+
downloads: 1000,
|
|
230
|
+
rating: 5.0,
|
|
231
|
+
ratingCount: 42,
|
|
232
|
+
lastUpdated: new Date().toISOString(),
|
|
233
|
+
createdAt: '2026-01-08T18:42:31.126Z',
|
|
234
|
+
minClaudeFlowVersion: '3.0.0',
|
|
235
|
+
verified: true,
|
|
236
|
+
trustLevel: 'verified',
|
|
237
|
+
signature: 'ed25519:genesis-pattern-signature',
|
|
238
|
+
publicKey: 'ed25519:claude-flow-team-key',
|
|
239
|
+
},
|
|
240
|
+
],
|
|
241
|
+
categories: [
|
|
242
|
+
{ id: 'routing', name: 'Task Routing', description: 'Task routing patterns', patternCount: 1, icon: '๐' },
|
|
243
|
+
{ id: 'coordination', name: 'Swarm Coordination', description: 'Multi-agent coordination', patternCount: 1, icon: '๐' },
|
|
244
|
+
{ id: 'security', name: 'Security', description: 'Security patterns', patternCount: 0, icon: '๐' },
|
|
245
|
+
{ id: 'performance', name: 'Performance', description: 'Performance patterns', patternCount: 0, icon: 'โก' },
|
|
246
|
+
{ id: 'testing', name: 'Testing', description: 'Testing patterns', patternCount: 0, icon: '๐งช' },
|
|
247
|
+
],
|
|
248
|
+
authors: [
|
|
249
|
+
{
|
|
250
|
+
id: 'claude-flow-team',
|
|
251
|
+
displayName: 'Claude Flow Team',
|
|
252
|
+
publicKey: 'ed25519:claude-flow-team-key',
|
|
253
|
+
verified: true,
|
|
254
|
+
patterns: 1,
|
|
255
|
+
totalDownloads: 1000,
|
|
256
|
+
},
|
|
257
|
+
],
|
|
258
|
+
totalPatterns: 1,
|
|
259
|
+
totalDownloads: 1000,
|
|
260
|
+
totalAuthors: 1,
|
|
261
|
+
featured: ['seraphine-genesis-v1'],
|
|
262
|
+
trending: ['seraphine-genesis-v1'],
|
|
263
|
+
newest: ['seraphine-genesis-v1'],
|
|
264
|
+
registrySignature: crypto.randomBytes(32).toString('hex'),
|
|
265
|
+
registryPublicKey: 'ed25519:claude-flow-registry-key',
|
|
266
|
+
};
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
/**
|
|
270
|
+
* Create discovery service with default config
|
|
271
|
+
*/
|
|
272
|
+
export function createDiscoveryService(config) {
|
|
273
|
+
return new PatternDiscovery(config);
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=discovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"discovery.js","sourceRoot":"","sources":["../../../../src/transfer/store/discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Download Service
|
|
3
|
+
* Secure download and verification of patterns from IPFS
|
|
4
|
+
*/
|
|
5
|
+
import type { PatternEntry, DownloadOptions, DownloadResult, StoreConfig } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Download progress callback
|
|
8
|
+
*/
|
|
9
|
+
export type DownloadProgressCallback = (progress: {
|
|
10
|
+
bytesDownloaded: number;
|
|
11
|
+
totalBytes: number;
|
|
12
|
+
percentage: number;
|
|
13
|
+
}) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Pattern Downloader
|
|
16
|
+
* Handles secure download and verification of patterns
|
|
17
|
+
*/
|
|
18
|
+
export declare class PatternDownloader {
|
|
19
|
+
private config;
|
|
20
|
+
private downloadCache;
|
|
21
|
+
constructor(config?: Partial<StoreConfig>);
|
|
22
|
+
/**
|
|
23
|
+
* Download a pattern from IPFS
|
|
24
|
+
*/
|
|
25
|
+
downloadPattern(pattern: PatternEntry, options?: DownloadOptions, onProgress?: DownloadProgressCallback): Promise<DownloadResult>;
|
|
26
|
+
/**
|
|
27
|
+
* Fetch content from IPFS gateway
|
|
28
|
+
*/
|
|
29
|
+
private fetchFromIPFS;
|
|
30
|
+
/**
|
|
31
|
+
* Verify content checksum
|
|
32
|
+
*/
|
|
33
|
+
private verifyChecksum;
|
|
34
|
+
/**
|
|
35
|
+
* Verify content signature
|
|
36
|
+
*/
|
|
37
|
+
private verifySignature;
|
|
38
|
+
/**
|
|
39
|
+
* Resolve output path for pattern
|
|
40
|
+
*/
|
|
41
|
+
private resolveOutputPath;
|
|
42
|
+
/**
|
|
43
|
+
* Import downloaded pattern
|
|
44
|
+
*/
|
|
45
|
+
private importPattern;
|
|
46
|
+
/**
|
|
47
|
+
* Generate mock content for demo
|
|
48
|
+
*/
|
|
49
|
+
private generateMockContent;
|
|
50
|
+
/**
|
|
51
|
+
* Clear download cache
|
|
52
|
+
*/
|
|
53
|
+
clearCache(): void;
|
|
54
|
+
/**
|
|
55
|
+
* Get cache statistics
|
|
56
|
+
*/
|
|
57
|
+
getCacheStats(): {
|
|
58
|
+
count: number;
|
|
59
|
+
totalSize: number;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Batch download multiple patterns
|
|
64
|
+
*/
|
|
65
|
+
export declare function batchDownload(patterns: PatternEntry[], options?: DownloadOptions, config?: Partial<StoreConfig>): Promise<DownloadResult[]>;
|
|
66
|
+
/**
|
|
67
|
+
* Create downloader with default config
|
|
68
|
+
*/
|
|
69
|
+
export declare function createDownloader(config?: Partial<StoreConfig>): PatternDownloader;
|
|
70
|
+
//# sourceMappingURL=download.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download.d.ts","sourceRoot":"","sources":["../../../../src/transfer/store/download.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,cAAc,EACd,WAAW,EACZ,MAAM,YAAY,CAAC;AAIpB;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB,KAAK,IAAI,CAAC;AAEX;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAAsD;gBAE/D,MAAM,GAAE,OAAO,CAAC,WAAW,CAAM;IAK7C;;OAEG;IACG,eAAe,CACnB,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,eAAoB,EAC7B,UAAU,CAAC,EAAE,wBAAwB,GACpC,OAAO,CAAC,cAAc,CAAC;IA0G1B;;OAEG;YACW,aAAa;IAqC3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;YACW,aAAa;IAyB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6C3B;;OAEG;IACH,UAAU,IAAI,IAAI;IAKlB;;OAEG;IACH,aAAa,IAAI;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CActD;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,YAAY,EAAE,EACxB,OAAO,GAAE,eAAoB,EAC7B,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,cAAc,EAAE,CAAC,CAU3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,iBAAiB,CAEjF"}
|