@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.
Files changed (139) hide show
  1. package/.claude/settings.json +2 -2
  2. package/dist/src/commands/hooks.d.ts.map +1 -1
  3. package/dist/src/commands/hooks.js +45 -5
  4. package/dist/src/commands/hooks.js.map +1 -1
  5. package/dist/src/commands/init.d.ts.map +1 -1
  6. package/dist/src/commands/init.js +80 -9
  7. package/dist/src/commands/init.js.map +1 -1
  8. package/dist/src/commands/memory.d.ts.map +1 -1
  9. package/dist/src/commands/memory.js +221 -2
  10. package/dist/src/commands/memory.js.map +1 -1
  11. package/dist/src/commands/plugins.d.ts +1 -0
  12. package/dist/src/commands/plugins.d.ts.map +1 -1
  13. package/dist/src/commands/plugins.js +439 -89
  14. package/dist/src/commands/plugins.js.map +1 -1
  15. package/dist/src/commands/transfer-store.d.ts +13 -0
  16. package/dist/src/commands/transfer-store.d.ts.map +1 -0
  17. package/dist/src/commands/transfer-store.js +428 -0
  18. package/dist/src/commands/transfer-store.js.map +1 -0
  19. package/dist/src/init/mcp-generator.d.ts +9 -0
  20. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  21. package/dist/src/init/mcp-generator.js +57 -28
  22. package/dist/src/init/mcp-generator.js.map +1 -1
  23. package/dist/src/init/settings-generator.d.ts.map +1 -1
  24. package/dist/src/init/settings-generator.js +4 -2
  25. package/dist/src/init/settings-generator.js.map +1 -1
  26. package/dist/src/mcp-tools/index.d.ts +1 -0
  27. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  28. package/dist/src/mcp-tools/index.js +1 -0
  29. package/dist/src/mcp-tools/index.js.map +1 -1
  30. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  31. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
  32. package/dist/src/mcp-tools/transfer-tools.js +396 -0
  33. package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
  34. package/dist/src/plugins/store/discovery.d.ts +73 -0
  35. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  36. package/dist/src/plugins/store/discovery.js +568 -0
  37. package/dist/src/plugins/store/discovery.js.map +1 -0
  38. package/dist/src/plugins/store/index.d.ts +76 -0
  39. package/dist/src/plugins/store/index.d.ts.map +1 -0
  40. package/dist/src/plugins/store/index.js +141 -0
  41. package/dist/src/plugins/store/index.js.map +1 -0
  42. package/dist/src/plugins/store/search.d.ts +46 -0
  43. package/dist/src/plugins/store/search.d.ts.map +1 -0
  44. package/dist/src/plugins/store/search.js +230 -0
  45. package/dist/src/plugins/store/search.js.map +1 -0
  46. package/dist/src/plugins/store/types.d.ts +274 -0
  47. package/dist/src/plugins/store/types.d.ts.map +1 -0
  48. package/dist/src/plugins/store/types.js +7 -0
  49. package/dist/src/plugins/store/types.js.map +1 -0
  50. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  51. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
  52. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  53. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
  54. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  55. package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
  56. package/dist/src/plugins/tests/standalone-test.js +188 -0
  57. package/dist/src/plugins/tests/standalone-test.js.map +1 -0
  58. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  59. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
  60. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  61. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
  62. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  63. package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
  64. package/dist/src/transfer/anonymization/index.js +175 -0
  65. package/dist/src/transfer/anonymization/index.js.map +1 -0
  66. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  67. package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
  68. package/dist/src/transfer/deploy-seraphine.js +205 -0
  69. package/dist/src/transfer/deploy-seraphine.js.map +1 -0
  70. package/dist/src/transfer/export.d.ts +25 -0
  71. package/dist/src/transfer/export.d.ts.map +1 -0
  72. package/dist/src/transfer/export.js +113 -0
  73. package/dist/src/transfer/export.js.map +1 -0
  74. package/dist/src/transfer/index.d.ts +12 -0
  75. package/dist/src/transfer/index.d.ts.map +1 -0
  76. package/dist/src/transfer/index.js +31 -0
  77. package/dist/src/transfer/index.js.map +1 -0
  78. package/dist/src/transfer/ipfs/client.d.ts +31 -0
  79. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  80. package/dist/src/transfer/ipfs/client.js +74 -0
  81. package/dist/src/transfer/ipfs/client.js.map +1 -0
  82. package/dist/src/transfer/ipfs/upload.d.ts +85 -0
  83. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  84. package/dist/src/transfer/ipfs/upload.js +319 -0
  85. package/dist/src/transfer/ipfs/upload.js.map +1 -0
  86. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  87. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  88. package/dist/src/transfer/models/seraphine.js +373 -0
  89. package/dist/src/transfer/models/seraphine.js.map +1 -0
  90. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  91. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  92. package/dist/src/transfer/serialization/cfp.js +180 -0
  93. package/dist/src/transfer/serialization/cfp.js.map +1 -0
  94. package/dist/src/transfer/store/discovery.d.ts +84 -0
  95. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  96. package/dist/src/transfer/store/discovery.js +275 -0
  97. package/dist/src/transfer/store/discovery.js.map +1 -0
  98. package/dist/src/transfer/store/download.d.ts +70 -0
  99. package/dist/src/transfer/store/download.d.ts.map +1 -0
  100. package/dist/src/transfer/store/download.js +295 -0
  101. package/dist/src/transfer/store/download.js.map +1 -0
  102. package/dist/src/transfer/store/index.d.ts +84 -0
  103. package/dist/src/transfer/store/index.d.ts.map +1 -0
  104. package/dist/src/transfer/store/index.js +153 -0
  105. package/dist/src/transfer/store/index.js.map +1 -0
  106. package/dist/src/transfer/store/publish.d.ts +76 -0
  107. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  108. package/dist/src/transfer/store/publish.js +262 -0
  109. package/dist/src/transfer/store/publish.js.map +1 -0
  110. package/dist/src/transfer/store/registry.d.ts +58 -0
  111. package/dist/src/transfer/store/registry.d.ts.map +1 -0
  112. package/dist/src/transfer/store/registry.js +285 -0
  113. package/dist/src/transfer/store/registry.js.map +1 -0
  114. package/dist/src/transfer/store/search.d.ts +54 -0
  115. package/dist/src/transfer/store/search.d.ts.map +1 -0
  116. package/dist/src/transfer/store/search.js +232 -0
  117. package/dist/src/transfer/store/search.js.map +1 -0
  118. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  119. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
  120. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  121. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
  122. package/dist/src/transfer/store/types.d.ts +193 -0
  123. package/dist/src/transfer/store/types.d.ts.map +1 -0
  124. package/dist/src/transfer/store/types.js +6 -0
  125. package/dist/src/transfer/store/types.js.map +1 -0
  126. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  127. package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
  128. package/dist/src/transfer/test-seraphine.js +105 -0
  129. package/dist/src/transfer/test-seraphine.js.map +1 -0
  130. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  131. package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
  132. package/dist/src/transfer/tests/test-store.js +214 -0
  133. package/dist/src/transfer/tests/test-store.js.map +1 -0
  134. package/dist/src/transfer/types.d.ts +245 -0
  135. package/dist/src/transfer/types.d.ts.map +1 -0
  136. package/dist/src/transfer/types.js +6 -0
  137. package/dist/src/transfer/types.js.map +1 -0
  138. package/dist/tsconfig.tsbuildinfo +1 -1
  139. package/package.json +3 -1
