@mytechtoday/augment-extensions 1.5.0 → 1.5.2

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.
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ /**
3
+ * AI Summary Generation Utilities
4
+ *
5
+ * Generates concise summaries of modules for AI context
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ Object.defineProperty(exports, "__esModule", { value: true });
41
+ exports.generateModuleSummary = generateModuleSummary;
42
+ exports.generateDetailedSummary = generateDetailedSummary;
43
+ exports.generateJSONSummary = generateJSONSummary;
44
+ exports.generateCompactSummary = generateCompactSummary;
45
+ exports.generateAIContext = generateAIContext;
46
+ exports.generateSummaryWithSuggestions = generateSummaryWithSuggestions;
47
+ const fs = __importStar(require("fs"));
48
+ const path = __importStar(require("path"));
49
+ /**
50
+ * Generate a concise summary of a module
51
+ */
52
+ function generateModuleSummary(module) {
53
+ const keyRules = module.rules?.slice(0, 10) || [];
54
+ const exampleCount = module.examples?.length || 0;
55
+ const characterCount = module.metadata.augment?.characterCount || 0;
56
+ const tags = module.metadata.tags || [];
57
+ const summary = `${module.fullName} (v${module.metadata.version}) provides ${module.metadata.type} guidelines. ` +
58
+ `Includes ${keyRules.length} key rules and ${exampleCount} examples. ` +
59
+ `Total content: ~${characterCount} characters.`;
60
+ return {
61
+ name: module.fullName,
62
+ version: module.metadata.version,
63
+ type: module.metadata.type,
64
+ description: module.metadata.description,
65
+ keyRules,
66
+ exampleCount,
67
+ characterCount,
68
+ tags,
69
+ summary
70
+ };
71
+ }
72
+ /**
73
+ * Generate a detailed AI-friendly summary
74
+ */
75
+ function generateDetailedSummary(module, includeContent = false) {
76
+ const summary = generateModuleSummary(module);
77
+ let output = `# ${summary.name}\n\n`;
78
+ output += `**Version**: ${summary.version}\n`;
79
+ output += `**Type**: ${summary.type}\n`;
80
+ output += `**Description**: ${summary.description}\n\n`;
81
+ output += `## Quick Summary\n${summary.summary}\n\n`;
82
+ if (summary.tags.length > 0) {
83
+ output += `## Tags\n${summary.tags.map(tag => `- ${tag}`).join('\n')}\n\n`;
84
+ }
85
+ if (summary.keyRules.length > 0) {
86
+ output += `## Key Rules\n`;
87
+ summary.keyRules.forEach((rule, i) => {
88
+ output += `${i + 1}. ${rule}\n`;
89
+ });
90
+ output += '\n';
91
+ }
92
+ if (summary.exampleCount > 0) {
93
+ output += `## Examples\n`;
94
+ output += `This module includes ${summary.exampleCount} example(s).\n\n`;
95
+ }
96
+ output += `## Metrics\n`;
97
+ output += `- Character Count: ${summary.characterCount.toLocaleString()}\n`;
98
+ output += `- Rules: ${summary.keyRules.length}\n`;
99
+ output += `- Examples: ${summary.exampleCount}\n\n`;
100
+ if (includeContent && module.path) {
101
+ output += `## Content Preview\n`;
102
+ output += generateContentPreview(module);
103
+ }
104
+ return output;
105
+ }
106
+ /**
107
+ * Generate a content preview from module files
108
+ */
109
+ function generateContentPreview(module) {
110
+ let preview = '';
111
+ // Try to read README
112
+ const readmePath = path.join(module.path, 'README.md');
113
+ if (fs.existsSync(readmePath)) {
114
+ const content = fs.readFileSync(readmePath, 'utf-8');
115
+ const lines = content.split('\n').slice(0, 20);
116
+ preview += '### README.md (first 20 lines)\n```markdown\n';
117
+ preview += lines.join('\n');
118
+ preview += '\n```\n\n';
119
+ }
120
+ // Try to read first rule file
121
+ if (module.rules && module.rules.length > 0) {
122
+ const firstRule = module.rules[0];
123
+ const rulePath = path.join(module.path, 'rules', firstRule);
124
+ if (fs.existsSync(rulePath)) {
125
+ const content = fs.readFileSync(rulePath, 'utf-8');
126
+ const lines = content.split('\n').slice(0, 15);
127
+ preview += `### ${firstRule} (first 15 lines)\n\`\`\`markdown\n`;
128
+ preview += lines.join('\n');
129
+ preview += '\n```\n\n';
130
+ }
131
+ }
132
+ return preview || 'No content preview available.\n';
133
+ }
134
+ /**
135
+ * Generate a JSON summary for programmatic use
136
+ */
137
+ function generateJSONSummary(module) {
138
+ const summary = generateModuleSummary(module);
139
+ return JSON.stringify(summary, null, 2);
140
+ }
141
+ /**
142
+ * Generate a compact one-line summary
143
+ */
144
+ function generateCompactSummary(module) {
145
+ const summary = generateModuleSummary(module);
146
+ return `${summary.name} v${summary.version}: ${summary.description} (${summary.keyRules.length} rules, ${summary.exampleCount} examples)`;
147
+ }
148
+ /**
149
+ * Generate AI context string for injection
150
+ */
151
+ function generateAIContext(module) {
152
+ const summary = generateModuleSummary(module);
153
+ let context = `Module: ${summary.name}\n`;
154
+ context += `Type: ${summary.type}\n`;
155
+ context += `Description: ${summary.description}\n\n`;
156
+ context += `Key Standards:\n`;
157
+ summary.keyRules.forEach((rule, i) => {
158
+ context += `${i + 1}. ${rule}\n`;
159
+ });
160
+ context += `\nWhen generating code, follow these ${summary.type} standards from ${summary.name}.\n`;
161
+ return context;
162
+ }
163
+ /**
164
+ * Generate a summary with optimization suggestions
165
+ */
166
+ function generateSummaryWithSuggestions(module) {
167
+ const summary = generateDetailedSummary(module, false);
168
+ let suggestions = '\n## AI Usage Suggestions\n\n';
169
+ suggestions += `### For Code Generation\n`;
170
+ suggestions += `Use this module when generating ${module.metadata.type} code to ensure compliance with standards.\n\n`;
171
+ suggestions += `### For Code Review\n`;
172
+ suggestions += `Reference these rules when reviewing code for ${module.metadata.type} best practices.\n\n`;
173
+ suggestions += `### For Refactoring\n`;
174
+ suggestions += `Apply these standards when refactoring existing code to improve quality and maintainability.\n\n`;
175
+ return summary + suggestions;
176
+ }
177
+ //# sourceMappingURL=ai-summary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-summary.js","sourceRoot":"","sources":["../../src/utils/ai-summary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * Augment configuration interface
3
+ */
4
+ export interface AugmentConfig {
5
+ version: string;
6
+ plugins?: {
7
+ enabled?: boolean;
8
+ directory?: string;
9
+ autoLoad?: boolean;
10
+ };
11
+ inspection?: {
12
+ defaultFormat?: 'text' | 'json' | 'markdown';
13
+ cache?: boolean;
14
+ cacheTTL?: number;
15
+ maxDepth?: number;
16
+ pageSize?: number;
17
+ secureMode?: boolean;
18
+ syntaxHighlighting?: boolean;
19
+ };
20
+ modules?: {
21
+ searchPaths?: string[];
22
+ autoDiscover?: boolean;
23
+ linkedModulesFile?: string;
24
+ };
25
+ hooks?: {
26
+ enabled?: boolean;
27
+ timeout?: number;
28
+ };
29
+ vscode?: {
30
+ enableFileLinks?: boolean;
31
+ openInPreview?: boolean;
32
+ webviewEnabled?: boolean;
33
+ };
34
+ ai?: {
35
+ enablePromptGeneration?: boolean;
36
+ enableSummaries?: boolean;
37
+ defaultPromptTemplate?: 'code-review' | 'module-summary' | 'optimization' | 'refactoring';
38
+ };
39
+ }
40
+ /**
41
+ * Configuration loader class
42
+ */
43
+ export declare class ConfigLoader {
44
+ private static instance;
45
+ private config;
46
+ private configPath;
47
+ private lastModified;
48
+ private constructor();
49
+ /**
50
+ * Get singleton instance
51
+ */
52
+ static getInstance(): ConfigLoader;
53
+ /**
54
+ * Load configuration from file
55
+ */
56
+ loadConfig(customPath?: string): AugmentConfig;
57
+ /**
58
+ * Find configuration file in standard locations
59
+ */
60
+ private findConfigFile;
61
+ /**
62
+ * Load default configuration
63
+ */
64
+ private loadDefaultConfig;
65
+ /**
66
+ * Validate configuration against JSON schema
67
+ */
68
+ private validateConfig;
69
+ /**
70
+ * Merge user configuration with defaults
71
+ */
72
+ private mergeConfigs;
73
+ /**
74
+ * Get current configuration
75
+ */
76
+ getConfig(): AugmentConfig;
77
+ /**
78
+ * Reload configuration from disk
79
+ */
80
+ reloadConfig(): AugmentConfig;
81
+ /**
82
+ * Get specific configuration value
83
+ */
84
+ get<K extends keyof AugmentConfig>(key: K): AugmentConfig[K];
85
+ }
86
+ /**
87
+ * Export singleton instance
88
+ */
89
+ export declare const configLoader: ConfigLoader;
90
+ //# sourceMappingURL=config-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE;QACX,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,CAAC;QAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,EAAE,CAAC,EAAE;QACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;QACjC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,qBAAqB,CAAC,EAAE,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,aAAa,CAAC;KAC3F,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO;IAEP;;OAEG;WACW,WAAW,IAAI,YAAY;IAOzC;;OAEG;IACI,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa;IA0CrD;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoCzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACI,SAAS,IAAI,aAAa;IAOjC;;OAEG;IACI,YAAY,IAAI,aAAa;IAMpC;;OAEG;IACI,GAAG,CAAC,CAAC,SAAS,MAAM,aAAa,EAAE,GAAG,EAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC;CAIpE;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAA6B,CAAC"}
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.configLoader = exports.ConfigLoader = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const ajv_1 = __importDefault(require("ajv"));
43
+ /**
44
+ * Configuration loader class
45
+ */
46
+ class ConfigLoader {
47
+ constructor() {
48
+ this.config = null;
49
+ this.configPath = null;
50
+ this.lastModified = 0;
51
+ }
52
+ /**
53
+ * Get singleton instance
54
+ */
55
+ static getInstance() {
56
+ if (!ConfigLoader.instance) {
57
+ ConfigLoader.instance = new ConfigLoader();
58
+ }
59
+ return ConfigLoader.instance;
60
+ }
61
+ /**
62
+ * Load configuration from file
63
+ */
64
+ loadConfig(customPath) {
65
+ // Determine config file path
66
+ const configPath = customPath || this.findConfigFile();
67
+ if (!configPath) {
68
+ // Return default configuration
69
+ return this.loadDefaultConfig();
70
+ }
71
+ // Check if config file has been modified
72
+ const stats = fs.statSync(configPath);
73
+ const modified = stats.mtimeMs;
74
+ if (this.config && this.configPath === configPath && this.lastModified === modified) {
75
+ // Return cached config
76
+ return this.config;
77
+ }
78
+ // Load and parse config file
79
+ try {
80
+ const configContent = fs.readFileSync(configPath, 'utf-8');
81
+ const userConfig = JSON.parse(configContent);
82
+ // Validate config against schema
83
+ if (!this.validateConfig(userConfig)) {
84
+ console.warn('Invalid configuration file. Using defaults.');
85
+ return this.loadDefaultConfig();
86
+ }
87
+ // Merge with defaults
88
+ const defaultConfig = this.loadDefaultConfig();
89
+ this.config = this.mergeConfigs(defaultConfig, userConfig);
90
+ this.configPath = configPath;
91
+ this.lastModified = modified;
92
+ return this.config;
93
+ }
94
+ catch (error) {
95
+ console.error('Error loading configuration:', error);
96
+ return this.loadDefaultConfig();
97
+ }
98
+ }
99
+ /**
100
+ * Find configuration file in standard locations
101
+ */
102
+ findConfigFile() {
103
+ const searchPaths = [
104
+ path.join(process.cwd(), '.augment', 'augment.json'),
105
+ path.join(process.cwd(), 'augment.json'),
106
+ path.join(process.env.HOME || process.env.USERPROFILE || '', '.augment', 'augment.json')
107
+ ];
108
+ for (const searchPath of searchPaths) {
109
+ if (fs.existsSync(searchPath)) {
110
+ return searchPath;
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ /**
116
+ * Load default configuration
117
+ */
118
+ loadDefaultConfig() {
119
+ const defaultConfigPath = path.join(__dirname, '..', '..', 'config', 'augment-default.json');
120
+ try {
121
+ const configContent = fs.readFileSync(defaultConfigPath, 'utf-8');
122
+ return JSON.parse(configContent);
123
+ }
124
+ catch (error) {
125
+ // Fallback to hardcoded defaults
126
+ return {
127
+ version: '1.0.0',
128
+ plugins: { enabled: true, directory: '.augment/plugins', autoLoad: true },
129
+ inspection: {
130
+ defaultFormat: 'text',
131
+ cache: true,
132
+ cacheTTL: 3600,
133
+ maxDepth: 5,
134
+ pageSize: 10,
135
+ secureMode: false,
136
+ syntaxHighlighting: true
137
+ },
138
+ modules: {
139
+ searchPaths: ['augment-extensions'],
140
+ autoDiscover: true,
141
+ linkedModulesFile: '.augment/extensions.json'
142
+ },
143
+ hooks: { enabled: true, timeout: 5000 },
144
+ vscode: { enableFileLinks: true, openInPreview: false, webviewEnabled: true },
145
+ ai: {
146
+ enablePromptGeneration: true,
147
+ enableSummaries: true,
148
+ defaultPromptTemplate: 'module-summary'
149
+ }
150
+ };
151
+ }
152
+ }
153
+ /**
154
+ * Validate configuration against JSON schema
155
+ */
156
+ validateConfig(config) {
157
+ try {
158
+ const schemaPath = path.join(__dirname, '..', '..', 'config', 'augment-schema.json');
159
+ const schemaContent = fs.readFileSync(schemaPath, 'utf-8');
160
+ const schema = JSON.parse(schemaContent);
161
+ const ajv = new ajv_1.default();
162
+ const validate = ajv.compile(schema);
163
+ const valid = validate(config);
164
+ if (!valid) {
165
+ console.error('Configuration validation errors:', validate.errors);
166
+ return false;
167
+ }
168
+ return true;
169
+ }
170
+ catch (error) {
171
+ console.error('Error validating configuration:', error);
172
+ return false;
173
+ }
174
+ }
175
+ /**
176
+ * Merge user configuration with defaults
177
+ */
178
+ mergeConfigs(defaultConfig, userConfig) {
179
+ return {
180
+ version: userConfig.version || defaultConfig.version,
181
+ plugins: { ...defaultConfig.plugins, ...userConfig.plugins },
182
+ inspection: { ...defaultConfig.inspection, ...userConfig.inspection },
183
+ modules: {
184
+ ...defaultConfig.modules,
185
+ ...userConfig.modules,
186
+ searchPaths: userConfig.modules?.searchPaths || defaultConfig.modules?.searchPaths
187
+ },
188
+ hooks: { ...defaultConfig.hooks, ...userConfig.hooks },
189
+ vscode: { ...defaultConfig.vscode, ...userConfig.vscode },
190
+ ai: { ...defaultConfig.ai, ...userConfig.ai }
191
+ };
192
+ }
193
+ /**
194
+ * Get current configuration
195
+ */
196
+ getConfig() {
197
+ if (!this.config) {
198
+ return this.loadConfig();
199
+ }
200
+ return this.config;
201
+ }
202
+ /**
203
+ * Reload configuration from disk
204
+ */
205
+ reloadConfig() {
206
+ this.config = null;
207
+ this.lastModified = 0;
208
+ return this.loadConfig();
209
+ }
210
+ /**
211
+ * Get specific configuration value
212
+ */
213
+ get(key) {
214
+ const config = this.getConfig();
215
+ return config[key];
216
+ }
217
+ }
218
+ exports.ConfigLoader = ConfigLoader;
219
+ /**
220
+ * Export singleton instance
221
+ */
222
+ exports.configLoader = ConfigLoader.getInstance();
223
+ //# sourceMappingURL=config-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import * as vscode from 'vscode';
2
+ import { Module } from '../utils/module-system';
3
+ /**
4
+ * Webview provider for module inspection reports
5
+ */
6
+ export declare class InspectionWebviewProvider implements vscode.WebviewViewProvider {
7
+ private readonly _extensionUri;
8
+ static readonly viewType = "augmentExtensions.inspectionView";
9
+ private _view?;
10
+ private _currentModule?;
11
+ constructor(_extensionUri: vscode.Uri);
12
+ /**
13
+ * Resolve webview view
14
+ */
15
+ resolveWebviewView(webviewView: vscode.WebviewView, context: vscode.WebviewViewResolveContext, _token: vscode.CancellationToken): void;
16
+ /**
17
+ * Show module inspection in webview
18
+ */
19
+ showModule(module: Module): Promise<void>;
20
+ /**
21
+ * Refresh current module
22
+ */
23
+ refresh(): Promise<void>;
24
+ /**
25
+ * Export to file
26
+ */
27
+ exportToFile(format: 'json' | 'markdown' | 'html'): Promise<void>;
28
+ /**
29
+ * Navigate to section
30
+ */
31
+ private navigateToSection;
32
+ /**
33
+ * Generate HTML for webview
34
+ */
35
+ private _getHtmlForWebview;
36
+ /**
37
+ * Generate HTML for module inspection
38
+ */
39
+ private _getModuleHtml;
40
+ /**
41
+ * Generate export content
42
+ */
43
+ private _generateExportContent;
44
+ /**
45
+ * Format bytes to human-readable string
46
+ */
47
+ private _formatBytes;
48
+ }
49
+ //# sourceMappingURL=inspection-webview-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspection-webview-provider.d.ts","sourceRoot":"","sources":["../../src/webview/inspection-webview-provider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAGjC,OAAO,EAAE,MAAM,EAAyB,MAAM,wBAAwB,CAAC;AAEvE;;GAEG;AACH,qBAAa,yBAA0B,YAAW,MAAM,CAAC,mBAAmB;IAM9D,OAAO,CAAC,QAAQ,CAAC,aAAa;IAL1C,gBAAuB,QAAQ,sCAAsC;IAErE,OAAO,CAAC,KAAK,CAAC,CAAqB;IACnC,OAAO,CAAC,cAAc,CAAC,CAAS;gBAEH,aAAa,EAAE,MAAM,CAAC,GAAG;IAEtD;;OAEG;IACI,kBAAkB,CACvB,WAAW,EAAE,MAAM,CAAC,WAAW,EAC/B,OAAO,EAAE,MAAM,CAAC,yBAAyB,EACzC,MAAM,EAAE,MAAM,CAAC,iBAAiB,GAC/B,IAAI;IA0BP;;OAEG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOrC;;OAEG;IACU,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6B9E;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAuC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAqKtB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4C9B;;OAEG;IACH,OAAO,CAAC,YAAY;CAOrB"}