@weave_protocol/domere 1.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 (104) hide show
  1. package/PLANNING.md +231 -0
  2. package/README.md +50 -0
  3. package/dist/anchoring/ethereum.d.ts +135 -0
  4. package/dist/anchoring/ethereum.d.ts.map +1 -0
  5. package/dist/anchoring/ethereum.js +474 -0
  6. package/dist/anchoring/ethereum.js.map +1 -0
  7. package/dist/anchoring/index.d.ts +93 -0
  8. package/dist/anchoring/index.d.ts.map +1 -0
  9. package/dist/anchoring/index.js +184 -0
  10. package/dist/anchoring/index.js.map +1 -0
  11. package/dist/anchoring/merkle.d.ts +91 -0
  12. package/dist/anchoring/merkle.d.ts.map +1 -0
  13. package/dist/anchoring/merkle.js +203 -0
  14. package/dist/anchoring/merkle.js.map +1 -0
  15. package/dist/anchoring/solana.d.ts +85 -0
  16. package/dist/anchoring/solana.d.ts.map +1 -0
  17. package/dist/anchoring/solana.js +301 -0
  18. package/dist/anchoring/solana.js.map +1 -0
  19. package/dist/constants.d.ts +130 -0
  20. package/dist/constants.d.ts.map +1 -0
  21. package/dist/constants.js +536 -0
  22. package/dist/constants.js.map +1 -0
  23. package/dist/index.d.ts +13 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +37 -0
  26. package/dist/index.js.map +1 -0
  27. package/dist/language/code-analyzer.d.ts +80 -0
  28. package/dist/language/code-analyzer.d.ts.map +1 -0
  29. package/dist/language/code-analyzer.js +489 -0
  30. package/dist/language/code-analyzer.js.map +1 -0
  31. package/dist/language/detector.d.ts +53 -0
  32. package/dist/language/detector.d.ts.map +1 -0
  33. package/dist/language/detector.js +248 -0
  34. package/dist/language/detector.js.map +1 -0
  35. package/dist/language/index.d.ts +61 -0
  36. package/dist/language/index.d.ts.map +1 -0
  37. package/dist/language/index.js +109 -0
  38. package/dist/language/index.js.map +1 -0
  39. package/dist/language/nl-analyzer.d.ts +59 -0
  40. package/dist/language/nl-analyzer.d.ts.map +1 -0
  41. package/dist/language/nl-analyzer.js +350 -0
  42. package/dist/language/nl-analyzer.js.map +1 -0
  43. package/dist/language/semantic.d.ts +48 -0
  44. package/dist/language/semantic.d.ts.map +1 -0
  45. package/dist/language/semantic.js +329 -0
  46. package/dist/language/semantic.js.map +1 -0
  47. package/dist/storage/index.d.ts +6 -0
  48. package/dist/storage/index.d.ts.map +1 -0
  49. package/dist/storage/index.js +6 -0
  50. package/dist/storage/index.js.map +1 -0
  51. package/dist/storage/memory.d.ts +48 -0
  52. package/dist/storage/memory.d.ts.map +1 -0
  53. package/dist/storage/memory.js +211 -0
  54. package/dist/storage/memory.js.map +1 -0
  55. package/dist/thread/drift.d.ts +43 -0
  56. package/dist/thread/drift.d.ts.map +1 -0
  57. package/dist/thread/drift.js +248 -0
  58. package/dist/thread/drift.js.map +1 -0
  59. package/dist/thread/index.d.ts +9 -0
  60. package/dist/thread/index.d.ts.map +1 -0
  61. package/dist/thread/index.js +9 -0
  62. package/dist/thread/index.js.map +1 -0
  63. package/dist/thread/intent.d.ts +68 -0
  64. package/dist/thread/intent.d.ts.map +1 -0
  65. package/dist/thread/intent.js +333 -0
  66. package/dist/thread/intent.js.map +1 -0
  67. package/dist/thread/manager.d.ts +85 -0
  68. package/dist/thread/manager.d.ts.map +1 -0
  69. package/dist/thread/manager.js +305 -0
  70. package/dist/thread/manager.js.map +1 -0
  71. package/dist/thread/weave.d.ts +61 -0
  72. package/dist/thread/weave.d.ts.map +1 -0
  73. package/dist/thread/weave.js +158 -0
  74. package/dist/thread/weave.js.map +1 -0
  75. package/dist/tools/index.d.ts +18 -0
  76. package/dist/tools/index.d.ts.map +1 -0
  77. package/dist/tools/index.js +102 -0
  78. package/dist/tools/index.js.map +1 -0
  79. package/dist/types.d.ts +466 -0
  80. package/dist/types.d.ts.map +1 -0
  81. package/dist/types.js +48 -0
  82. package/dist/types.js.map +1 -0
  83. package/package.json +24 -0
  84. package/src/anchoring/ethereum.ts +568 -0
  85. package/src/anchoring/index.ts +236 -0
  86. package/src/anchoring/merkle.ts +256 -0
  87. package/src/anchoring/solana.ts +370 -0
  88. package/src/constants.ts +566 -0
  89. package/src/index.ts +43 -0
  90. package/src/language/code-analyzer.ts +564 -0
  91. package/src/language/detector.ts +297 -0
  92. package/src/language/index.ts +129 -0
  93. package/src/language/nl-analyzer.ts +411 -0
  94. package/src/language/semantic.ts +385 -0
  95. package/src/storage/index.ts +6 -0
  96. package/src/storage/memory.ts +271 -0
  97. package/src/thread/drift.ts +319 -0
  98. package/src/thread/index.ts +9 -0
  99. package/src/thread/intent.ts +409 -0
  100. package/src/thread/manager.ts +414 -0
  101. package/src/thread/weave.ts +205 -0
  102. package/src/tools/index.ts +107 -0
  103. package/src/types.ts +736 -0
  104. package/tsconfig.json +19 -0
