@supernal/interface 1.0.4 → 1.0.7

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 (50) hide show
  1. package/dist/cjs/src/ai/AIInterface.js +183 -0
  2. package/dist/cjs/src/ai/AIInterface.js.map +1 -0
  3. package/dist/cjs/src/ai/ParameterExtractor.js +140 -0
  4. package/dist/cjs/src/ai/ParameterExtractor.js.map +1 -0
  5. package/dist/cjs/src/ai/SuggestionEngine.js +157 -0
  6. package/dist/cjs/src/ai/SuggestionEngine.js.map +1 -0
  7. package/dist/cjs/src/ai/ToolMatcher.js +20 -1
  8. package/dist/cjs/src/ai/ToolMatcher.js.map +1 -1
  9. package/dist/cjs/src/ai/index.js +5 -7
  10. package/dist/cjs/src/ai/index.js.map +1 -1
  11. package/dist/cjs/src/background/registry/ToolRegistry.js +28 -3
  12. package/dist/cjs/src/background/registry/ToolRegistry.js.map +1 -1
  13. package/dist/cjs/src/browser.js +9 -1
  14. package/dist/cjs/src/browser.js.map +1 -1
  15. package/dist/cjs/src/decorators/ToolHelpers.js +3 -3
  16. package/dist/cjs/src/decorators/ToolHelpers.js.map +1 -1
  17. package/dist/cjs/src/index.js +3 -1
  18. package/dist/cjs/src/index.js.map +1 -1
  19. package/dist/esm/src/ai/AIInterface.d.ts +79 -0
  20. package/dist/esm/src/ai/AIInterface.d.ts.map +1 -0
  21. package/dist/esm/src/ai/AIInterface.js +179 -0
  22. package/dist/esm/src/ai/AIInterface.js.map +1 -0
  23. package/dist/esm/src/ai/ParameterExtractor.d.ts +50 -0
  24. package/dist/esm/src/ai/ParameterExtractor.d.ts.map +1 -0
  25. package/dist/esm/src/ai/ParameterExtractor.js +136 -0
  26. package/dist/esm/src/ai/ParameterExtractor.js.map +1 -0
  27. package/dist/esm/src/ai/SuggestionEngine.d.ts +43 -0
  28. package/dist/esm/src/ai/SuggestionEngine.d.ts.map +1 -0
  29. package/dist/esm/src/ai/SuggestionEngine.js +153 -0
  30. package/dist/esm/src/ai/SuggestionEngine.js.map +1 -0
  31. package/dist/esm/src/ai/ToolMatcher.js +20 -1
  32. package/dist/esm/src/ai/ToolMatcher.js.map +1 -1
  33. package/dist/esm/src/ai/index.d.ts +5 -3
  34. package/dist/esm/src/ai/index.d.ts.map +1 -1
  35. package/dist/esm/src/ai/index.js +5 -7
  36. package/dist/esm/src/ai/index.js.map +1 -1
  37. package/dist/esm/src/background/registry/ToolRegistry.d.ts.map +1 -1
  38. package/dist/esm/src/background/registry/ToolRegistry.js +28 -3
  39. package/dist/esm/src/background/registry/ToolRegistry.js.map +1 -1
  40. package/dist/esm/src/browser.d.ts +3 -0
  41. package/dist/esm/src/browser.d.ts.map +1 -1
  42. package/dist/esm/src/browser.js +4 -0
  43. package/dist/esm/src/browser.js.map +1 -1
  44. package/dist/esm/src/decorators/ToolHelpers.js +3 -3
  45. package/dist/esm/src/decorators/ToolHelpers.js.map +1 -1
  46. package/dist/esm/src/index.d.ts +1 -0
  47. package/dist/esm/src/index.d.ts.map +1 -1
  48. package/dist/esm/src/index.js +1 -0
  49. package/dist/esm/src/index.js.map +1 -1
  50. package/package.json +1 -1
