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.
Files changed (35) hide show
  1. package/README.md +174 -0
  2. package/dist/index.d.ts +9 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +170 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/lib/license-validator.d.ts +30 -0
  7. package/dist/lib/license-validator.d.ts.map +1 -0
  8. package/dist/lib/license-validator.js +78 -0
  9. package/dist/lib/license-validator.js.map +1 -0
  10. package/dist/lib/pattern-loader-v2.d.ts +45 -0
  11. package/dist/lib/pattern-loader-v2.d.ts.map +1 -0
  12. package/dist/lib/pattern-loader-v2.js +101 -0
  13. package/dist/lib/pattern-loader-v2.js.map +1 -0
  14. package/dist/lib/pattern-loader.d.ts +46 -0
  15. package/dist/lib/pattern-loader.d.ts.map +1 -0
  16. package/dist/lib/pattern-loader.js +116 -0
  17. package/dist/lib/pattern-loader.js.map +1 -0
  18. package/dist/patterns/bundle.json +104 -0
  19. package/dist/src/index.d.ts +9 -0
  20. package/dist/src/index.d.ts.map +1 -0
  21. package/dist/src/index.js +171 -0
  22. package/dist/src/index.js.map +1 -0
  23. package/dist/src/lib/license-validator.d.ts +30 -0
  24. package/dist/src/lib/license-validator.d.ts.map +1 -0
  25. package/dist/src/lib/license-validator.js +78 -0
  26. package/dist/src/lib/license-validator.js.map +1 -0
  27. package/dist/src/lib/pattern-loader-v2.d.ts +45 -0
  28. package/dist/src/lib/pattern-loader-v2.d.ts.map +1 -0
  29. package/dist/src/lib/pattern-loader-v2.js +109 -0
  30. package/dist/src/lib/pattern-loader-v2.js.map +1 -0
  31. package/dist/src/types/index.d.ts +19 -0
  32. package/dist/src/types/index.d.ts.map +1 -0
  33. package/dist/src/types/index.js +5 -0
  34. package/dist/src/types/index.js.map +1 -0
  35. 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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"}