@@ -0,0 +1,319 @@
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 * as crypto from 'crypto';
9
+ /**
10
+ * Get web3.storage token from environment or config
11
+ */
12
+ function getWeb3StorageToken() {
13
+ return process.env.WEB3_STORAGE_TOKEN ||
14
+ process.env.W3_TOKEN ||
15
+ process.env.IPFS_TOKEN;
16
+ }
17
+ /**
18
+ * Generate a CID from content (for demo mode when no token available)
19
+ * Uses CIDv1 with dag-pb codec and sha2-256 multihash
20
+ */
21
+ function generateDemoCID(content) {
22
+ const hash = crypto.createHash('sha256').update(content).digest();
23
+ // CIDv1 with dag-pb codec and sha2-256 multihash
24
+ const prefix = Buffer.from([0x01, 0x70, 0x12, 0x20]);
25
+ const cidBytes = Buffer.concat([prefix, hash]);
26
+ // Base32 encode
27
+ const base32Chars = 'abcdefghijklmnopqrstuvwxyz234567';
28
+ let result = 'bafybei';
29
+ for (let i = 0; i < 44; i++) {
30
+ const byte = cidBytes[i % cidBytes.length] || 0;
31
+ result += base32Chars[byte % 32];
32
+ }
33
+ return result;
34
+ }
35
+ /**
36
+ * Upload to web3.storage (real IPFS)
37
+ */
38
+ async function uploadToWeb3Storage(content, options) {
39
+ const token = options.apiKey || getWeb3StorageToken();
40
+ if (!token) {
41
+ throw new Error('Web3.storage token not found. Set WEB3_STORAGE_TOKEN environment variable.\n' +
42
+ 'Get a free token at: https://web3.storage');
43
+ }
44
+ const endpoint = options.endpoint || 'https://api.web3.storage';
45
+ const name = options.name || 'pattern.cfp.json';
46
+ console.log(`[IPFS] Uploading ${content.length} bytes to web3.storage...`);
47
+ // Create FormData-like body for upload
48
+ const boundary = '----WebKitFormBoundary' + crypto.randomBytes(16).toString('hex');
49
+ const body = Buffer.concat([
50
+ Buffer.from(`--${boundary}\r\n`),
51
+ Buffer.from(`Content-Disposition: form-data; name="file"; filename="${name}"\r\n`),
52
+ Buffer.from(`Content-Type: application/json\r\n\r\n`),
53
+ content,
54
+ Buffer.from(`\r\n--${boundary}--\r\n`),
55
+ ]);
56
+ const response = await fetch(`${endpoint}/upload`, {
57
+ method: 'POST',
58
+ headers: {
59
+ 'Authorization': `Bearer ${token}`,
60
+ 'Content-Type': `multipart/form-data; boundary=${boundary}`,
61
+ },
62
+ body,
63
+ });
64
+ if (!response.ok) {
65
+ const error = await response.text();
66
+ throw new Error(`Web3.storage upload failed: ${response.status} ${error}`);
67
+ }
68
+ const result = await response.json();
69
+ const cid = result.cid;
70
+ const gateway = options.gateway || 'https://w3s.link';
71
+ console.log(`[IPFS] Upload complete!`);
72
+ console.log(`[IPFS] CID: ${cid}`);
73
+ return {
74
+ cid,
75
+ size: content.length,
76
+ gateway,
77
+ pinnedAt: new Date().toISOString(),
78
+ url: `${gateway}/ipfs/${cid}`,
79
+ };
80
+ }
81
+ /**
82
+ * Upload to Pinata
83
+ */
84
+ async function uploadToPinata(content, options) {
85
+ const apiKey = options.apiKey || process.env.PINATA_API_KEY;
86
+ const apiSecret = options.apiSecret || process.env.PINATA_API_SECRET;
87
+ if (!apiKey || !apiSecret) {
88
+ throw new Error('Pinata API credentials not found. Set PINATA_API_KEY and PINATA_API_SECRET.\n' +
89
+ 'Get credentials at: https://pinata.cloud');
90
+ }
91
+ const name = options.name || 'pattern.cfp.json';
92
+ console.log(`[IPFS] Uploading ${content.length} bytes to Pinata...`);
93
+ const boundary = '----WebKitFormBoundary' + crypto.randomBytes(16).toString('hex');
94
+ const metadata = JSON.stringify({ name });
95
+ const body = Buffer.concat([
96
+ Buffer.from(`--${boundary}\r\n`),
97
+ Buffer.from(`Content-Disposition: form-data; name="pinataMetadata"\r\n\r\n`),
98
+ Buffer.from(`${metadata}\r\n`),
99
+ Buffer.from(`--${boundary}\r\n`),
100
+ Buffer.from(`Content-Disposition: form-data; name="file"; filename="${name}"\r\n`),
101
+ Buffer.from(`Content-Type: application/json\r\n\r\n`),
102
+ content,
103
+ Buffer.from(`\r\n--${boundary}--\r\n`),
104
+ ]);
105
+ const response = await fetch('https://api.pinata.cloud/pinning/pinFileToIPFS', {
106
+ method: 'POST',
107
+ headers: {
108
+ 'pinata_api_key': apiKey,
109
+ 'pinata_secret_api_key': apiSecret,
110
+ 'Content-Type': `multipart/form-data; boundary=${boundary}`,
111
+ },
112
+ body,
113
+ });
114
+ if (!response.ok) {
115
+ const error = await response.text();
116
+ throw new Error(`Pinata upload failed: ${response.status} ${error}`);
117
+ }
118
+ const result = await response.json();
119
+ const cid = result.IpfsHash;
120
+ const gateway = options.gateway || 'https://gateway.pinata.cloud';
121
+ console.log(`[IPFS] Upload complete!`);
122
+ console.log(`[IPFS] CID: ${cid}`);
123
+ return {
124
+ cid,
125
+ size: content.length,
126
+ gateway,
127
+ pinnedAt: new Date().toISOString(),
128
+ url: `${gateway}/ipfs/${cid}`,
129
+ };
130
+ }
131
+ /**
132
+ * Upload content to IPFS
133
+ *
134
+ * Supports:
135
+ * - web3.storage (WEB3_STORAGE_TOKEN)
136
+ * - Pinata (PINATA_API_KEY + PINATA_API_SECRET)
137
+ * - Demo mode (generates deterministic CIDs when no credentials)
138
+ */
139
+ export async function uploadToIPFS(content, options = {}) {
140
+ const { pin = true, pinningService, gateway = 'https://w3s.link', name = 'pattern', } = options;
141
+ // Try real IPFS services first
142
+ const web3Token = getWeb3StorageToken();
143
+ const pinataKey = process.env.PINATA_API_KEY;
144
+ // Determine which service to use
145
+ if (pinningService === 'pinata' || (pinataKey && !web3Token)) {
146
+ try {
147
+ return await uploadToPinata(content, options);
148
+ }
149
+ catch (error) {
150
+ console.warn(`[IPFS] Pinata upload failed: ${error}`);
151
+ }
152
+ }
153
+ if (web3Token || pinningService === 'web3storage') {
154
+ try {
155
+ return await uploadToWeb3Storage(content, options);
156
+ }
157
+ catch (error) {
158
+ console.warn(`[IPFS] Web3.storage upload failed: ${error}`);
159
+ }
160
+ }
161
+ // Fall back to demo mode
162
+ console.log(`[IPFS] No IPFS credentials found, using demo mode`);
163
+ console.log(`[IPFS] Set WEB3_STORAGE_TOKEN or PINATA_API_KEY for real uploads`);
164
+ console.log(`[IPFS] Get free token at: https://web3.storage`);
165
+ const cid = generateDemoCID(content);
166
+ const size = content.length;
167
+ console.log(`[IPFS] Demo upload: ${size} bytes`);
168
+ console.log(`[IPFS] Name: ${name}`);
169
+ // Simulate upload delay
170
+ await new Promise(resolve => setTimeout(resolve, 500));
171
+ const result = {
172
+ cid,
173
+ size,
174
+ gateway,
175
+ url: `${gateway}/ipfs/${cid}`,
176
+ };
177
+ if (pin) {
178
+ result.pinnedAt = new Date().toISOString();
179
+ console.log(`[IPFS] Demo pinned at: ${result.pinnedAt}`);
180
+ }
181
+ console.log(`[IPFS] Demo CID: ${cid}`);
182
+ console.log(`[IPFS] Demo URL: ${result.url}`);
183
+ return result;
184
+ }
185
+ /**
186
+ * Pin content by CID
187
+ */
188
+ export async function pinContent(cid, options = {}) {
189
+ const web3Token = getWeb3StorageToken();
190
+ const pinataKey = process.env.PINATA_API_KEY;
191
+ // Real pinning with Pinata
192
+ if (pinataKey && options.service !== 'web3storage') {
193
+ try {
194
+ const pinataSecret = process.env.PINATA_API_SECRET;
195
+ const response = await fetch('https://api.pinata.cloud/pinning/pinByHash', {
196
+ method: 'POST',
197
+ headers: {
198
+ 'Content-Type': 'application/json',
199
+ 'pinata_api_key': pinataKey,
200
+ 'pinata_secret_api_key': pinataSecret || '',
201
+ },
202
+ body: JSON.stringify({
203
+ hashToPin: cid,
204
+ pinataMetadata: { name: options.name || cid },
205
+ }),
206
+ });
207
+ if (response.ok) {
208
+ const pinnedAt = new Date().toISOString();
209
+ console.log(`[IPFS] Pinned ${cid} via Pinata at ${pinnedAt}`);
210
+ return { success: true, pinnedAt };
211
+ }
212
+ }
213
+ catch (error) {
214
+ console.warn(`[IPFS] Pinata pin failed: ${error}`);
215
+ }
216
+ }
217
+ // Demo mode
218
+ const pinnedAt = new Date().toISOString();
219
+ console.log(`[IPFS] Demo pinning ${cid}...`);
220
+ await new Promise(resolve => setTimeout(resolve, 300));
221
+ console.log(`[IPFS] Demo pinned at ${pinnedAt}`);
222
+ return { success: true, pinnedAt };
223
+ }
224
+ /**
225
+ * Unpin content by CID
226
+ */
227
+ export async function unpinContent(cid, options = {}) {
228
+ const pinataKey = process.env.PINATA_API_KEY;
229
+ // Real unpinning with Pinata
230
+ if (pinataKey) {
231
+ try {
232
+ const pinataSecret = process.env.PINATA_API_SECRET;
233
+ const response = await fetch(`https://api.pinata.cloud/pinning/unpin/${cid}`, {
234
+ method: 'DELETE',
235
+ headers: {
236
+ 'pinata_api_key': pinataKey,
237
+ 'pinata_secret_api_key': pinataSecret || '',
238
+ },
239
+ });
240
+ if (response.ok) {
241
+ console.log(`[IPFS] Unpinned ${cid} from Pinata`);
242
+ return { success: true };
243
+ }
244
+ }
245
+ catch (error) {
246
+ console.warn(`[IPFS] Pinata unpin failed: ${error}`);
247
+ }
248
+ }
249
+ // Demo mode
250
+ console.log(`[IPFS] Demo unpinning ${cid}...`);
251
+ await new Promise(resolve => setTimeout(resolve, 200));
252
+ console.log(`[IPFS] Demo unpinned`);
253
+ return { success: true };
254
+ }
255
+ /**
256
+ * Check if content exists on IPFS
257
+ */
258
+ export async function checkContent(cid, gateway = 'https://w3s.link') {
259
+ console.log(`[IPFS] Checking ${cid}...`);
260
+ try {
261
+ const response = await fetch(`${gateway}/ipfs/${cid}`, {
262
+ method: 'HEAD',
263
+ });
264
+ if (response.ok) {
265
+ const size = parseInt(response.headers.get('content-length') || '0', 10);
266
+ console.log(`[IPFS] Content exists, size: ${size}`);
267
+ return { exists: true, size };
268
+ }
269
+ }
270
+ catch (error) {
271
+ console.log(`[IPFS] Content check failed: ${error}`);
272
+ }
273
+ return { exists: false };
274
+ }
275
+ /**
276
+ * Get gateway URL for CID
277
+ */
278
+ export function getGatewayURL(cid, gateway = 'https://w3s.link') {
279
+ return `${gateway}/ipfs/${cid}`;
280
+ }
281
+ /**
282
+ * Get IPNS URL for name
283
+ */
284
+ export function getIPNSURL(name, gateway = 'https://w3s.link') {
285
+ return `${gateway}/ipns/${name}`;
286
+ }
287
+ /**
288
+ * Check if real IPFS credentials are available
289
+ */
290
+ export function hasIPFSCredentials() {
291
+ return !!(getWeb3StorageToken() || process.env.PINATA_API_KEY);
292
+ }
293
+ /**
294
+ * Get IPFS service status
295
+ */
296
+ export function getIPFSServiceStatus() {
297
+ const web3Token = getWeb3StorageToken();
298
+ const pinataKey = process.env.PINATA_API_KEY;
299
+ if (web3Token) {
300
+ return {
301
+ service: 'web3storage',
302
+ configured: true,
303
+ message: 'Web3.storage configured - real IPFS uploads enabled',
304
+ };
305
+ }
306
+ if (pinataKey) {
307
+ return {
308
+ service: 'pinata',
309
+ configured: true,
310
+ message: 'Pinata configured - real IPFS uploads enabled',
311
+ };
312
+ }
313
+ return {
314
+ service: 'demo',
315
+ configured: false,
316
+ message: 'No IPFS credentials - using demo mode (deterministic CIDs)',
317
+ };
318
+ }
319
+ //# sourceMappingURL=upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"upload.js","sourceRoot":"","sources":["../../../../src/transfer/ipfs/upload.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Seraphine Genesis Model
3
+ * The first Claude Flow pattern model - "Hello World" for pattern sharing
4
+ *
5
+ * Seraphine represents the foundational patterns for intelligent agent coordination.
6
+ * Named after the Greek "Seraphim" (burning ones), symbolizing the spark of knowledge
7
+ * that ignites collaborative AI intelligence.
8
+ */
9
+ import type { CFPFormat, PatternCollection, RoutingPattern, ComplexityPattern, CoveragePattern, TrajectoryPattern, CustomPattern } from '../types.js';
10
+ /**
11
+ * Seraphine model version
12
+ */
13
+ export declare const SERAPHINE_VERSION = "1.0.0";
14
+ /**
15
+ * Seraphine model metadata
16
+ */
17
+ export declare const SERAPHINE_METADATA: {
18
+ name: string;
19
+ displayName: string;
20
+ description: string;
21
+ author: {
22
+ id: string;
23
+ displayName: string;
24
+ };
25
+ license: string;
26
+ tags: string[];
27
+ language: string;
28
+ framework: string;
29
+ };
30
+ /**
31
+ * Core routing patterns for Seraphine
32
+ * These define how tasks are routed to appropriate agents
33
+ */
34
+ export declare const SERAPHINE_ROUTING_PATTERNS: RoutingPattern[];
35
+ /**
36
+ * Complexity heuristics for Seraphine
37
+ * These help estimate task complexity for resource allocation
38
+ */
39
+ export declare const SERAPHINE_COMPLEXITY_PATTERNS: ComplexityPattern[];
40
+ /**
41
+ * Coverage patterns for Seraphine
42
+ * These track knowledge domain coverage
43
+ */
44
+ export declare const SERAPHINE_COVERAGE_PATTERNS: CoveragePattern[];
45
+ /**
46
+ * Trajectory patterns for Seraphine
47
+ * These capture successful task execution paths
48
+ */
49
+ export declare const SERAPHINE_TRAJECTORY_PATTERNS: TrajectoryPattern[];
50
+ /**
51
+ * Custom patterns for Seraphine
52
+ * These are specialized patterns unique to Seraphine
53
+ */
54
+ export declare const SERAPHINE_CUSTOM_PATTERNS: CustomPattern[];
55
+ /**
56
+ * Create the complete Seraphine pattern collection
57
+ */
58
+ export declare function createSeraphinePatterns(): PatternCollection;
59
+ /**
60
+ * Create the Seraphine Genesis CFP document
61
+ */
62
+ export declare function createSeraphineGenesis(): CFPFormat;
63
+ /**
64
+ * Get Seraphine model info
65
+ */
66
+ export declare function getSeraphineInfo(): {
67
+ name: string;
68
+ version: string;
69
+ description: string;
70
+ patternCounts: Record<string, number>;
71
+ };
72
+ //# sourceMappingURL=seraphine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seraphine.d.ts","sourceRoot":"","sources":["../../../../src/transfer/models/seraphine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,SAAS,EACT,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,aAAa,EACd,MAAM,aAAa,CAAC;AAGrB;;GAEG;AACH,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAEzC;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;CAoB9B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,EAAE,cAAc,EAkGtD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,iBAAiB,EAoC5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,EAAE,eAAe,EAyBxD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,6BAA6B,EAAE,iBAAiB,EAkE5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,EAAE,aAAa,EAyCpD,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAQ3D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,SAAS,CAWlD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC,CAaA"}