@@ -0,0 +1,136 @@
1
+ /**
2
+ * ParameterExtractor - Extract parameters from natural language queries
3
+ *
4
+ * Supports multiple extraction strategies:
5
+ * - Pattern-based (using tool examples)
6
+ * - Entity extraction (dates, numbers, names)
7
+ * - LLM-based extraction (structured JSON)
8
+ */
9
+ /**
10
+ * Main ParameterExtractor orchestrator
11
+ */
12
+ export class ParameterExtractor {
13
+ constructor() {
14
+ this.strategies = [];
15
+ // Register default strategies
16
+ this.registerStrategy(new PatternExtractor());
17
+ this.registerStrategy(new EntityExtractor());
18
+ }
19
+ /**
20
+ * Register a new extraction strategy
21
+ */
22
+ registerStrategy(strategy) {
23
+ this.strategies.push(strategy);
24
+ this.strategies.sort((a, b) => b.priority - a.priority);
25
+ }
26
+ /**
27
+ * Extract parameters from query for a specific tool
28
+ */
29
+ async extract(query, tool) {
30
+ // Try each strategy in priority order
31
+ for (const strategy of this.strategies) {
32
+ try {
33
+ const result = await strategy.extract(query, tool);
34
+ if (result && result.confidence >= 60) {
35
+ console.log(`✅ [ParamExtract] Used strategy: ${strategy.name}`, result);
36
+ return result;
37
+ }
38
+ }
39
+ catch (error) {
40
+ console.warn(`[ParamExtract] Strategy ${strategy.name} failed:`, error);
41
+ }
42
+ }
43
+ // No successful extraction
44
+ return {
45
+ parameters: [],
46
+ confidence: 0,
47
+ reasoning: 'No extraction strategy succeeded'
48
+ };
49
+ }
50
+ }
51
+ /**
52
+ * Pattern-based extraction using tool examples
53
+ */
54
+ class PatternExtractor {
55
+ constructor() {
56
+ this.name = 'pattern';
57
+ this.priority = 80;
58
+ }
59
+ async extract(query, tool) {
60
+ const examples = tool.examples || [];
61
+ if (examples.length === 0) {
62
+ return null;
63
+ }
64
+ const lowerQuery = query.toLowerCase().trim();
65
+ // Try to match each example pattern
66
+ for (const example of examples) {
67
+ const pattern = example.toLowerCase();
68
+ // Check if query starts with the pattern
69
+ if (lowerQuery.startsWith(pattern)) {
70
+ // Extract trailing text as parameter
71
+ const trailing = query.substring(example.length).trim();
72
+ if (trailing) {
73
+ console.log(`🔍 [PatternExtract] Matched: "${example}" → param: "${trailing}"`);
74
+ return {
75
+ parameters: [trailing],
76
+ confidence: 90,
77
+ reasoning: `Matched pattern: "${example}"`
78
+ };
79
+ }
80
+ }
81
+ // Check if pattern contains a placeholder (e.g., "open blog {title}")
82
+ const placeholderMatch = pattern.match(/\{(\w+)\}/);
83
+ if (placeholderMatch) {
84
+ // Create a regex from the pattern
85
+ const regexPattern = pattern.replace(/\{(\w+)\}/g, '(.+?)');
86
+ const regex = new RegExp(`^${regexPattern}$`, 'i');
87
+ const match = lowerQuery.match(regex);
88
+ if (match && match[1]) {
89
+ console.log(`🔍 [PatternExtract] Placeholder match: "${example}" → param: "${match[1]}"`);
90
+ return {
91
+ parameters: [match[1].trim()],
92
+ confidence: 95,
93
+ reasoning: `Matched placeholder in: "${example}"`
94
+ };
95
+ }
96
+ }
97
+ }
98
+ return null;
99
+ }
100
+ }
101
+ /**
102
+ * Entity extraction for common types (numbers, dates, etc.)
103
+ */
104
+ class EntityExtractor {
105
+ constructor() {
106
+ this.name = 'entity';
107
+ this.priority = 60;
108
+ }
109
+ async extract(query, tool) {
110
+ const parameters = [];
111
+ // Extract numbers
112
+ const numberMatch = query.match(/\d+/);
113
+ if (numberMatch) {
114
+ parameters.push(parseInt(numberMatch[0], 10));
115
+ }
116
+ // Extract quoted strings
117
+ const quotedMatch = query.match(/"([^"]+)"/);
118
+ if (quotedMatch) {
119
+ parameters.push(quotedMatch[1]);
120
+ }
121
+ // Extract common entities (colors, themes, etc.)
122
+ const colorMatch = query.match(/\b(red|blue|green|dark|light|black|white)\b/i);
123
+ if (colorMatch) {
124
+ parameters.push(colorMatch[1].toLowerCase());
125
+ }
126
+ if (parameters.length > 0) {
127
+ return {
128
+ parameters,
129
+ confidence: 70,
130
+ reasoning: `Extracted ${parameters.length} entities`
131
+ };
132
+ }
133
+ return null;
134
+ }
135
+ }
136
+ //# sourceMappingURL=ParameterExtractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterExtractor.js","sourceRoot":"","sources":["../../../../src/ai/ParameterExtractor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * SuggestionEngine - "Did You Mean?" system for invalid queries
3
+ *
4
+ * Provides helpful suggestions when user queries don't match any tools:
5
+ * - Typo detection (Levenshtein distance)
6
+ * - Similar command suggestions
7
+ * - Available command list
8
+ */
9
+ import type { ToolMetadata } from '../decorators/Tool';
10
+ /**
11
+ * Suggestion with confidence
12
+ */
13
+ export interface Suggestion {
14
+ text: string;
15
+ confidence: number;
16
+ type: 'typo' | 'similar' | 'example' | 'category';
17
+ tool?: ToolMetadata;
18
+ }
19
+ /**
20
+ * SuggestionEngine for generating "Did You Mean?" prompts
21
+ */
22
+ export declare class SuggestionEngine {
23
+ /**
24
+ * Generate suggestions for an invalid/ambiguous query
25
+ * @param query User's query
26
+ * @param tools Available tools
27
+ * @param maxSuggestions Maximum number of suggestions to return
28
+ */
29
+ getSuggestions(query: string, tools: ToolMetadata[], maxSuggestions?: number): Suggestion[];
30
+ /**
31
+ * Format suggestions into a user-friendly message
32
+ */
33
+ formatSuggestions(suggestions: Suggestion[]): string;
34
+ /**
35
+ * Match query to a category
36
+ */
37
+ private matchCategory;
38
+ /**
39
+ * Calculate Levenshtein distance between two strings
40
+ */
41
+ private levenshtein;
42
+ }
43
+ //# sourceMappingURL=SuggestionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionEngine.d.ts","sourceRoot":"","sources":["../../../../src/ai/SuggestionEngine.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;IAClD,IAAI,CAAC,EAAE,YAAY,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;;;;OAKG;IACH,cAAc,CACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,YAAY,EAAE,EACrB,cAAc,GAAE,MAAU,GACzB,UAAU,EAAE;IAgFf;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,MAAM;IA4BpD;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,WAAW;CA2BpB"}
@@ -0,0 +1,153 @@
1
+ /**
2
+ * SuggestionEngine - "Did You Mean?" system for invalid queries
3
+ *
4
+ * Provides helpful suggestions when user queries don't match any tools:
5
+ * - Typo detection (Levenshtein distance)
6
+ * - Similar command suggestions
7
+ * - Available command list
8
+ */
9
+ /**
10
+ * SuggestionEngine for generating "Did You Mean?" prompts
11
+ */
12
+ export class SuggestionEngine {
13
+ /**
14
+ * Generate suggestions for an invalid/ambiguous query
15
+ * @param query User's query
16
+ * @param tools Available tools
17
+ * @param maxSuggestions Maximum number of suggestions to return
18
+ */
19
+ getSuggestions(query, tools, maxSuggestions = 5) {
20
+ const suggestions = [];
21
+ const lowerQuery = query.toLowerCase().trim();
22
+ // 1. Check for typos (Levenshtein distance ≤ 3)
23
+ for (const tool of tools) {
24
+ const examples = tool.examples || [];
25
+ const allPhrases = [tool.name, ...examples];
26
+ for (const phrase of allPhrases) {
27
+ const distance = this.levenshtein(lowerQuery, phrase.toLowerCase());
28
+ if (distance <= 3 && distance > 0) {
29
+ const confidence = Math.round((1 - distance / Math.max(lowerQuery.length, phrase.length)) * 100);
30
+ suggestions.push({
31
+ text: phrase,
32
+ confidence,
33
+ type: 'typo',
34
+ tool
35
+ });
36
+ }
37
+ }
38
+ }
39
+ // 2. Find similar commands (keyword overlap)
40
+ const queryWords = lowerQuery.split(/\s+/);
41
+ for (const tool of tools) {
42
+ const examples = tool.examples || [];
43
+ const toolWords = [
44
+ ...tool.name.toLowerCase().split(/\s+/),
45
+ ...(tool.description?.toLowerCase().split(/\s+/) || []),
46
+ ...examples.flatMap((e) => e.toLowerCase().split(/\s+/))
47
+ ];
48
+ const overlap = queryWords.filter(w => toolWords.includes(w)).length;
49
+ if (overlap > 0) {
50
+ const confidence = Math.round((overlap / queryWords.length) * 100);
51
+ // Use first example if available, otherwise tool name
52
+ const text = examples[0] || tool.name;
53
+ suggestions.push({
54
+ text,
55
+ confidence,
56
+ type: 'similar',
57
+ tool
58
+ });
59
+ }
60
+ }
61
+ // 3. Category-based suggestions
62
+ const categoryMatch = this.matchCategory(lowerQuery);
63
+ if (categoryMatch) {
64
+ const categoryTools = tools.filter(t => t.category === categoryMatch);
65
+ for (const tool of categoryTools.slice(0, 3)) {
66
+ const examples = tool.examples || [];
67
+ const text = examples[0] || tool.name;
68
+ suggestions.push({
69
+ text,
70
+ confidence: 60,
71
+ type: 'category',
72
+ tool
73
+ });
74
+ }
75
+ }
76
+ // Sort by confidence and deduplicate
77
+ const sorted = suggestions
78
+ .sort((a, b) => b.confidence - a.confidence)
79
+ .filter((s, i, arr) =>
80
+ // Remove duplicates (same text)
81
+ i === arr.findIndex(other => other.text === s.text))
82
+ .slice(0, maxSuggestions);
83
+ return sorted;
84
+ }
85
+ /**
86
+ * Format suggestions into a user-friendly message
87
+ */
88
+ formatSuggestions(suggestions) {
89
+ if (suggestions.length === 0) {
90
+ return 'No suggestions available. Try typing "help" to see all commands.';
91
+ }
92
+ const typos = suggestions.filter(s => s.type === 'typo');
93
+ const similar = suggestions.filter(s => s.type === 'similar' || s.type === 'category');
94
+ let message = '';
95
+ if (typos.length > 0) {
96
+ message += '❓ Did you mean?\n';
97
+ for (const typo of typos.slice(0, 3)) {
98
+ message += ` • "${typo.text}"\n`;
99
+ }
100
+ }
101
+ if (similar.length > 0) {
102
+ if (message)
103
+ message += '\n';
104
+ message += '💡 Similar commands:\n';
105
+ for (const sim of similar.slice(0, 3)) {
106
+ message += ` • "${sim.text}"\n`;
107
+ }
108
+ }
109
+ return message.trim();
110
+ }
111
+ /**
112
+ * Match query to a category
113
+ */
114
+ matchCategory(query) {
115
+ const categories = {
116
+ 'navigation': ['go', 'open', 'navigate', 'show', 'view', 'page'],
117
+ 'theme': ['theme', 'color', 'dark', 'light', 'appearance'],
118
+ 'data': ['load', 'fetch', 'get', 'data', 'retrieve'],
119
+ 'form': ['submit', 'save', 'form', 'input', 'enter'],
120
+ 'state': ['set', 'change', 'update', 'modify', 'status']
121
+ };
122
+ for (const [category, keywords] of Object.entries(categories)) {
123
+ if (keywords.some(kw => query.includes(kw))) {
124
+ return category;
125
+ }
126
+ }
127
+ return null;
128
+ }
129
+ /**
130
+ * Calculate Levenshtein distance between two strings
131
+ */
132
+ levenshtein(a, b) {
133
+ const matrix = [];
134
+ for (let i = 0; i <= b.length; i++) {
135
+ matrix[i] = [i];
136
+ }
137
+ for (let j = 0; j <= a.length; j++) {
138
+ matrix[0][j] = j;
139
+ }
140
+ for (let i = 1; i <= b.length; i++) {
141
+ for (let j = 1; j <= a.length; j++) {
142
+ if (b.charAt(i - 1) === a.charAt(j - 1)) {
143
+ matrix[i][j] = matrix[i - 1][j - 1];
144
+ }
145
+ else {
146
+ matrix[i][j] = Math.min(matrix[i - 1][j - 1] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j] + 1);
147
+ }
148
+ }
149
+ }
150
+ return matrix[b.length][a.length];
151
+ }
152
+ }
153
+ //# sourceMappingURL=SuggestionEngine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SuggestionEngine.js","sourceRoot":"","sources":["../../../../src/ai/SuggestionEngine.ts"],"names":[],"mappings":"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"}
@@ -137,11 +137,30 @@ class FuzzyMatcher {
137
137
  // Check examples similarity
138
138
  const examples = tool.examples || [];
139
139
  for (const example of examples) {
140
- const exampleScore = this.similarity(lowerQuery, example.toLowerCase());
140
+ // Remove placeholders like {query}, {title} for better matching
141
+ const exampleNormalized = example.toLowerCase().replace(/\{[^}]+\}/g, '').trim();
142
+ // Check if query matches the pattern without the placeholder
143
+ const exampleScore = this.similarity(lowerQuery, exampleNormalized);
141
144
  if (exampleScore > bestScore) {
142
145
  bestScore = exampleScore;
143
146
  bestMatch = example;
144
147
  }
148
+ // Also check if query has extra words that could be the placeholder value
149
+ // E.g., "open your users" should match "open {query}"
150
+ const queryWords = lowerQuery.split(/\s+/);
151
+ const patternWords = exampleNormalized.split(/\s+/).filter((w) => w.length > 0);
152
+ // If query starts with the same words as the pattern, it's likely a match with parameter
153
+ if (patternWords.length > 0 && queryWords.length >= patternWords.length) {
154
+ const matchesPattern = patternWords.every((word, i) => queryWords[i] && queryWords[i].includes(word));
155
+ if (matchesPattern) {
156
+ // Boost score for parameter-based patterns
157
+ const paramScore = 0.85 + (patternWords.length / queryWords.length * 0.10);
158
+ if (paramScore > bestScore) {
159
+ bestScore = paramScore;
160
+ bestMatch = `${example} (pattern match with parameter)`;
161
+ }
162
+ }
163
+ }
145
164
  }
