@claude-flow/cli 3.0.0-alpha.56 → 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 (133) 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/plugins.d.ts +1 -0
  6. package/dist/src/commands/plugins.d.ts.map +1 -1
  7. package/dist/src/commands/plugins.js +439 -89
  8. package/dist/src/commands/plugins.js.map +1 -1
  9. package/dist/src/commands/transfer-store.d.ts +13 -0
  10. package/dist/src/commands/transfer-store.d.ts.map +1 -0
  11. package/dist/src/commands/transfer-store.js +428 -0
  12. package/dist/src/commands/transfer-store.js.map +1 -0
  13. package/dist/src/init/mcp-generator.d.ts +9 -0
  14. package/dist/src/init/mcp-generator.d.ts.map +1 -1
  15. package/dist/src/init/mcp-generator.js +57 -28
  16. package/dist/src/init/mcp-generator.js.map +1 -1
  17. package/dist/src/init/settings-generator.d.ts.map +1 -1
  18. package/dist/src/init/settings-generator.js +4 -2
  19. package/dist/src/init/settings-generator.js.map +1 -1
  20. package/dist/src/mcp-tools/index.d.ts +1 -0
  21. package/dist/src/mcp-tools/index.d.ts.map +1 -1
  22. package/dist/src/mcp-tools/index.js +1 -0
  23. package/dist/src/mcp-tools/index.js.map +1 -1
  24. package/dist/src/mcp-tools/transfer-tools.d.ts +14 -0
  25. package/dist/src/mcp-tools/transfer-tools.d.ts.map +1 -0
  26. package/dist/src/mcp-tools/transfer-tools.js +396 -0
  27. package/dist/src/mcp-tools/transfer-tools.js.map +1 -0
  28. package/dist/src/plugins/store/discovery.d.ts +73 -0
  29. package/dist/src/plugins/store/discovery.d.ts.map +1 -0
  30. package/dist/src/plugins/store/discovery.js +568 -0
  31. package/dist/src/plugins/store/discovery.js.map +1 -0
  32. package/dist/src/plugins/store/index.d.ts +76 -0
  33. package/dist/src/plugins/store/index.d.ts.map +1 -0
  34. package/dist/src/plugins/store/index.js +141 -0
  35. package/dist/src/plugins/store/index.js.map +1 -0
  36. package/dist/src/plugins/store/search.d.ts +46 -0
  37. package/dist/src/plugins/store/search.d.ts.map +1 -0
  38. package/dist/src/plugins/store/search.js +230 -0
  39. package/dist/src/plugins/store/search.js.map +1 -0
  40. package/dist/src/plugins/store/types.d.ts +274 -0
  41. package/dist/src/plugins/store/types.d.ts.map +1 -0
  42. package/dist/src/plugins/store/types.js +7 -0
  43. package/dist/src/plugins/store/types.js.map +1 -0
  44. package/dist/src/plugins/tests/demo-plugin-store.d.ts +7 -0
  45. package/dist/src/plugins/tests/demo-plugin-store.d.ts.map +1 -0
  46. package/dist/src/plugins/tests/demo-plugin-store.js +126 -0
  47. package/dist/src/plugins/tests/demo-plugin-store.js.map +1 -0
  48. package/dist/src/plugins/tests/standalone-test.d.ts +12 -0
  49. package/dist/src/plugins/tests/standalone-test.d.ts.map +1 -0
  50. package/dist/src/plugins/tests/standalone-test.js +188 -0
  51. package/dist/src/plugins/tests/standalone-test.js.map +1 -0
  52. package/dist/src/plugins/tests/test-plugin-store.d.ts +7 -0
  53. package/dist/src/plugins/tests/test-plugin-store.d.ts.map +1 -0
  54. package/dist/src/plugins/tests/test-plugin-store.js +206 -0
  55. package/dist/src/plugins/tests/test-plugin-store.js.map +1 -0
  56. package/dist/src/transfer/anonymization/index.d.ts +25 -0
  57. package/dist/src/transfer/anonymization/index.d.ts.map +1 -0
  58. package/dist/src/transfer/anonymization/index.js +175 -0
  59. package/dist/src/transfer/anonymization/index.js.map +1 -0
  60. package/dist/src/transfer/deploy-seraphine.d.ts +13 -0
  61. package/dist/src/transfer/deploy-seraphine.d.ts.map +1 -0
  62. package/dist/src/transfer/deploy-seraphine.js +205 -0
  63. package/dist/src/transfer/deploy-seraphine.js.map +1 -0
  64. package/dist/src/transfer/export.d.ts +25 -0
  65. package/dist/src/transfer/export.d.ts.map +1 -0
  66. package/dist/src/transfer/export.js +113 -0
  67. package/dist/src/transfer/export.js.map +1 -0
  68. package/dist/src/transfer/index.d.ts +12 -0
  69. package/dist/src/transfer/index.d.ts.map +1 -0
  70. package/dist/src/transfer/index.js +31 -0
  71. package/dist/src/transfer/index.js.map +1 -0
  72. package/dist/src/transfer/ipfs/client.d.ts +31 -0
  73. package/dist/src/transfer/ipfs/client.d.ts.map +1 -0
  74. package/dist/src/transfer/ipfs/client.js +74 -0
  75. package/dist/src/transfer/ipfs/client.js.map +1 -0
  76. package/dist/src/transfer/ipfs/upload.d.ts +85 -0
  77. package/dist/src/transfer/ipfs/upload.d.ts.map +1 -0
  78. package/dist/src/transfer/ipfs/upload.js +319 -0
  79. package/dist/src/transfer/ipfs/upload.js.map +1 -0
  80. package/dist/src/transfer/models/seraphine.d.ts +72 -0
  81. package/dist/src/transfer/models/seraphine.d.ts.map +1 -0
  82. package/dist/src/transfer/models/seraphine.js +373 -0
  83. package/dist/src/transfer/models/seraphine.js.map +1 -0
  84. package/dist/src/transfer/serialization/cfp.d.ts +49 -0
  85. package/dist/src/transfer/serialization/cfp.d.ts.map +1 -0
  86. package/dist/src/transfer/serialization/cfp.js +180 -0
  87. package/dist/src/transfer/serialization/cfp.js.map +1 -0
  88. package/dist/src/transfer/store/discovery.d.ts +84 -0
  89. package/dist/src/transfer/store/discovery.d.ts.map +1 -0
  90. package/dist/src/transfer/store/discovery.js +275 -0
  91. package/dist/src/transfer/store/discovery.js.map +1 -0
  92. package/dist/src/transfer/store/download.d.ts +70 -0
  93. package/dist/src/transfer/store/download.d.ts.map +1 -0
  94. package/dist/src/transfer/store/download.js +295 -0
  95. package/dist/src/transfer/store/download.js.map +1 -0
  96. package/dist/src/transfer/store/index.d.ts +84 -0
  97. package/dist/src/transfer/store/index.d.ts.map +1 -0
  98. package/dist/src/transfer/store/index.js +153 -0
  99. package/dist/src/transfer/store/index.js.map +1 -0
  100. package/dist/src/transfer/store/publish.d.ts +76 -0
  101. package/dist/src/transfer/store/publish.d.ts.map +1 -0
  102. package/dist/src/transfer/store/publish.js +262 -0
  103. package/dist/src/transfer/store/publish.js.map +1 -0
  104. package/dist/src/transfer/store/registry.d.ts +58 -0
  105. package/dist/src/transfer/store/registry.d.ts.map +1 -0
  106. package/dist/src/transfer/store/registry.js +285 -0
  107. package/dist/src/transfer/store/registry.js.map +1 -0
  108. package/dist/src/transfer/store/search.d.ts +54 -0
  109. package/dist/src/transfer/store/search.d.ts.map +1 -0
  110. package/dist/src/transfer/store/search.js +232 -0
  111. package/dist/src/transfer/store/search.js.map +1 -0
  112. package/dist/src/transfer/store/tests/standalone-test.d.ts +12 -0
  113. package/dist/src/transfer/store/tests/standalone-test.d.ts.map +1 -0
  114. package/dist/src/transfer/store/tests/standalone-test.js +190 -0
  115. package/dist/src/transfer/store/tests/standalone-test.js.map +1 -0
  116. package/dist/src/transfer/store/types.d.ts +193 -0
  117. package/dist/src/transfer/store/types.d.ts.map +1 -0
  118. package/dist/src/transfer/store/types.js +6 -0
  119. package/dist/src/transfer/store/types.js.map +1 -0
  120. package/dist/src/transfer/test-seraphine.d.ts +6 -0
  121. package/dist/src/transfer/test-seraphine.d.ts.map +1 -0
  122. package/dist/src/transfer/test-seraphine.js +105 -0
  123. package/dist/src/transfer/test-seraphine.js.map +1 -0
  124. package/dist/src/transfer/tests/test-store.d.ts +7 -0
  125. package/dist/src/transfer/tests/test-store.d.ts.map +1 -0
  126. package/dist/src/transfer/tests/test-store.js +214 -0
  127. package/dist/src/transfer/tests/test-store.js.map +1 -0
  128. package/dist/src/transfer/types.d.ts +245 -0
  129. package/dist/src/transfer/types.d.ts.map +1 -0
  130. package/dist/src/transfer/types.js +6 -0
  131. package/dist/src/transfer/types.js.map +1 -0
  132. package/dist/tsconfig.tsbuildinfo +1 -1
  133. package/package.json +3 -1
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Pattern Search Service
3
+ * Search and filter patterns from decentralized registry
4
+ */
5
+ import type { PatternRegistry, PatternEntry, SearchOptions, SearchResult } from './types.js';
6
+ /**
7
+ * Search patterns in registry
8
+ */
9
+ export declare function searchPatterns(registry: PatternRegistry, options?: SearchOptions): SearchResult;
10
+ /**
11
+ * Get featured patterns
12
+ */
13
+ export declare function getFeaturedPatterns(registry: PatternRegistry): PatternEntry[];
14
+ /**
15
+ * Get trending patterns
16
+ */
17
+ export declare function getTrendingPatterns(registry: PatternRegistry): PatternEntry[];
18
+ /**
19
+ * Get newest patterns
20
+ */
21
+ export declare function getNewestPatterns(registry: PatternRegistry): PatternEntry[];
22
+ /**
23
+ * Get pattern by ID
24
+ */
25
+ export declare function getPatternById(registry: PatternRegistry, patternId: string): PatternEntry | undefined;
26
+ /**
27
+ * Get pattern by name
28
+ */
29
+ export declare function getPatternByName(registry: PatternRegistry, name: string): PatternEntry | undefined;
30
+ /**
31
+ * Get patterns by author
32
+ */
33
+ export declare function getPatternsByAuthor(registry: PatternRegistry, authorId: string): PatternEntry[];
34
+ /**
35
+ * Get patterns by category
36
+ */
37
+ export declare function getPatternsByCategory(registry: PatternRegistry, categoryId: string): PatternEntry[];
38
+ /**
39
+ * Get similar patterns (by tags and category)
40
+ */
41
+ export declare function getSimilarPatterns(registry: PatternRegistry, pattern: PatternEntry, limit?: number): PatternEntry[];
42
+ /**
43
+ * Get category stats
44
+ */
45
+ export declare function getCategoryStats(registry: PatternRegistry): Map<string, number>;
46
+ /**
47
+ * Get tag cloud (tag -> count)
48
+ */
49
+ export declare function getTagCloud(registry: PatternRegistry): Map<string, number>;
50
+ /**
51
+ * Autocomplete search suggestions
52
+ */
53
+ export declare function getSearchSuggestions(registry: PatternRegistry, partial: string, limit?: number): string[];
54
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/transfer/store/search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,OAAO,GAAE,aAAkB,GAC1B,YAAY,CAyGd;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE,CAI7E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE,CAI7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,YAAY,EAAE,CAI3E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,GAChB,YAAY,GAAG,SAAS,CAE1B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,eAAe,EACzB,IAAI,EAAE,MAAM,GACX,YAAY,GAAG,SAAS,CAE1B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,eAAe,EACzB,UAAU,EAAE,MAAM,GACjB,YAAY,EAAE,CAEhB;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,YAAY,EACrB,KAAK,GAAE,MAAU,GAChB,YAAY,EAAE,CAoChB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAW/E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAU1E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,GAAE,MAAW,GACjB,MAAM,EAAE,CA+BV"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * Pattern Search Service
3
+ * Search and filter patterns from decentralized registry
4
+ */
5
+ /**
6
+ * Search patterns in registry
7
+ */
8
+ export function searchPatterns(registry, options = {}) {
9
+ let patterns = [...registry.patterns];
10
+ // Text search
11
+ if (options.query) {
12
+ const query = options.query.toLowerCase();
13
+ patterns = patterns.filter(p => p.name.toLowerCase().includes(query) ||
14
+ p.displayName.toLowerCase().includes(query) ||
15
+ p.description.toLowerCase().includes(query) ||
16
+ p.tags.some(t => t.toLowerCase().includes(query)));
17
+ }
18
+ // Category filter
19
+ if (options.category) {
20
+ patterns = patterns.filter(p => p.categories.includes(options.category));
21
+ }
22
+ // Language filter
23
+ if (options.language) {
24
+ patterns = patterns.filter(p => p.language === options.language);
25
+ }
26
+ // Framework filter
27
+ if (options.framework) {
28
+ patterns = patterns.filter(p => p.framework === options.framework);
29
+ }
30
+ // Tags filter
31
+ if (options.tags && options.tags.length > 0) {
32
+ patterns = patterns.filter(p => options.tags.some(t => p.tags.includes(t)));
33
+ }
34
+ // Author filter
35
+ if (options.author) {
36
+ patterns = patterns.filter(p => p.author.id === options.author);
37
+ }
38
+ // Rating filter
39
+ if (options.minRating !== undefined) {
40
+ patterns = patterns.filter(p => p.rating >= options.minRating);
41
+ }
42
+ // Downloads filter
43
+ if (options.minDownloads !== undefined) {
44
+ patterns = patterns.filter(p => p.downloads >= options.minDownloads);
45
+ }
46
+ // Verified filter
47
+ if (options.verified !== undefined) {
48
+ patterns = patterns.filter(p => p.verified === options.verified);
49
+ }
50
+ // Trust level filter
51
+ if (options.trustLevel) {
52
+ const trustLevels = ['unverified', 'community', 'verified', 'official'];
53
+ const minLevel = trustLevels.indexOf(options.trustLevel);
54
+ patterns = patterns.filter(p => {
55
+ const patternLevel = trustLevels.indexOf(p.trustLevel);
56
+ return patternLevel >= minLevel;
57
+ });
58
+ }
59
+ // Sort
60
+ const sortBy = options.sortBy || 'downloads';
61
+ const sortOrder = options.sortOrder || 'desc';
62
+ patterns.sort((a, b) => {
63
+ let comparison = 0;
64
+ switch (sortBy) {
65
+ case 'downloads':
66
+ comparison = a.downloads - b.downloads;
67
+ break;
68
+ case 'rating':
69
+ comparison = a.rating - b.rating;
70
+ break;
71
+ case 'newest':
72
+ comparison = new Date(a.createdAt).getTime() - new Date(b.createdAt).getTime();
73
+ break;
74
+ case 'name':
75
+ comparison = a.name.localeCompare(b.name);
76
+ break;
77
+ }
78
+ return sortOrder === 'desc' ? -comparison : comparison;
79
+ });
80
+ // Pagination
81
+ const total = patterns.length;
82
+ const limit = options.limit || 20;
83
+ const offset = options.offset || 0;
84
+ const page = Math.floor(offset / limit) + 1;
85
+ patterns = patterns.slice(offset, offset + limit);
86
+ return {
87
+ patterns,
88
+ total,
89
+ page,
90
+ pageSize: limit,
91
+ hasMore: offset + patterns.length < total,
92
+ query: options,
93
+ };
94
+ }
95
+ /**
96
+ * Get featured patterns
97
+ */
98
+ export function getFeaturedPatterns(registry) {
99
+ return registry.featured
100
+ .map(id => registry.patterns.find(p => p.id === id))
101
+ .filter((p) => p !== undefined);
102
+ }
103
+ /**
104
+ * Get trending patterns
105
+ */
106
+ export function getTrendingPatterns(registry) {
107
+ return registry.trending
108
+ .map(id => registry.patterns.find(p => p.id === id))
109
+ .filter((p) => p !== undefined);
110
+ }
111
+ /**
112
+ * Get newest patterns
113
+ */
114
+ export function getNewestPatterns(registry) {
115
+ return registry.newest
116
+ .map(id => registry.patterns.find(p => p.id === id))
117
+ .filter((p) => p !== undefined);
118
+ }
119
+ /**
120
+ * Get pattern by ID
121
+ */
122
+ export function getPatternById(registry, patternId) {
123
+ return registry.patterns.find(p => p.id === patternId);
124
+ }
125
+ /**
126
+ * Get pattern by name
127
+ */
128
+ export function getPatternByName(registry, name) {
129
+ return registry.patterns.find(p => p.name === name);
130
+ }
131
+ /**
132
+ * Get patterns by author
133
+ */
134
+ export function getPatternsByAuthor(registry, authorId) {
135
+ return registry.patterns.filter(p => p.author.id === authorId);
136
+ }
137
+ /**
138
+ * Get patterns by category
139
+ */
140
+ export function getPatternsByCategory(registry, categoryId) {
141
+ return registry.patterns.filter(p => p.categories.includes(categoryId));
142
+ }
143
+ /**
144
+ * Get similar patterns (by tags and category)
145
+ */
146
+ export function getSimilarPatterns(registry, pattern, limit = 5) {
147
+ const scores = new Map();
148
+ for (const p of registry.patterns) {
149
+ if (p.id === pattern.id)
150
+ continue;
151
+ let score = 0;
152
+ // Shared tags
153
+ const sharedTags = p.tags.filter(t => pattern.tags.includes(t));
154
+ score += sharedTags.length * 2;
155
+ // Shared categories
156
+ const sharedCategories = p.categories.filter(c => pattern.categories.includes(c));
157
+ score += sharedCategories.length * 3;
158
+ // Same language
159
+ if (p.language === pattern.language)
160
+ score += 1;
161
+ // Same framework
162
+ if (p.framework === pattern.framework)
163
+ score += 2;
164
+ // Same author
165
+ if (p.author.id === pattern.author.id)
166
+ score += 1;
167
+ if (score > 0) {
168
+ scores.set(p.id, score);
169
+ }
170
+ }
171
+ // Sort by score and return top matches
172
+ return Array.from(scores.entries())
173
+ .sort((a, b) => b[1] - a[1])
174
+ .slice(0, limit)
175
+ .map(([id]) => registry.patterns.find(p => p.id === id))
176
+ .filter(p => p !== undefined);
177
+ }
178
+ /**
179
+ * Get category stats
180
+ */
181
+ export function getCategoryStats(registry) {
182
+ const stats = new Map();
183
+ for (const category of registry.categories) {
184
+ const count = registry.patterns.filter(p => p.categories.includes(category.id)).length;
185
+ stats.set(category.id, count);
186
+ }
187
+ return stats;
188
+ }
189
+ /**
190
+ * Get tag cloud (tag -> count)
191
+ */
192
+ export function getTagCloud(registry) {
193
+ const tags = new Map();
194
+ for (const pattern of registry.patterns) {
195
+ for (const tag of pattern.tags) {
196
+ tags.set(tag, (tags.get(tag) || 0) + 1);
197
+ }
198
+ }
199
+ return tags;
200
+ }
201
+ /**
202
+ * Autocomplete search suggestions
203
+ */
204
+ export function getSearchSuggestions(registry, partial, limit = 10) {
205
+ const suggestions = new Set();
206
+ const query = partial.toLowerCase();
207
+ // Add matching pattern names
208
+ for (const pattern of registry.patterns) {
209
+ if (pattern.name.toLowerCase().includes(query)) {
210
+ suggestions.add(pattern.name);
211
+ }
212
+ if (pattern.displayName.toLowerCase().includes(query)) {
213
+ suggestions.add(pattern.displayName);
214
+ }
215
+ }
216
+ // Add matching tags
217
+ for (const pattern of registry.patterns) {
218
+ for (const tag of pattern.tags) {
219
+ if (tag.toLowerCase().includes(query)) {
220
+ suggestions.add(tag);
221
+ }
222
+ }
223
+ }
224
+ // Add matching categories
225
+ for (const category of registry.categories) {
226
+ if (category.name.toLowerCase().includes(query)) {
227
+ suggestions.add(category.name);
228
+ }
229
+ }
230
+ return Array.from(suggestions).slice(0, limit);
231
+ }
232
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../../src/transfer/store/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * Standalone Pattern Store Test
4
+ * Run this in any environment to verify the IPFS-based pattern store works
5
+ *
6
+ * Usage:
7
+ * npx tsx standalone-test.ts
8
+ * # or
9
+ * npm run test:pattern-store
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=standalone-test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-test.d.ts","sourceRoot":"","sources":["../../../../../src/transfer/store/tests/standalone-test.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG"}
@@ -0,0 +1,190 @@
1
+ #!/usr/bin/env npx tsx
2
+ /**
3
+ * Standalone Pattern Store Test
4
+ * Run this in any environment to verify the IPFS-based pattern store works
5
+ *
6
+ * Usage:
7
+ * npx tsx standalone-test.ts
8
+ * # or
9
+ * npm run test:pattern-store
10
+ */
11
+ import { PatternStore, createDiscoveryService, searchPatterns, getFeaturedPatterns, getTrendingPatterns, getNewestPatterns, getCategoryStats, getTagCloud, getSearchSuggestions, } from '../index.js';
12
+ async function main() {
13
+ console.log('');
14
+ console.log('╔══════════════════════════════════════════════════════════════╗');
15
+ console.log('║ CLAUDE FLOW V3 - STANDALONE PATTERN STORE TEST ║');
16
+ console.log('║ IPFS-Based Decentralized Pattern Marketplace ║');
17
+ console.log('╚══════════════════════════════════════════════════════════════╝');
18
+ console.log('');
19
+ let passed = 0;
20
+ let failed = 0;
21
+ // Test 1: Discovery Service Creation
22
+ console.log('▶ Test 1: Create Discovery Service');
23
+ try {
24
+ const discovery = createDiscoveryService();
25
+ const registries = discovery.listRegistries();
26
+ console.log(` ✅ Created service with ${registries.length} bootstrap registries`);
27
+ passed++;
28
+ }
29
+ catch (e) {
30
+ console.log(` ❌ Failed: ${e.message}`);
31
+ failed++;
32
+ }
33
+ // Test 2: Discover Registry
34
+ console.log('▶ Test 2: Discover Registry via IPNS');
35
+ let registry = null;
36
+ try {
37
+ const discovery = createDiscoveryService();
38
+ const result = await discovery.discoverRegistry();
39
+ if (result.success && result.registry) {
40
+ registry = result.registry;
41
+ console.log(` ✅ Discovered ${result.registry.patterns.length} patterns from ${result.source}`);
42
+ passed++;
43
+ }
44
+ else {
45
+ throw new Error(result.error || 'No registry');
46
+ }
47
+ }
48
+ catch (e) {
49
+ console.log(` ❌ Failed: ${e.message}`);
50
+ failed++;
51
+ }
52
+ if (!registry) {
53
+ console.log('\n❌ Cannot continue without registry\n');
54
+ process.exit(1);
55
+ }
56
+ // Test 3: Search Patterns
57
+ console.log('▶ Test 3: Search for "agent"');
58
+ try {
59
+ const results = searchPatterns(registry, { query: 'agent' });
60
+ console.log(` ✅ Found ${results.patterns.length} patterns matching "agent"`);
61
+ passed++;
62
+ }
63
+ catch (e) {
64
+ console.log(` ❌ Failed: ${e.message}`);
65
+ failed++;
66
+ }
67
+ // Test 4: Get Featured Patterns
68
+ console.log('▶ Test 4: Get Featured Patterns');
69
+ try {
70
+ const featured = getFeaturedPatterns(registry);
71
+ console.log(` ✅ Found ${featured.length} featured patterns`);
72
+ if (featured.length > 0) {
73
+ console.log(` - ${featured[0].name} (${featured[0].id})`);
74
+ }
75
+ passed++;
76
+ }
77
+ catch (e) {
78
+ console.log(` ❌ Failed: ${e.message}`);
79
+ failed++;
80
+ }
81
+ // Test 5: Get Trending Patterns
82
+ console.log('▶ Test 5: Get Trending Patterns');
83
+ try {
84
+ const trending = getTrendingPatterns(registry);
85
+ console.log(` ✅ Found ${trending.length} trending patterns`);
86
+ passed++;
87
+ }
88
+ catch (e) {
89
+ console.log(` ❌ Failed: ${e.message}`);
90
+ failed++;
91
+ }
92
+ // Test 6: Get Newest Patterns
93
+ console.log('▶ Test 6: Get Newest Patterns');
94
+ try {
95
+ const newest = getNewestPatterns(registry);
96
+ console.log(` ✅ Found ${newest.length} newest patterns`);
97
+ passed++;
98
+ }
99
+ catch (e) {
100
+ console.log(` ❌ Failed: ${e.message}`);
101
+ failed++;
102
+ }
103
+ // Test 7: Search with Filters
104
+ console.log('▶ Test 7: Search with Filters (verified only)');
105
+ try {
106
+ const results = searchPatterns(registry, { verified: true });
107
+ console.log(` ✅ Found ${results.patterns.length} verified patterns`);
108
+ passed++;
109
+ }
110
+ catch (e) {
111
+ console.log(` ❌ Failed: ${e.message}`);
112
+ failed++;
113
+ }
114
+ // Test 8: Category Stats
115
+ console.log('▶ Test 8: Get Category Statistics');
116
+ try {
117
+ const stats = getCategoryStats(registry);
118
+ const count = Array.isArray(stats) ? stats.length : Object.keys(stats).length;
119
+ console.log(` ✅ Found ${count} categories with stats`);
120
+ passed++;
121
+ }
122
+ catch (e) {
123
+ console.log(` ❌ Failed: ${e.message}`);
124
+ failed++;
125
+ }
126
+ // Test 9: Tag Cloud
127
+ console.log('▶ Test 9: Get Tag Cloud');
128
+ try {
129
+ const tags = getTagCloud(registry);
130
+ console.log(` ✅ Found ${tags.size} unique tags`);
131
+ passed++;
132
+ }
133
+ catch (e) {
134
+ console.log(` ❌ Failed: ${e.message}`);
135
+ failed++;
136
+ }
137
+ // Test 10: Search Suggestions
138
+ console.log('▶ Test 10: Get Search Suggestions');
139
+ try {
140
+ const suggestions = getSearchSuggestions(registry, 'pat');
141
+ console.log(` ✅ Got ${suggestions.length} suggestions for "pat"`);
142
+ passed++;
143
+ }
144
+ catch (e) {
145
+ console.log(` ❌ Failed: ${e.message}`);
146
+ failed++;
147
+ }
148
+ // Test 11: PatternStore Class
149
+ console.log('▶ Test 11: PatternStore Class API');
150
+ try {
151
+ const store = new PatternStore();
152
+ await store.initialize();
153
+ const stats = store.getStats();
154
+ console.log(` ✅ PatternStore initialized:`);
155
+ console.log(` Total Patterns: ${stats.totalPatterns}`);
156
+ console.log(` Total Downloads: ${stats.totalDownloads.toLocaleString()}`);
157
+ console.log(` Categories: ${stats.categories}`);
158
+ passed++;
159
+ }
160
+ catch (e) {
161
+ console.log(` ❌ Failed: ${e.message}`);
162
+ failed++;
163
+ }
164
+ // Summary
165
+ console.log('');
166
+ console.log('═══════════════════════════════════════════════════════════════');
167
+ console.log(' TEST RESULTS ');
168
+ console.log('═══════════════════════════════════════════════════════════════');
169
+ console.log('');
170
+ console.log(` Total: ${passed + failed}`);
171
+ console.log(` ✅ Passed: ${passed}`);
172
+ console.log(` ❌ Failed: ${failed}`);
173
+ console.log('');
174
+ if (failed === 0) {
175
+ console.log(' 🎉 All tests passed! Pattern Store is working correctly.');
176
+ console.log('');
177
+ console.log(' Available CLI Commands:');
178
+ console.log(' npx @claude-flow/cli patterns list');
179
+ console.log(' npx @claude-flow/cli patterns list --featured');
180
+ console.log(' npx @claude-flow/cli patterns search -q "agent"');
181
+ console.log(' npx @claude-flow/cli patterns info -n <pattern-id>');
182
+ console.log('');
183
+ }
184
+ process.exit(failed > 0 ? 1 : 0);
185
+ }
186
+ main().catch(err => {
187
+ console.error('Fatal error:', err);
188
+ process.exit(1);
189
+ });
190
+ //# sourceMappingURL=standalone-test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"standalone-test.js","sourceRoot":"","sources":["../../../../../src/transfer/store/tests/standalone-test.ts"],"names":[],"mappings":";AACA;;;;;;;;GAQG;AAEH,OAAO,EACL,YAAY,EACZ,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,WAAW,EACX,oBAAoB,GAErB,MAAM,aAAa,CAAC;AAErB,KAAK,UAAU,IAAI;IACjB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,MAAM,GAAG,CAAC,CAAC;IAEf,qCAAqC;IACrC,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;QAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,cAAc,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CAAC,4BAA4B,UAAU,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAClF,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,4BAA4B;IAC5B,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;IACpD,IAAI,QAAQ,GAAQ,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,sBAAsB,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;QAClD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChG,MAAM,EAAE,CAAC;QACX,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,0BAA0B;IAC1B,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,MAAM,4BAA4B,CAAC,CAAC;QAC9E,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAC9D,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,UAAU,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,gCAAgC;IAChC,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IAC/C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAC9D,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,cAAc,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CAAC,aAAa,OAAO,CAAC,QAAQ,CAAC,MAAM,oBAAoB,CAAC,CAAC;QACtE,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,yBAAyB;IACzB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,wBAAwB,CAAC,CAAC;QACxD,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,oBAAoB;IACpB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC,IAAI,cAAc,CAAC,CAAC;QAClD,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,WAAW,WAAW,CAAC,MAAM,wBAAwB,CAAC,CAAC;QACnE,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,8BAA8B;IAC9B,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,CAAC,aAAa,EAAE,CAAC,CAAC;QAC3D,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,CAAC,cAAc,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,CAAC;IACX,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,eAAgB,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;QACnD,MAAM,EAAE,CAAC;IACX,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC;IAC/E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,aAAa,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;QACzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;IACjB,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}