asciikit-mcp 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +174 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +170 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/license-validator.d.ts +30 -0
- package/dist/lib/license-validator.d.ts.map +1 -0
- package/dist/lib/license-validator.js +78 -0
- package/dist/lib/license-validator.js.map +1 -0
- package/dist/lib/pattern-loader-v2.d.ts +45 -0
- package/dist/lib/pattern-loader-v2.d.ts.map +1 -0
- package/dist/lib/pattern-loader-v2.js +101 -0
- package/dist/lib/pattern-loader-v2.js.map +1 -0
- package/dist/lib/pattern-loader.d.ts +46 -0
- package/dist/lib/pattern-loader.d.ts.map +1 -0
- package/dist/lib/pattern-loader.js +116 -0
- package/dist/lib/pattern-loader.js.map +1 -0
- package/dist/patterns/bundle.json +104 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +171 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/license-validator.d.ts +30 -0
- package/dist/src/lib/license-validator.d.ts.map +1 -0
- package/dist/src/lib/license-validator.js +78 -0
- package/dist/src/lib/license-validator.js.map +1 -0
- package/dist/src/lib/pattern-loader-v2.d.ts +45 -0
- package/dist/src/lib/pattern-loader-v2.d.ts.map +1 -0
- package/dist/src/lib/pattern-loader-v2.js +109 -0
- package/dist/src/lib/pattern-loader-v2.js.map +1 -0
- package/dist/src/types/index.d.ts +19 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +5 -0
- package/dist/src/types/index.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads and decrypts patterns from encrypted bundle
|
|
5
|
+
* Patterns are decrypted in-memory only, never written to disk
|
|
6
|
+
*/
|
|
7
|
+
export declare class PatternLoader {
|
|
8
|
+
private licenseKey;
|
|
9
|
+
private patterns;
|
|
10
|
+
private version;
|
|
11
|
+
private loaded;
|
|
12
|
+
constructor(licenseKey: string);
|
|
13
|
+
/**
|
|
14
|
+
* Loads and decrypts patterns from encrypted bundle
|
|
15
|
+
*/
|
|
16
|
+
load(): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Gets a specific pattern by ID
|
|
19
|
+
*/
|
|
20
|
+
getPattern(patternId: string): string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Lists all available pattern IDs
|
|
23
|
+
*/
|
|
24
|
+
listPatterns(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Searches patterns by query
|
|
27
|
+
*/
|
|
28
|
+
searchPatterns(query: string): string[];
|
|
29
|
+
/**
|
|
30
|
+
* Gets all categories
|
|
31
|
+
*/
|
|
32
|
+
getCategories(): string[];
|
|
33
|
+
/**
|
|
34
|
+
* Gets pattern count
|
|
35
|
+
*/
|
|
36
|
+
getPatternCount(): number;
|
|
37
|
+
/**
|
|
38
|
+
* Gets pattern version
|
|
39
|
+
*/
|
|
40
|
+
getVersion(): string;
|
|
41
|
+
/**
|
|
42
|
+
* Checks if patterns are loaded
|
|
43
|
+
*/
|
|
44
|
+
isLoaded(): boolean;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=pattern-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-loader.d.ts","sourceRoot":"","sources":["../../src/lib/pattern-loader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAkB;gBAEpB,UAAU,EAAE,MAAM;IAI9B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B3B;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAQ5C;;OAEG;IACH,YAAY,IAAI,MAAM,EAAE;IAQxB;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;IAgBvC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAczB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,QAAQ,IAAI,OAAO;CAGpB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pattern Loader
|
|
3
|
+
*
|
|
4
|
+
* Loads and decrypts patterns from encrypted bundle
|
|
5
|
+
* Patterns are decrypted in-memory only, never written to disk
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs/promises';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { fileURLToPath } from 'url';
|
|
10
|
+
import { decrypt, validateEncryptedData } from '../../../shared/encryption.js';
|
|
11
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
12
|
+
const __dirname = path.dirname(__filename);
|
|
13
|
+
export class PatternLoader {
|
|
14
|
+
licenseKey;
|
|
15
|
+
patterns = {};
|
|
16
|
+
version = 'unknown';
|
|
17
|
+
loaded = false;
|
|
18
|
+
constructor(licenseKey) {
|
|
19
|
+
this.licenseKey = licenseKey;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Loads and decrypts patterns from encrypted bundle
|
|
23
|
+
*/
|
|
24
|
+
async load() {
|
|
25
|
+
try {
|
|
26
|
+
// Read encrypted patterns file
|
|
27
|
+
const encryptedPath = path.join(__dirname, '../../patterns/encrypted.json');
|
|
28
|
+
const encryptedContent = await fs.readFile(encryptedPath, 'utf-8');
|
|
29
|
+
const encryptedData = JSON.parse(encryptedContent);
|
|
30
|
+
// Validate encrypted data structure
|
|
31
|
+
if (!validateEncryptedData(encryptedData)) {
|
|
32
|
+
throw new Error('Invalid encrypted data format');
|
|
33
|
+
}
|
|
34
|
+
// Decrypt using license key
|
|
35
|
+
const decrypted = decrypt(encryptedData, this.licenseKey);
|
|
36
|
+
const bundle = JSON.parse(decrypted);
|
|
37
|
+
// Store patterns in memory
|
|
38
|
+
this.patterns = bundle.patterns;
|
|
39
|
+
this.version = bundle.version;
|
|
40
|
+
this.loaded = true;
|
|
41
|
+
}
|
|
42
|
+
catch (error) {
|
|
43
|
+
if (error instanceof Error && error.message.includes('Decryption failed')) {
|
|
44
|
+
throw new Error('Failed to decrypt patterns. Your license key may be invalid or the pattern bundle may be corrupted.');
|
|
45
|
+
}
|
|
46
|
+
throw error;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Gets a specific pattern by ID
|
|
51
|
+
*/
|
|
52
|
+
getPattern(patternId) {
|
|
53
|
+
if (!this.loaded) {
|
|
54
|
+
throw new Error('Patterns not loaded. Call load() first.');
|
|
55
|
+
}
|
|
56
|
+
return this.patterns[patternId] || null;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Lists all available pattern IDs
|
|
60
|
+
*/
|
|
61
|
+
listPatterns() {
|
|
62
|
+
if (!this.loaded) {
|
|
63
|
+
throw new Error('Patterns not loaded. Call load() first.');
|
|
64
|
+
}
|
|
65
|
+
return Object.keys(this.patterns).sort();
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Searches patterns by query
|
|
69
|
+
*/
|
|
70
|
+
searchPatterns(query) {
|
|
71
|
+
if (!this.loaded) {
|
|
72
|
+
throw new Error('Patterns not loaded. Call load() first.');
|
|
73
|
+
}
|
|
74
|
+
const lowerQuery = query.toLowerCase();
|
|
75
|
+
return Object.keys(this.patterns)
|
|
76
|
+
.filter((id) => {
|
|
77
|
+
const lowerID = id.toLowerCase();
|
|
78
|
+
const content = this.patterns[id].toLowerCase();
|
|
79
|
+
return lowerID.includes(lowerQuery) || content.includes(lowerQuery);
|
|
80
|
+
})
|
|
81
|
+
.sort();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Gets all categories
|
|
85
|
+
*/
|
|
86
|
+
getCategories() {
|
|
87
|
+
if (!this.loaded) {
|
|
88
|
+
throw new Error('Patterns not loaded. Call load() first.');
|
|
89
|
+
}
|
|
90
|
+
const categories = new Set();
|
|
91
|
+
Object.keys(this.patterns).forEach((id) => {
|
|
92
|
+
const category = id.split('/')[0];
|
|
93
|
+
categories.add(category);
|
|
94
|
+
});
|
|
95
|
+
return Array.from(categories).sort();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Gets pattern count
|
|
99
|
+
*/
|
|
100
|
+
getPatternCount() {
|
|
101
|
+
return Object.keys(this.patterns).length;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Gets pattern version
|
|
105
|
+
*/
|
|
106
|
+
getVersion() {
|
|
107
|
+
return this.version;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Checks if patterns are loaded
|
|
111
|
+
*/
|
|
112
|
+
isLoaded() {
|
|
113
|
+
return this.loaded;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=pattern-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pattern-loader.js","sourceRoot":"","sources":["../../src/lib/pattern-loader.ts"],"names":[],"mappings":"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"}
|