146
165
  // Check keyword overlap
147
166
  const keywords = tool.description?.toLowerCase().split(/\s+/) || [];
@@ -1 +1 @@
1
- {"version":3,"file":"ToolMatcher.js","sourceRoot":"","sources":["../../../../src/ai/ToolMatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolMatcher.js","sourceRoot":"","sources":["../../../../src/ai/ToolMatcher.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  /**
2
- * AI Command Interface - Core exports (Open Source Edition)
2
+ * AI Command Interface - Core exports
3
3
  *
4
- * Basic AI matching and execution. Advanced features (LLMProvider,
5
- * ParameterExtractor, SuggestionEngine) available in enterprise edition.
4
+ * Re-exports all open-source AI abstractions
6
5
  */
6
+ export * from './AIInterface';
7
7
  export * from './ToolMatcher';
8
+ export * from './ParameterExtractor';
8
9
  export * from './ToolExecutor';
10
+ export * from './SuggestionEngine';
9
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1,13 +1,11 @@
1
1
  /**
2
- * AI Command Interface - Core exports (Open Source Edition)
2
+ * AI Command Interface - Core exports
3
3
  *
4
- * Basic AI matching and execution. Advanced features (LLMProvider,
5
- * ParameterExtractor, SuggestionEngine) available in enterprise edition.
4
+ * Re-exports all open-source AI abstractions
6
5
  */
6
+ export * from './AIInterface.js';
7
7
  export * from './ToolMatcher.js';
8
+ export * from './ParameterExtractor.js';
8
9
  export * from './ToolExecutor.js';
9
- // Enterprise features - available at https://supernal.ai/enterprise
10
- // export * from './ParameterExtractor.js';
11
- // export * from './LLMProvider.js';
12
- // export * from './SuggestionEngine.js';
10
+ export * from './SuggestionEngine.js';
13
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,oEAAoE;AACpE,wCAAwC;AACxC,iCAAiC;AACjC,sCAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/background/registry/ToolRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/background/registry/ToolRegistry.ts"],"names":[],"mappings":"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"}
@@ -183,15 +183,34 @@ export class ToolRegistry {
183
183
  const queryLower = query.toLowerCase();
184
184
  console.log(`🔍 [ToolRegistry] Scoped search: "${query}" (container: ${currentContainer || 'none'})`);
185
185
  const allTools = Array.from(this.tools.values());
186
+ // DEBUG: Log all tools with their containerIds
187
+ console.log(`🔍 [ToolRegistry] Total tools in registry: ${allTools.length}`);
188
+ console.log(`🔍 [ToolRegistry] currentContainer = "${currentContainer}"`);
189
+ if (currentContainer) {
190
+ const toolsForContainer = allTools.filter(t => t.containerId === currentContainer);
191
+ console.log(`🔍 [ToolRegistry] Tools with containerId="${currentContainer}":`, toolsForContainer.map(t => ({ name: t.name, examples: t.examples?.slice(0, 2) })));
192
+ // DEBUG: Show ALL containerIds in registry
193
+ const allContainerIds = new Set(allTools.map(t => t.containerId).filter(Boolean));
194
+ console.log(`🔍 [ToolRegistry] All unique containerIds in registry:`, Array.from(allContainerIds));
195
+ }
186
196
  // Search in tool metadata (including component names)
187
197
  const matches = allTools.filter(tool => {
198
+ const examplePatterns = (tool.examples || [])
199
+ .filter(Boolean)
200
+ .map(ex => ex.toLowerCase().replace(/\{[^}]+\}/g, '').trim())
201
+ .filter(Boolean);
202
+ const startsWithPattern = examplePatterns.some(pattern => queryLower.startsWith(pattern));
203
+ if (startsWithPattern) {
204
+ console.log(` ✓ [ToolRegistry] Tool matched: ${tool.name} (container: ${tool.containerId || 'none'})`);
205
+ return true;
206
+ }
188
207
  const searchFields = [
189
208
  tool.name,
190
209
  tool.description,
191
210
  tool.componentName,
192
211
  tool.methodName,
193
212
  tool.category,
194
- ...(tool.examples || []),
213
+ ...examplePatterns,
195
214
  ...(tool.keywords || []),
196
215
  ]
197
216
  .filter(Boolean)
@@ -205,8 +224,14 @@ export class ToolRegistry {
205
224
  const local = matches.filter(t => t.containerId === currentContainer);
206
225
  const global = matches.filter(t => !t.containerId || t.containerId !== currentContainer);
207
226
  console.log(`📊 [ToolRegistry] Found: ${local.length} local, ${global.length} global`);
208
- // Prioritize local over global
209
- return [...local, ...global];
227
+ // LOCAL OVERRIDE: If any local tools match, ONLY return local tools
228
+ // This implements lexical scoping: local shadows global
229
+ if (local.length > 0) {
230
+ console.log(`🎯 [ToolRegistry] Local tools found - shadowing ${global.length} global tools`);
231
+ return local;
232
+ }
233
+ // Fallback to global if no local matches
234
+ return global;
210
235
  }
211
236
  /**
212
237
  * Get tools by component name