@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,205 @@
|
|
|
1
|
+
#!/usr/bin/env npx tsx
|
|
2
|
+
/**
|
|
3
|
+
* Deploy Seraphine Genesis Model
|
|
4
|
+
* Exports and uploads the first Claude Flow pattern model to IPFS
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx tsx deploy-seraphine.ts
|
|
8
|
+
* npx tsx deploy-seraphine.ts --output ./patterns/
|
|
9
|
+
* npx tsx deploy-seraphine.ts --to-ipfs
|
|
10
|
+
* npx tsx deploy-seraphine.ts --to-ipfs --anonymize strict
|
|
11
|
+
*/
|
|
12
|
+
import * as path from 'path';
|
|
13
|
+
import { fileURLToPath } from 'url';
|
|
14
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
+
const __dirname = path.dirname(__filename);
|
|
16
|
+
import { createSeraphineGenesis, getSeraphineInfo } from './models/seraphine.js';
|
|
17
|
+
import { exportPatterns } from './export.js';
|
|
18
|
+
import { validateCFP } from './serialization/cfp.js';
|
|
19
|
+
import { scanCFPForPII } from './anonymization/index.js';
|
|
20
|
+
/**
|
|
21
|
+
* Parse CLI arguments
|
|
22
|
+
*/
|
|
23
|
+
function parseArgs() {
|
|
24
|
+
const args = process.argv.slice(2);
|
|
25
|
+
const options = {
|
|
26
|
+
toIpfs: false,
|
|
27
|
+
anonymize: 'standard',
|
|
28
|
+
pin: true,
|
|
29
|
+
gateway: 'https://w3s.link',
|
|
30
|
+
validate: true,
|
|
31
|
+
verbose: false,
|
|
32
|
+
};
|
|
33
|
+
for (let i = 0; i < args.length; i++) {
|
|
34
|
+
const arg = args[i];
|
|
35
|
+
switch (arg) {
|
|
36
|
+
case '--output':
|
|
37
|
+
case '-o':
|
|
38
|
+
options.output = args[++i];
|
|
39
|
+
break;
|
|
40
|
+
case '--to-ipfs':
|
|
41
|
+
case '--ipfs':
|
|
42
|
+
options.toIpfs = true;
|
|
43
|
+
break;
|
|
44
|
+
case '--anonymize':
|
|
45
|
+
case '-a':
|
|
46
|
+
options.anonymize = args[++i];
|
|
47
|
+
break;
|
|
48
|
+
case '--no-pin':
|
|
49
|
+
options.pin = false;
|
|
50
|
+
break;
|
|
51
|
+
case '--gateway':
|
|
52
|
+
case '-g':
|
|
53
|
+
options.gateway = args[++i];
|
|
54
|
+
break;
|
|
55
|
+
case '--no-validate':
|
|
56
|
+
options.validate = false;
|
|
57
|
+
break;
|
|
58
|
+
case '--verbose':
|
|
59
|
+
case '-v':
|
|
60
|
+
options.verbose = true;
|
|
61
|
+
break;
|
|
62
|
+
case '--help':
|
|
63
|
+
case '-h':
|
|
64
|
+
printHelp();
|
|
65
|
+
process.exit(0);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return options;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Print help message
|
|
72
|
+
*/
|
|
73
|
+
function printHelp() {
|
|
74
|
+
console.log(`
|
|
75
|
+
Seraphine Genesis Deployer
|
|
76
|
+
==========================
|
|
77
|
+
|
|
78
|
+
Deploy the foundational Claude Flow pattern model.
|
|
79
|
+
|
|
80
|
+
Usage:
|
|
81
|
+
npx ts-node deploy-seraphine.ts [options]
|
|
82
|
+
|
|
83
|
+
Options:
|
|
84
|
+
--output, -o <path> Output file path
|
|
85
|
+
--to-ipfs, --ipfs Upload to IPFS
|
|
86
|
+
--anonymize, -a <level> Anonymization level (minimal|standard|strict|paranoid)
|
|
87
|
+
--gateway, -g <url> IPFS gateway URL
|
|
88
|
+
--no-pin Don't pin to pinning service
|
|
89
|
+
--no-validate Skip validation
|
|
90
|
+
--verbose, -v Verbose output
|
|
91
|
+
--help, -h Show this help
|
|
92
|
+
|
|
93
|
+
Examples:
|
|
94
|
+
npx ts-node deploy-seraphine.ts --output ./seraphine-genesis.cfp.json
|
|
95
|
+
npx ts-node deploy-seraphine.ts --to-ipfs --anonymize strict
|
|
96
|
+
npx ts-node deploy-seraphine.ts --to-ipfs --gateway https://dweb.link
|
|
97
|
+
`);
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Main deploy function
|
|
101
|
+
*/
|
|
102
|
+
async function deploy() {
|
|
103
|
+
const options = parseArgs();
|
|
104
|
+
console.log('');
|
|
105
|
+
console.log('╔══════════════════════════════════════════════════════════╗');
|
|
106
|
+
console.log('║ SERAPHINE GENESIS MODEL DEPLOYMENT ║');
|
|
107
|
+
console.log('║ The First Claude Flow Pattern Model ║');
|
|
108
|
+
console.log('╚══════════════════════════════════════════════════════════╝');
|
|
109
|
+
console.log('');
|
|
110
|
+
// Step 1: Create Seraphine Genesis
|
|
111
|
+
console.log('📦 Creating Seraphine Genesis Model...');
|
|
112
|
+
const genesis = createSeraphineGenesis();
|
|
113
|
+
const info = getSeraphineInfo();
|
|
114
|
+
console.log(` Name: ${info.name}`);
|
|
115
|
+
console.log(` Version: ${info.version}`);
|
|
116
|
+
console.log(` Description: ${info.description.slice(0, 60)}...`);
|
|
117
|
+
console.log('');
|
|
118
|
+
console.log(' Pattern Counts:');
|
|
119
|
+
for (const [type, count] of Object.entries(info.patternCounts)) {
|
|
120
|
+
console.log(` - ${type}: ${count}`);
|
|
121
|
+
}
|
|
122
|
+
console.log('');
|
|
123
|
+
// Step 2: Validate
|
|
124
|
+
if (options.validate) {
|
|
125
|
+
console.log('✅ Validating CFP format...');
|
|
126
|
+
const validation = validateCFP(genesis);
|
|
127
|
+
if (!validation.valid) {
|
|
128
|
+
console.error('❌ Validation failed:');
|
|
129
|
+
for (const error of validation.errors) {
|
|
130
|
+
console.error(` - ${error}`);
|
|
131
|
+
}
|
|
132
|
+
process.exit(1);
|
|
133
|
+
}
|
|
134
|
+
console.log(' Format is valid!');
|
|
135
|
+
console.log('');
|
|
136
|
+
}
|
|
137
|
+
// Step 3: Scan for PII
|
|
138
|
+
console.log('🔍 Scanning for PII...');
|
|
139
|
+
const piiScan = scanCFPForPII(genesis);
|
|
140
|
+
if (piiScan.found) {
|
|
141
|
+
console.log(` Found ${piiScan.count} PII items:`);
|
|
142
|
+
for (const [type, count] of Object.entries(piiScan.types)) {
|
|
143
|
+
console.log(` - ${type}: ${count}`);
|
|
144
|
+
}
|
|
145
|
+
console.log(' Will be redacted during export.');
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
console.log(' No PII detected!');
|
|
149
|
+
}
|
|
150
|
+
console.log('');
|
|
151
|
+
// Step 4: Export
|
|
152
|
+
console.log(`📤 Exporting with ${options.anonymize} anonymization...`);
|
|
153
|
+
const exportOptions = {
|
|
154
|
+
output: options.output,
|
|
155
|
+
toIpfs: options.toIpfs,
|
|
156
|
+
anonymize: options.anonymize,
|
|
157
|
+
pin: options.pin,
|
|
158
|
+
gateway: options.gateway,
|
|
159
|
+
format: 'json',
|
|
160
|
+
redactPii: true,
|
|
161
|
+
};
|
|
162
|
+
// If no output specified and not uploading to IPFS, create default output
|
|
163
|
+
if (!options.output && !options.toIpfs) {
|
|
164
|
+
const defaultOutput = path.join(process.cwd(), 'seraphine-genesis.cfp.json');
|
|
165
|
+
exportOptions.output = defaultOutput;
|
|
166
|
+
}
|
|
167
|
+
const result = await exportPatterns(genesis, exportOptions);
|
|
168
|
+
console.log('');
|
|
169
|
+
console.log('═══════════════════════════════════════════════════════════');
|
|
170
|
+
console.log(' DEPLOYMENT COMPLETE ');
|
|
171
|
+
console.log('═══════════════════════════════════════════════════════════');
|
|
172
|
+
console.log('');
|
|
173
|
+
if (result.success) {
|
|
174
|
+
console.log('✅ Successfully deployed Seraphine Genesis!');
|
|
175
|
+
console.log('');
|
|
176
|
+
console.log(' 📊 Export Summary:');
|
|
177
|
+
console.log(` Patterns: ${result.patternCount}`);
|
|
178
|
+
console.log(` Size: ${result.size} bytes`);
|
|
179
|
+
console.log(` Anonymization: ${result.anonymizationLevel}`);
|
|
180
|
+
if (result.outputPath) {
|
|
181
|
+
console.log('');
|
|
182
|
+
console.log(` 📁 File: ${result.outputPath}`);
|
|
183
|
+
}
|
|
184
|
+
if (result.cid) {
|
|
185
|
+
console.log('');
|
|
186
|
+
console.log(' 🌐 IPFS:');
|
|
187
|
+
console.log(` CID: ${result.cid}`);
|
|
188
|
+
console.log(` Gateway URL: ${result.gateway}/ipfs/${result.cid}`);
|
|
189
|
+
}
|
|
190
|
+
console.log('');
|
|
191
|
+
console.log(' 🎉 Hello World! The genesis pattern has been deployed.');
|
|
192
|
+
console.log(' 🌟 This is the first Claude Flow pattern ever shared.');
|
|
193
|
+
console.log('');
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
console.error('❌ Deployment failed!');
|
|
197
|
+
process.exit(1);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
// Run if executed directly
|
|
201
|
+
deploy().catch(error => {
|
|
202
|
+
console.error('Fatal error:', error);
|
|
203
|
+
process.exit(1);
|
|
204
|
+
});
|
|
205
|
+
//# sourceMappingURL=deploy-seraphine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-seraphine.js","sourceRoot":"","sources":["../../../src/transfer/deploy-seraphine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Export Pipeline
|
|
3
|
+
* Export patterns with anonymization and optional IPFS upload
|
|
4
|
+
*/
|
|
5
|
+
import type { CFPFormat, ExportOptions, ExportResult } from './types.js';
|
|
6
|
+
/**
|
|
7
|
+
* Export patterns to file or IPFS
|
|
8
|
+
*/
|
|
9
|
+
export declare function exportPatterns(cfp: CFPFormat, options?: ExportOptions): Promise<ExportResult>;
|
|
10
|
+
/**
|
|
11
|
+
* Export Seraphine genesis model
|
|
12
|
+
*/
|
|
13
|
+
export declare function exportSeraphine(options?: ExportOptions): Promise<ExportResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Quick export to file
|
|
16
|
+
*/
|
|
17
|
+
export declare function quickExport(cfp: CFPFormat, outputPath: string): Promise<ExportResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Quick export to IPFS
|
|
20
|
+
*/
|
|
21
|
+
export declare function quickExportToIPFS(cfp: CFPFormat, options?: {
|
|
22
|
+
gateway?: string;
|
|
23
|
+
pin?: boolean;
|
|
24
|
+
}): Promise<ExportResult>;
|
|
25
|
+
//# sourceMappingURL=export.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/transfer/export.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,aAAa,EACb,YAAY,EAEb,MAAM,YAAY,CAAC;AAKpB;;GAEG;AACH,wBAAsB,cAAc,CAClC,GAAG,EAAE,SAAS,EACd,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA8FvB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAKxF;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,SAAS,EACd,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,YAAY,CAAC,CAMvB;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,SAAS,EACd,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAChD,OAAO,CAAC,YAAY,CAAC,CAQvB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Export Pipeline
|
|
3
|
+
* Export patterns with anonymization and optional IPFS upload
|
|
4
|
+
*/
|
|
5
|
+
import * as fs from 'fs';
|
|
6
|
+
import * as path from 'path';
|
|
7
|
+
import { serializeToJson, serializeToBuffer, getFileExtension } from './serialization/cfp.js';
|
|
8
|
+
import { anonymizeCFP, scanCFPForPII } from './anonymization/index.js';
|
|
9
|
+
import { uploadToIPFS } from './ipfs/upload.js';
|
|
10
|
+
/**
|
|
11
|
+
* Export patterns to file or IPFS
|
|
12
|
+
*/
|
|
13
|
+
export async function exportPatterns(cfp, options = {}) {
|
|
14
|
+
const { output, format = 'json', anonymize = 'standard', redactPii = true, stripPaths = false, toIpfs = false, pin = true, gateway = 'https://w3s.link', } = options;
|
|
15
|
+
// Step 1: Scan for PII
|
|
16
|
+
const piiScan = scanCFPForPII(cfp);
|
|
17
|
+
if (piiScan.found && redactPii) {
|
|
18
|
+
console.log(`Found ${piiScan.count} PII items, will be redacted`);
|
|
19
|
+
}
|
|
20
|
+
// Step 2: Apply anonymization
|
|
21
|
+
const { cfp: anonymizedCfp, transforms } = anonymizeCFP(cfp, anonymize);
|
|
22
|
+
console.log(`Applied ${transforms.length} anonymization transforms: ${transforms.join(', ')}`);
|
|
23
|
+
// Step 3: Serialize
|
|
24
|
+
const serialized = format === 'json'
|
|
25
|
+
? serializeToJson(anonymizedCfp)
|
|
26
|
+
: serializeToBuffer(anonymizedCfp, format);
|
|
27
|
+
const size = typeof serialized === 'string' ? Buffer.byteLength(serialized) : serialized.length;
|
|
28
|
+
// Step 4: Output
|
|
29
|
+
let outputPath;
|
|
30
|
+
let cid;
|
|
31
|
+
if (toIpfs) {
|
|
32
|
+
// Upload to IPFS
|
|
33
|
+
const ipfsResult = await uploadToIPFS(Buffer.isBuffer(serialized) ? serialized : Buffer.from(serialized), {
|
|
34
|
+
pin,
|
|
35
|
+
gateway,
|
|
36
|
+
name: anonymizedCfp.metadata.name || 'patterns',
|
|
37
|
+
});
|
|
38
|
+
cid = ipfsResult.cid;
|
|
39
|
+
anonymizedCfp.ipfs = {
|
|
40
|
+
cid: ipfsResult.cid,
|
|
41
|
+
pinnedAt: ipfsResult.pinnedAt ? [ipfsResult.pinnedAt] : [],
|
|
42
|
+
gateway: ipfsResult.gateway,
|
|
43
|
+
size: ipfsResult.size,
|
|
44
|
+
};
|
|
45
|
+
console.log(`Uploaded to IPFS: ${cid}`);
|
|
46
|
+
console.log(`Gateway URL: ${gateway}/ipfs/${cid}`);
|
|
47
|
+
}
|
|
48
|
+
if (output) {
|
|
49
|
+
// Write to file
|
|
50
|
+
const ext = getFileExtension(format);
|
|
51
|
+
outputPath = output.endsWith(ext) ? output : output + ext;
|
|
52
|
+
// Ensure directory exists
|
|
53
|
+
const dir = path.dirname(outputPath);
|
|
54
|
+
if (!fs.existsSync(dir)) {
|
|
55
|
+
fs.mkdirSync(dir, { recursive: true });
|
|
56
|
+
}
|
|
57
|
+
// Write file
|
|
58
|
+
if (typeof serialized === 'string') {
|
|
59
|
+
fs.writeFileSync(outputPath, serialized, 'utf-8');
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
fs.writeFileSync(outputPath, serialized);
|
|
63
|
+
}
|
|
64
|
+
console.log(`Exported to: ${outputPath}`);
|
|
65
|
+
}
|
|
66
|
+
// Calculate pattern count
|
|
67
|
+
const patternCount = (cfp.patterns.routing?.length || 0) +
|
|
68
|
+
(cfp.patterns.complexity?.length || 0) +
|
|
69
|
+
(cfp.patterns.coverage?.length || 0) +
|
|
70
|
+
(cfp.patterns.trajectory?.length || 0) +
|
|
71
|
+
(cfp.patterns.custom?.length || 0);
|
|
72
|
+
return {
|
|
73
|
+
success: true,
|
|
74
|
+
outputPath,
|
|
75
|
+
cid,
|
|
76
|
+
gateway: cid ? gateway : undefined,
|
|
77
|
+
size,
|
|
78
|
+
patternCount,
|
|
79
|
+
anonymizationLevel: anonymize,
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Export Seraphine genesis model
|
|
84
|
+
*/
|
|
85
|
+
export async function exportSeraphine(options = {}) {
|
|
86
|
+
// Dynamically import to avoid circular dependency
|
|
87
|
+
const { createSeraphineGenesis } = await import('./models/seraphine.js');
|
|
88
|
+
const genesis = createSeraphineGenesis();
|
|
89
|
+
return exportPatterns(genesis, options);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Quick export to file
|
|
93
|
+
*/
|
|
94
|
+
export async function quickExport(cfp, outputPath) {
|
|
95
|
+
return exportPatterns(cfp, {
|
|
96
|
+
output: outputPath,
|
|
97
|
+
format: 'json',
|
|
98
|
+
anonymize: 'standard',
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Quick export to IPFS
|
|
103
|
+
*/
|
|
104
|
+
export async function quickExportToIPFS(cfp, options = {}) {
|
|
105
|
+
return exportPatterns(cfp, {
|
|
106
|
+
toIpfs: true,
|
|
107
|
+
pin: options.pin ?? true,
|
|
108
|
+
gateway: options.gateway ?? 'https://w3s.link',
|
|
109
|
+
format: 'json',
|
|
110
|
+
anonymize: 'strict',
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=export.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../src/transfer/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transfer Module
|
|
3
|
+
* Pattern export, import, anonymization, and IPFS sharing
|
|
4
|
+
*/
|
|
5
|
+
export * from './types.js';
|
|
6
|
+
export { createCFP, serializeToJson, serializeToBuffer, deserializeCFP, validateCFP, getFileExtension, detectFormat, } from './serialization/cfp.js';
|
|
7
|
+
export { detectPII, redactPII, anonymizeCFP, scanCFPForPII, } from './anonymization/index.js';
|
|
8
|
+
export { exportPatterns, exportSeraphine, quickExport, quickExportToIPFS, } from './export.js';
|
|
9
|
+
export { uploadToIPFS, pinContent, unpinContent, checkContent, getGatewayURL, getIPNSURL, } from './ipfs/upload.js';
|
|
10
|
+
export { SERAPHINE_VERSION, SERAPHINE_METADATA, SERAPHINE_ROUTING_PATTERNS, SERAPHINE_COMPLEXITY_PATTERNS, SERAPHINE_COVERAGE_PATTERNS, SERAPHINE_TRAJECTORY_PATTERNS, SERAPHINE_CUSTOM_PATTERNS, createSeraphinePatterns, createSeraphineGenesis, getSeraphineInfo, } from './models/seraphine.js';
|
|
11
|
+
export { type PatternEntry, type PatternAuthor, type PatternCategory, type PatternRegistry, type SearchOptions, type SearchResult, type PublishOptions, type PublishResult, type DownloadOptions, type DownloadResult, type KnownRegistry, type StoreConfig, type DiscoveryResult, type IPNSResolution, type DownloadProgressCallback, type ContributionRequest, REGISTRY_VERSION, BOOTSTRAP_REGISTRIES, DEFAULT_STORE_CONFIG, createRegistry, getDefaultCategories, addPatternToRegistry, removePatternFromRegistry, serializeRegistry, deserializeRegistry, signRegistry, verifyRegistrySignature, mergeRegistries, generatePatternId, PatternDiscovery, createDiscoveryService, searchPatterns, getFeaturedPatterns, getTrendingPatterns, getNewestPatterns, getPatternById, getPatternByName, getPatternsByAuthor, getPatternsByCategory, getSimilarPatterns, getCategoryStats, getTagCloud, getSearchSuggestions, PatternDownloader, batchDownload, createDownloader, PatternPublisher, submitContribution, checkContributionStatus, createPublisher, quickPublish, PatternStore, createPatternStore, } from './store/index.js';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,cAAc,YAAY,CAAC;AAG3B,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EAGxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EAGjB,gBAAgB,EAChB,sBAAsB,EAGtB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,EAGpB,iBAAiB,EACjB,aAAa,EACb,gBAAgB,EAGhB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,YAAY,EAGZ,YAAY,EACZ,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transfer Module
|
|
3
|
+
* Pattern export, import, anonymization, and IPFS sharing
|
|
4
|
+
*/
|
|
5
|
+
// Types
|
|
6
|
+
export * from './types.js';
|
|
7
|
+
// Serialization
|
|
8
|
+
export { createCFP, serializeToJson, serializeToBuffer, deserializeCFP, validateCFP, getFileExtension, detectFormat, } from './serialization/cfp.js';
|
|
9
|
+
// Anonymization
|
|
10
|
+
export { detectPII, redactPII, anonymizeCFP, scanCFPForPII, } from './anonymization/index.js';
|
|
11
|
+
// Export
|
|
12
|
+
export { exportPatterns, exportSeraphine, quickExport, quickExportToIPFS, } from './export.js';
|
|
13
|
+
// IPFS
|
|
14
|
+
export { uploadToIPFS, pinContent, unpinContent, checkContent, getGatewayURL, getIPNSURL, } from './ipfs/upload.js';
|
|
15
|
+
// Models
|
|
16
|
+
export { SERAPHINE_VERSION, SERAPHINE_METADATA, SERAPHINE_ROUTING_PATTERNS, SERAPHINE_COMPLEXITY_PATTERNS, SERAPHINE_COVERAGE_PATTERNS, SERAPHINE_TRAJECTORY_PATTERNS, SERAPHINE_CUSTOM_PATTERNS, createSeraphinePatterns, createSeraphineGenesis, getSeraphineInfo, } from './models/seraphine.js';
|
|
17
|
+
// Store - Decentralized Pattern Marketplace
|
|
18
|
+
export {
|
|
19
|
+
// Registry
|
|
20
|
+
REGISTRY_VERSION, BOOTSTRAP_REGISTRIES, DEFAULT_STORE_CONFIG, createRegistry, getDefaultCategories, addPatternToRegistry, removePatternFromRegistry, serializeRegistry, deserializeRegistry, signRegistry, verifyRegistrySignature, mergeRegistries, generatePatternId,
|
|
21
|
+
// Discovery
|
|
22
|
+
PatternDiscovery, createDiscoveryService,
|
|
23
|
+
// Search
|
|
24
|
+
searchPatterns, getFeaturedPatterns, getTrendingPatterns, getNewestPatterns, getPatternById, getPatternByName, getPatternsByAuthor, getPatternsByCategory, getSimilarPatterns, getCategoryStats, getTagCloud, getSearchSuggestions,
|
|
25
|
+
// Download
|
|
26
|
+
PatternDownloader, batchDownload, createDownloader,
|
|
27
|
+
// Publish
|
|
28
|
+
PatternPublisher, submitContribution, checkContributionStatus, createPublisher, quickPublish,
|
|
29
|
+
// High-level API
|
|
30
|
+
PatternStore, createPatternStore, } from './store/index.js';
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/transfer/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,QAAQ;AACR,cAAc,YAAY,CAAC;AAE3B,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,WAAW,EACX,gBAAgB,EAChB,YAAY,GACb,MAAM,wBAAwB,CAAC;AAEhC,gBAAgB;AAChB,OAAO,EACL,SAAS,EACT,SAAS,EACT,YAAY,EACZ,aAAa,GACd,MAAM,0BAA0B,CAAC;AAElC,SAAS;AACT,OAAO,EACL,cAAc,EACd,eAAe,EACf,WAAW,EACX,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAErB,OAAO;AACP,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,UAAU,GACX,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,EAC1B,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACtB,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAE/B,4CAA4C;AAC5C,OAAO;AAmBL,WAAW;AACX,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,yBAAyB,EACzB,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,uBAAuB,EACvB,eAAe,EACf,iBAAiB;AAEjB,YAAY;AACZ,gBAAgB,EAChB,sBAAsB;AAEtB,SAAS;AACT,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,oBAAoB;AAEpB,WAAW;AACX,iBAAiB,EACjB,aAAa,EACb,gBAAgB;AAEhB,UAAU;AACV,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,YAAY;AAEZ,iBAAiB;AACjB,YAAY,EACZ,kBAAkB,GACnB,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPFS Client Module
|
|
3
|
+
* Low-level IPFS operations for discovery and fetching
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Resolve IPNS name to CID
|
|
7
|
+
* In production: Use ipfs-http-client or similar
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveIPNS(ipnsName: string, gateway?: string): Promise<string | null>;
|
|
10
|
+
/**
|
|
11
|
+
* Fetch content from IPFS by CID
|
|
12
|
+
* In production: Use ipfs-http-client or gateway fetch
|
|
13
|
+
*/
|
|
14
|
+
export declare function fetchFromIPFS<T>(cid: string, gateway?: string): Promise<T | null>;
|
|
15
|
+
/**
|
|
16
|
+
* Check if CID is pinned
|
|
17
|
+
*/
|
|
18
|
+
export declare function isPinned(cid: string, gateway?: string): Promise<boolean>;
|
|
19
|
+
/**
|
|
20
|
+
* Get IPFS gateway URL for a CID
|
|
21
|
+
*/
|
|
22
|
+
export declare function getGatewayUrl(cid: string, gateway?: string): string;
|
|
23
|
+
/**
|
|
24
|
+
* Validate CID format
|
|
25
|
+
*/
|
|
26
|
+
export declare function isValidCID(cid: string): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Generate content hash for verification
|
|
29
|
+
*/
|
|
30
|
+
export declare function hashContent(content: Buffer): string;
|
|
31
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/transfer/ipfs/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,MAA0B,GAClC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgBxB;AAED;;;GAGG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAA0B,GAClC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAkBnB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAC5B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAA0B,GAClC,OAAO,CAAC,OAAO,CAAC,CAGlB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAA0B,GAAG,MAAM,CAEtF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAI/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPFS Client Module
|
|
3
|
+
* Low-level IPFS operations for discovery and fetching
|
|
4
|
+
*/
|
|
5
|
+
import * as crypto from 'crypto';
|
|
6
|
+
/**
|
|
7
|
+
* Resolve IPNS name to CID
|
|
8
|
+
* In production: Use ipfs-http-client or similar
|
|
9
|
+
*/
|
|
10
|
+
export async function resolveIPNS(ipnsName, gateway = 'https://ipfs.io') {
|
|
11
|
+
console.log(`[IPFS] Resolving IPNS: ${ipnsName}`);
|
|
12
|
+
// In production: Use IPNS resolution
|
|
13
|
+
// For demo: Return null to trigger fallback to demo registry
|
|
14
|
+
try {
|
|
15
|
+
// Simulate IPNS resolution delay
|
|
16
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
17
|
+
// For demo purposes, return null to use local demo data
|
|
18
|
+
// In production, this would do actual IPNS resolution
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
catch (error) {
|
|
22
|
+
console.warn(`[IPFS] IPNS resolution failed:`, error);
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Fetch content from IPFS by CID
|
|
28
|
+
* In production: Use ipfs-http-client or gateway fetch
|
|
29
|
+
*/
|
|
30
|
+
export async function fetchFromIPFS(cid, gateway = 'https://ipfs.io') {
|
|
31
|
+
console.log(`[IPFS] Fetching CID: ${cid}`);
|
|
32
|
+
try {
|
|
33
|
+
// Simulate fetch delay
|
|
34
|
+
await new Promise(resolve => setTimeout(resolve, 100));
|
|
35
|
+
// For demo purposes, return null to use local demo data
|
|
36
|
+
// In production, this would fetch from IPFS gateway
|
|
37
|
+
// const url = `${gateway}/ipfs/${cid}`;
|
|
38
|
+
// const response = await fetch(url);
|
|
39
|
+
// return await response.json();
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
console.warn(`[IPFS] Fetch failed:`, error);
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if CID is pinned
|
|
49
|
+
*/
|
|
50
|
+
export async function isPinned(cid, gateway = 'https://ipfs.io') {
|
|
51
|
+
// In production: Check with pinning service
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get IPFS gateway URL for a CID
|
|
56
|
+
*/
|
|
57
|
+
export function getGatewayUrl(cid, gateway = 'https://ipfs.io') {
|
|
58
|
+
return `${gateway}/ipfs/${cid}`;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Validate CID format
|
|
62
|
+
*/
|
|
63
|
+
export function isValidCID(cid) {
|
|
64
|
+
// CIDv0 starts with 'Qm' and is 46 characters
|
|
65
|
+
// CIDv1 starts with 'b' (base32) and varies in length
|
|
66
|
+
return /^(Qm[1-9A-HJ-NP-Za-km-z]{44}|b[a-z2-7]{58,})$/.test(cid);
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Generate content hash for verification
|
|
70
|
+
*/
|
|
71
|
+
export function hashContent(content) {
|
|
72
|
+
return crypto.createHash('sha256').update(content).digest('hex');
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/transfer/ipfs/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAgB,EAChB,UAAkB,iBAAiB;IAEnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;IAElD,qCAAqC;IACrC,6DAA6D;IAC7D,IAAI,CAAC;QACH,iCAAiC;QACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,wDAAwD;QACxD,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,UAAkB,iBAAiB;IAEnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IAE3C,IAAI,CAAC;QACH,uBAAuB;QACvB,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEvD,wDAAwD;QACxD,oDAAoD;QACpD,wCAAwC;QACxC,qCAAqC;QACrC,gCAAgC;QAEhC,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,GAAW,EACX,UAAkB,iBAAiB;IAEnC,4CAA4C;IAC5C,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,GAAW,EAAE,UAAkB,iBAAiB;IAC5E,OAAO,GAAG,OAAO,SAAS,GAAG,EAAE,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAW;IACpC,8CAA8C;IAC9C,sDAAsD;IACtD,OAAO,+CAA+C,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,OAAe;IACzC,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* IPFS Upload Module
|
|
3
|
+
* Real upload support via web3.storage, Pinata, or local IPFS
|
|
4
|
+
*
|
|
5
|
+
* @module @claude-flow/cli/transfer/ipfs/upload
|
|
6
|
+
* @version 3.0.0
|
|
7
|
+
*/
|
|
8
|
+
import type { PinningService } from '../types.js';
|
|
9
|
+
/**
|
|
10
|
+
* IPFS upload options
|
|
11
|
+
*/
|
|
12
|
+
export interface IPFSUploadOptions {
|
|
13
|
+
pin?: boolean;
|
|
14
|
+
pinningService?: PinningService;
|
|
15
|
+
gateway?: string;
|
|
16
|
+
name?: string;
|
|
17
|
+
wrapWithDirectory?: boolean;
|
|
18
|
+
apiKey?: string;
|
|
19
|
+
apiSecret?: string;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* IPFS upload result
|
|
23
|
+
*/
|
|
24
|
+
export interface IPFSUploadResult {
|
|
25
|
+
cid: string;
|
|
26
|
+
size: number;
|
|
27
|
+
gateway: string;
|
|
28
|
+
pinnedAt?: string;
|
|
29
|
+
url: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Upload content to IPFS
|
|
33
|
+
*
|
|
34
|
+
* Supports:
|
|
35
|
+
* - web3.storage (WEB3_STORAGE_TOKEN)
|
|
36
|
+
* - Pinata (PINATA_API_KEY + PINATA_API_SECRET)
|
|
37
|
+
* - Demo mode (generates deterministic CIDs when no credentials)
|
|
38
|
+
*/
|
|
39
|
+
export declare function uploadToIPFS(content: Buffer, options?: IPFSUploadOptions): Promise<IPFSUploadResult>;
|
|
40
|
+
/**
|
|
41
|
+
* Pin content by CID
|
|
42
|
+
*/
|
|
43
|
+
export declare function pinContent(cid: string, options?: {
|
|
44
|
+
service?: PinningService;
|
|
45
|
+
name?: string;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
success: boolean;
|
|
48
|
+
pinnedAt: string;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Unpin content by CID
|
|
52
|
+
*/
|
|
53
|
+
export declare function unpinContent(cid: string, options?: {
|
|
54
|
+
service?: PinningService;
|
|
55
|
+
}): Promise<{
|
|
56
|
+
success: boolean;
|
|
57
|
+
}>;
|
|
58
|
+
/**
|
|
59
|
+
* Check if content exists on IPFS
|
|
60
|
+
*/
|
|
61
|
+
export declare function checkContent(cid: string, gateway?: string): Promise<{
|
|
62
|
+
exists: boolean;
|
|
63
|
+
size?: number;
|
|
64
|
+
}>;
|
|
65
|
+
/**
|
|
66
|
+
* Get gateway URL for CID
|
|
67
|
+
*/
|
|
68
|
+
export declare function getGatewayURL(cid: string, gateway?: string): string;
|
|
69
|
+
/**
|
|
70
|
+
* Get IPNS URL for name
|
|
71
|
+
*/
|
|
72
|
+
export declare function getIPNSURL(name: string, gateway?: string): string;
|
|
73
|
+
/**
|
|
74
|
+
* Check if real IPFS credentials are available
|
|
75
|
+
*/
|
|
76
|
+
export declare function hasIPFSCredentials(): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Get IPFS service status
|
|
79
|
+
*/
|
|
80
|
+
export declare function getIPFSServiceStatus(): {
|
|
81
|
+
service: 'web3storage' | 'pinata' | 'demo';
|
|
82
|
+
configured: boolean;
|
|
83
|
+
message: string;
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=upload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"upload.d.ts","sourceRoot":"","sources":["../../../../src/transfer/ipfs/upload.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAc,cAAc,EAAE,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;CACb;AAqKD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,iBAAsB,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CA2D3B;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,cAAc,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAsCjD;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;IAAE,OAAO,CAAC,EAAE,cAAc,CAAA;CAAO,GACzC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CA8B/B;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,MAA2B,GACnC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAkB7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,MAA2B,GAAG,MAAM,CAEvF;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,MAA2B,GAAG,MAAM,CAErF;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI;IACtC,OAAO,EAAE,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC3C,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAyBA"}
|