@@ -0,0 +1,248 @@
1
+ /**
2
+ * Dōmere - The Judge Protocol
3
+ * Language Detection
4
+ */
5
+ import { LANGUAGE_PATTERNS } from '../constants.js';
6
+ // ============================================================================
7
+ // Language Detector
8
+ // ============================================================================
9
+ export class LanguageDetector {
10
+ /**
11
+ * Detect the primary language(s) in content
12
+ */
13
+ detect(content) {
14
+ const detectedLanguages = this.detectLanguages(content);
15
+ const primary = this.determinePrimaryLanguage(detectedLanguages);
16
+ return {
17
+ detected_languages: detectedLanguages,
18
+ primary_language: primary.language,
19
+ confidence: primary.confidence,
20
+ };
21
+ }
22
+ /**
23
+ * Detect all languages present in content
24
+ */
25
+ detectLanguages(content) {
26
+ const results = new Map();
27
+ // First pass: detect code languages (more specific patterns)
28
+ const codeLanguages = [
29
+ 'typescript', 'javascript', 'python', 'sql', 'java', 'csharp', 'go', 'rust',
30
+ 'ruby', 'php', 'swift', 'kotlin', 'scala', 'bash', 'powershell',
31
+ 'json', 'yaml', 'xml', 'html', 'css', 'markdown',
32
+ 'graphql', 'protobuf', 'regex',
33
+ ];
34
+ for (const lang of codeLanguages) {
35
+ const detection = this.detectLanguage(content, lang);
36
+ if (detection.score > 0.1) {
37
+ results.set(lang, detection);
38
+ }
39
+ }
40
+ // If no code detected, check for natural language
41
+ if (results.size === 0 || this.isLikelyNaturalLanguage(content)) {
42
+ const nlLanguages = ['english', 'spanish', 'french', 'german', 'chinese', 'japanese'];
43
+ for (const lang of nlLanguages) {
44
+ const detection = this.detectLanguage(content, lang);
45
+ if (detection.score > 0.1) {
46
+ // Check if we already have code - if so, this might be mixed
47
+ const existingTotal = Array.from(results.values()).reduce((sum, d) => sum + d.score, 0);
48
+ if (existingTotal < 0.5 || detection.score > 0.3) {
49
+ results.set(lang, detection);
50
+ }
51
+ }
52
+ }
53
+ }
54
+ // Convert to array and normalize
55
+ const detected = [];
56
+ const totalScore = Array.from(results.values()).reduce((sum, d) => sum + d.score, 0);
57
+ for (const [language, data] of results) {
58
+ const confidence = totalScore > 0 ? data.score / totalScore : 0;
59
+ if (confidence > 0.05) { // Only include if > 5% confidence
60
+ detected.push({
61
+ language,
62
+ confidence,
63
+ segments: data.segments,
64
+ });
65
+ }
66
+ }
67
+ // Sort by confidence
68
+ detected.sort((a, b) => b.confidence - a.confidence);
69
+ // If nothing detected, return unknown
70
+ if (detected.length === 0) {
71
+ return [{
72
+ language: 'unknown',
73
+ confidence: 1,
74
+ segments: [{ start: 0, end: content.length, language: 'unknown', content, confidence: 1 }],
75
+ }];
76
+ }
77
+ return detected;
78
+ }
79
+ /**
80
+ * Detect a specific language in content
81
+ */
82
+ detectLanguage(content, language) {
83
+ const config = LANGUAGE_PATTERNS[language];
84
+ if (!config) {
85
+ return { score: 0, segments: [] };
86
+ }
87
+ let score = 0;
88
+ const segments = [];
89
+ const contentLower = content.toLowerCase();
90
+ // Check patterns
91
+ for (const pattern of config.patterns) {
92
+ const matches = content.match(pattern);
93
+ if (matches) {
94
+ score += matches.length * 0.15;
95
+ // Find positions of matches
96
+ let lastIndex = 0;
97
+ for (const match of matches) {
98
+ const index = content.indexOf(match, lastIndex);
99
+ if (index !== -1) {
100
+ segments.push({
101
+ start: index,
102
+ end: index + match.length,
103
+ language,
104
+ content: match,
105
+ confidence: 0.8,
106
+ });
107
+ lastIndex = index + match.length;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ // Check keywords
113
+ for (const keyword of config.keywords) {
114
+ const keywordLower = keyword.toLowerCase();
115
+ // Match whole words only
116
+ const regex = new RegExp(`\\b${this.escapeRegex(keywordLower)}\\b`, 'gi');
117
+ const matches = contentLower.match(regex);
118
+ if (matches) {
119
+ score += matches.length * 0.05;
120
+ }
121
+ }
122
+ // Normalize score (cap at 1)
123
+ score = Math.min(1, score);
124
+ // Merge overlapping segments
125
+ const mergedSegments = this.mergeSegments(segments);
126
+ return { score, segments: mergedSegments };
127
+ }
128
+ /**
129
+ * Check if content is likely natural language (not code)
130
+ */
131
+ isLikelyNaturalLanguage(content) {
132
+ // Check for common indicators of natural language
133
+ const sentencePattern = /[.!?]\s+[A-Z]/g;
134
+ const sentences = content.match(sentencePattern)?.length || 0;
135
+ // Check for lack of code indicators
136
+ const codeIndicators = /[{}();=<>]|\bfunction\b|\bclass\b|\bdef\b|\bimport\b|\bexport\b/g;
137
+ const codeMatches = content.match(codeIndicators)?.length || 0;
138
+ // Natural language has more sentences than code indicators
139
+ return sentences > codeMatches || (sentences > 2 && codeMatches < 5);
140
+ }
141
+ /**
142
+ * Determine the primary language
143
+ */
144
+ determinePrimaryLanguage(detected) {
145
+ if (detected.length === 0) {
146
+ return { language: 'unknown', confidence: 0 };
147
+ }
148
+ // If multiple languages with similar confidence, it's mixed
149
+ if (detected.length > 1 && detected[0].confidence < 0.6 &&
150
+ detected[1].confidence > detected[0].confidence * 0.5) {
151
+ return { language: 'mixed', confidence: detected[0].confidence };
152
+ }
153
+ return { language: detected[0].language, confidence: detected[0].confidence };
154
+ }
155
+ /**
156
+ * Merge overlapping segments
157
+ */
158
+ mergeSegments(segments) {
159
+ if (segments.length <= 1)
160
+ return segments;
161
+ // Sort by start position
162
+ segments.sort((a, b) => a.start - b.start);
163
+ const merged = [];
164
+ let current = segments[0];
165
+ for (let i = 1; i < segments.length; i++) {
166
+ const next = segments[i];
167
+ if (next.start <= current.end) {
168
+ // Overlapping - merge
169
+ current = {
170
+ start: current.start,
171
+ end: Math.max(current.end, next.end),
172
+ language: current.language,
173
+ content: current.content + next.content.slice(Math.max(0, current.end - next.start)),
174
+ confidence: Math.max(current.confidence, next.confidence),
175
+ };
176
+ }
177
+ else {
178
+ merged.push(current);
179
+ current = next;
180
+ }
181
+ }
182
+ merged.push(current);
183
+ return merged;
184
+ }
185
+ /**
186
+ * Escape regex special characters
187
+ */
188
+ escapeRegex(str) {
189
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
190
+ }
191
+ /**
192
+ * Check if content is a specific language type
193
+ */
194
+ isLanguage(content, language) {
195
+ const detection = this.detectLanguage(content, language);
196
+ return detection.score > 0.3;
197
+ }
198
+ /**
199
+ * Check if content contains code
200
+ */
201
+ containsCode(content) {
202
+ const codeLanguages = [
203
+ 'javascript', 'typescript', 'python', 'sql', 'java', 'csharp', 'go', 'rust',
204
+ 'ruby', 'php', 'swift', 'kotlin', 'bash', 'powershell',
205
+ ];
206
+ for (const lang of codeLanguages) {
207
+ if (this.isLanguage(content, lang)) {
208
+ return true;
209
+ }
210
+ }
211
+ return false;
212
+ }
213
+ /**
214
+ * Extract code blocks from content
215
+ */
216
+ extractCodeBlocks(content) {
217
+ const blocks = [];
218
+ // Match fenced code blocks (```language ... ```)
219
+ const fencedRegex = /```(\w+)?\s*\n([\s\S]*?)```/g;
220
+ let match;
221
+ while ((match = fencedRegex.exec(content)) !== null) {
222
+ const language = match[1] || 'unknown';
223
+ const code = match[2];
224
+ blocks.push({
225
+ language,
226
+ code,
227
+ start: match.index,
228
+ end: match.index + match[0].length,
229
+ });
230
+ }
231
+ // Match indented code blocks (4 spaces or tab)
232
+ const indentedRegex = /(?:^|\n)((?:(?: |\t).+\n?)+)/g;
233
+ while ((match = indentedRegex.exec(content)) !== null) {
234
+ const code = match[1].replace(/^( |\t)/gm, '');
235
+ // Detect language of this block
236
+ const detection = this.detectLanguages(code);
237
+ const language = detection[0]?.language || 'unknown';
238
+ blocks.push({
239
+ language,
240
+ code,
241
+ start: match.index,
242
+ end: match.index + match[0].length,
243
+ });
244
+ }
245
+ return blocks;
246
+ }
247
+ }
248
+ //# sourceMappingURL=detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detector.js","sourceRoot":"","sources":["../../src/language/detector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Dōmere - The Judge Protocol
3
+ * Language Module
4
+ */
5
+ export { LanguageDetector } from './detector.js';
6
+ export { SemanticAnalyzer } from './semantic.js';
7
+ export { CodeAnalyzer } from './code-analyzer.js';
8
+ export { NLAnalyzer } from './nl-analyzer.js';
9
+ import type { LanguageAnalysis, LanguageType } from '../types.js';
10
+ export declare class LanguageAnalyzerService {
11
+ private detector;
12
+ private semantic;
13
+ private code;
14
+ private nl;
15
+ constructor();
16
+ /**
17
+ * Perform complete language analysis
18
+ */
19
+ analyze(content: string): LanguageAnalysis;
20
+ /**
21
+ * Quick language detection
22
+ */
23
+ detectLanguage(content: string): {
24
+ language: LanguageType;
25
+ confidence: number;
26
+ };
27
+ /**
28
+ * Check if content contains code
29
+ */
30
+ containsCode(content: string): boolean;
31
+ /**
32
+ * Analyze code specifically
33
+ */
34
+ analyzeCode(code: string, language?: LanguageType): import("../types.js").CodeAnalysis;
35
+ /**
36
+ * Check for injection attempts
37
+ */
38
+ checkInjection(content: string): import("../types.js").NLAnalysis;
39
+ /**
40
+ * Get injection risk score
41
+ */
42
+ getInjectionRisk(content: string): number;
43
+ /**
44
+ * Extract entities
45
+ */
46
+ extractEntities(content: string): import("../types.js").ExtractedEntity[];
47
+ /**
48
+ * Classify intent
49
+ */
50
+ classifyIntent(content: string): import("../types.js").IntentClassification;
51
+ /**
52
+ * Extract code blocks from mixed content
53
+ */
54
+ extractCodeBlocks(content: string): {
55
+ language: string;
56
+ code: string;
57
+ start: number;
58
+ end: number;
59
+ }[];
60
+ }
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAUlE,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,IAAI,CAAe;IAC3B,OAAO,CAAC,EAAE,CAAa;;IASvB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAgC1C;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,QAAQ,EAAE,YAAY,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE;IAQ/E;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAItC;;OAEG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY;IAKjD;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM;IAI9B;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAIzC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM;IAI/B;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,MAAM;IAI9B;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM;;;;;;CAGlC"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Dōmere - The Judge Protocol
3
+ * Language Module
4
+ */
5
+ export { LanguageDetector } from './detector.js';
6
+ export { SemanticAnalyzer } from './semantic.js';
7
+ export { CodeAnalyzer } from './code-analyzer.js';
8
+ export { NLAnalyzer } from './nl-analyzer.js';
9
+ import { LanguageDetector } from './detector.js';
10
+ import { SemanticAnalyzer } from './semantic.js';
11
+ import { CodeAnalyzer } from './code-analyzer.js';
12
+ import { NLAnalyzer } from './nl-analyzer.js';
13
+ // ============================================================================
14
+ // Unified Language Analyzer
15
+ // ============================================================================
16
+ export class LanguageAnalyzerService {
17
+ detector;
18
+ semantic;
19
+ code;
20
+ nl;
21
+ constructor() {
22
+ this.detector = new LanguageDetector();
23
+ this.semantic = new SemanticAnalyzer();
24
+ this.code = new CodeAnalyzer();
25
+ this.nl = new NLAnalyzer();
26
+ }
27
+ /**
28
+ * Perform complete language analysis
29
+ */
30
+ analyze(content) {
31
+ // First detect languages
32
+ const detection = this.detector.detect(content);
33
+ // Build full analysis
34
+ const analysis = {
35
+ ...detection,
36
+ };
37
+ // Add semantic analysis
38
+ analysis.semantic = this.semantic.analyze(content);
39
+ // Add code analysis if code detected
40
+ const codeLanguages = [
41
+ 'javascript', 'typescript', 'python', 'sql', 'java', 'csharp', 'go', 'rust',
42
+ 'ruby', 'php', 'swift', 'kotlin', 'bash', 'powershell',
43
+ ];
44
+ if (codeLanguages.includes(detection.primary_language)) {
45
+ analysis.code_analysis = this.code.analyze(content, detection.primary_language);
46
+ }
47
+ // Add NL analysis for natural language or mixed content
48
+ const nlLanguages = ['english', 'spanish', 'french', 'german', 'chinese', 'japanese', 'mixed', 'unknown'];
49
+ if (nlLanguages.includes(detection.primary_language) ||
50
+ detection.detected_languages.some(d => nlLanguages.includes(d.language))) {
51
+ analysis.nl_analysis = this.nl.analyze(content);
52
+ }
53
+ return analysis;
54
+ }
55
+ /**
56
+ * Quick language detection
57
+ */
58
+ detectLanguage(content) {
59
+ const detection = this.detector.detect(content);
60
+ return {
61
+ language: detection.primary_language,
62
+ confidence: detection.confidence,
63
+ };
64
+ }
65
+ /**
66
+ * Check if content contains code
67
+ */
68
+ containsCode(content) {
69
+ return this.detector.containsCode(content);
70
+ }
71
+ /**
72
+ * Analyze code specifically
73
+ */
74
+ analyzeCode(code, language) {
75
+ const lang = language || this.detectLanguage(code).language;
76
+ return this.code.analyze(code, lang);
77
+ }
78
+ /**
79
+ * Check for injection attempts
80
+ */
81
+ checkInjection(content) {
82
+ return this.nl.analyze(content);
83
+ }
84
+ /**
85
+ * Get injection risk score
86
+ */
87
+ getInjectionRisk(content) {
88
+ return this.nl.getInjectionRiskScore(content);
89
+ }
90
+ /**
91
+ * Extract entities
92
+ */
93
+ extractEntities(content) {
94
+ return this.semantic.extractEntities(content);
95
+ }
96
+ /**
97
+ * Classify intent
98
+ */
99
+ classifyIntent(content) {
100
+ return this.semantic.classifyIntent(content);
101
+ }
102
+ /**
103
+ * Extract code blocks from mixed content
104
+ */
105
+ extractCodeBlocks(content) {
106
+ return this.detector.extractCodeBlocks(content);
107
+ }
108
+ }
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/language/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * Dōmere - The Judge Protocol
3
+ * Natural Language Analysis (Prompt Injection Detection)
4
+ */
5
+ import type { NLAnalysis, ManipulationIndicator, HiddenInstruction } from '../types.js';
6
+ export declare class NLAnalyzer {
7
+ /**
8
+ * Analyze natural language for manipulation attempts
9
+ */
10
+ analyze(content: string): NLAnalysis;
11
+ /**
12
+ * Detect manipulation attempts
13
+ */
14
+ detectManipulation(content: string): ManipulationIndicator[];
15
+ /**
16
+ * Calculate manipulation score
17
+ */
18
+ calculateManipulationScore(indicators: ManipulationIndicator[]): number;
19
+ /**
20
+ * Detect authority claims
21
+ */
22
+ detectAuthorityClaims(content: string): string[];
23
+ /**
24
+ * Detect instruction override attempts
25
+ */
26
+ detectInstructionOverrides(content: string): string[];
27
+ /**
28
+ * Detect hidden instructions (encoded, obfuscated)
29
+ */
30
+ detectHiddenInstructions(content: string): HiddenInstruction[];
31
+ /**
32
+ * Detect jailbreak attempts
33
+ */
34
+ detectJailbreak(content: string): {
35
+ jailbreakScore: number;
36
+ jailbreakPatterns: string[];
37
+ };
38
+ /**
39
+ * Calculate overall risk level
40
+ */
41
+ private calculateRiskLevel;
42
+ /**
43
+ * Check if decoded content looks like an instruction
44
+ */
45
+ private looksLikeInstruction;
46
+ /**
47
+ * Get description for pattern type
48
+ */
49
+ private getPatternDescription;
50
+ /**
51
+ * Quick check for injection
52
+ */
53
+ isInjectionAttempt(content: string): boolean;
54
+ /**
55
+ * Get injection risk score (0-1)
56
+ */
57
+ getInjectionRiskScore(content: string): number;
58
+ }
59
+ //# sourceMappingURL=nl-analyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nl-analyzer.d.ts","sourceRoot":"","sources":["../../src/language/nl-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,qBAAqB,EACrB,iBAAiB,EAClB,MAAM,aAAa,CAAC;AAOrB,qBAAa,UAAU;IACrB;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,UAAU;IA6BpC;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,qBAAqB,EAAE;IA2C5D;;OAEG;IACH,0BAA0B,CAAC,UAAU,EAAE,qBAAqB,EAAE,GAAG,MAAM;IAavE;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IAwBhD;;OAEG;IACH,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE;IA0BrD;;OAEG;IACH,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,EAAE;IA6G9D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;KAAE;IAqDzF;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkB1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAK5C;;OAEG;IACH,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAI/C"}