nayan-ai 1.0.0-beta.4 → 1.0.0-beta.5

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 (61) hide show
  1. package/README.md +100 -14
  2. package/dist/cli.js +21 -157
  3. package/dist/cli.js.map +1 -1
  4. package/dist/common/claude.d.ts +6 -0
  5. package/dist/common/claude.js +180 -0
  6. package/dist/common/claude.js.map +1 -0
  7. package/dist/common/codex.d.ts +6 -0
  8. package/dist/common/codex.js +169 -0
  9. package/dist/common/codex.js.map +1 -0
  10. package/dist/common/github.d.ts +22 -0
  11. package/dist/common/github.js +153 -0
  12. package/dist/common/github.js.map +1 -0
  13. package/dist/common/logs.d.ts +15 -0
  14. package/dist/common/logs.js +154 -0
  15. package/dist/common/logs.js.map +1 -0
  16. package/dist/{types.d.ts → common/types.d.ts} +36 -1
  17. package/dist/common/types.js.map +1 -0
  18. package/dist/common/utils.d.ts +3 -0
  19. package/dist/common/utils.js +11 -0
  20. package/dist/common/utils.js.map +1 -0
  21. package/dist/index.d.ts +7 -6
  22. package/dist/index.js +6 -5
  23. package/dist/index.js.map +1 -1
  24. package/dist/{analyzer.d.ts → review/analyzer.d.ts} +1 -1
  25. package/dist/review/analyzer.js.map +1 -0
  26. package/dist/review/command.d.ts +2 -0
  27. package/dist/review/command.js +111 -0
  28. package/dist/review/command.js.map +1 -0
  29. package/dist/review/prompt.js.map +1 -0
  30. package/dist/scan/command.d.ts +2 -0
  31. package/dist/scan/command.js +700 -0
  32. package/dist/scan/command.js.map +1 -0
  33. package/dist/scan/fixer.d.ts +30 -0
  34. package/dist/scan/fixer.js +264 -0
  35. package/dist/scan/fixer.js.map +1 -0
  36. package/dist/scan/prompt.d.ts +4 -0
  37. package/dist/scan/prompt.js +175 -0
  38. package/dist/scan/prompt.js.map +1 -0
  39. package/package.json +1 -1
  40. package/dist/analyzer.js.map +0 -1
  41. package/dist/claude.d.ts +0 -5
  42. package/dist/claude.js +0 -128
  43. package/dist/claude.js.map +0 -1
  44. package/dist/codex.d.ts +0 -5
  45. package/dist/codex.js +0 -129
  46. package/dist/codex.js.map +0 -1
  47. package/dist/github.d.ts +0 -15
  48. package/dist/github.js +0 -88
  49. package/dist/github.js.map +0 -1
  50. package/dist/logs.d.ts +0 -34
  51. package/dist/logs.js +0 -219
  52. package/dist/logs.js.map +0 -1
  53. package/dist/prompt.js.map +0 -1
  54. package/dist/repo.d.ts +0 -8
  55. package/dist/repo.js +0 -61
  56. package/dist/repo.js.map +0 -1
  57. package/dist/types.js.map +0 -1
  58. /package/dist/{types.js → common/types.js} +0 -0
  59. /package/dist/{analyzer.js → review/analyzer.js} +0 -0
  60. /package/dist/{prompt.d.ts → review/prompt.d.ts} +0 -0
  61. /package/dist/{prompt.js → review/prompt.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/scan/command.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { Vulnerability, DetectedProject, RepoInfo, ScanOptions } from '../common/types.js';
2
+ export interface FixResult {
3
+ project: DetectedProject;
4
+ fixes: Fix[];
5
+ updatedFiles: UpdatedFile[];
6
+ summary: string;
7
+ breakingChanges: string[];
8
+ }
9
+ export interface Fix {
10
+ type: 'update' | 'remove' | 'add';
11
+ package: string;
12
+ from?: string;
13
+ to?: string;
14
+ version?: string;
15
+ reason: string;
16
+ }
17
+ export interface UpdatedFile {
18
+ path: string;
19
+ content: string;
20
+ }
21
+ export declare const fixVulnerabilities: (project: DetectedProject, vulnerabilities: Vulnerability[], options: ScanOptions) => Promise<FixResult | null>;
22
+ export declare const applyFixes: (repoPath: string, fixResults: FixResult[]) => void;
23
+ export declare const createFixBranch: (repoPath: string, branchName: string) => void;
24
+ export declare const commitFixes: (repoPath: string, fixResults: FixResult[]) => void;
25
+ export declare const pushBranch: (repoPath: string, branchName: string, token: string, repoInfo: RepoInfo) => void;
26
+ export declare const createPullRequest: (token: string, repoInfo: RepoInfo, branchName: string, fixResults: FixResult[]) => Promise<{
27
+ number: number;
28
+ url: string;
29
+ }>;
30
+ export declare const runFixWorkflow: (repoPath: string, repoInfo: RepoInfo, fixResults: FixResult[], options: ScanOptions) => Promise<void>;
@@ -0,0 +1,264 @@
1
+ import chalk from 'chalk';
2
+ import ora from 'ora';
3
+ import * as fs from 'fs';
4
+ import * as path from 'path';
5
+ import { execSync } from 'child_process';
6
+ import { analyzeWithCodex } from '../common/codex.js';
7
+ import { analyzeWithClaude } from '../common/claude.js';
8
+ import { getFixPrompt } from './prompt.js';
9
+ const MANIFEST_FILES = {
10
+ npm: 'package.json',
11
+ python: 'requirements.txt',
12
+ go: 'go.mod',
13
+ rust: 'Cargo.toml',
14
+ ruby: 'Gemfile',
15
+ php: 'composer.json',
16
+ java: 'pom.xml',
17
+ dotnet: '*.csproj',
18
+ };
19
+ const getManifestPath = (project) => {
20
+ const manifestName = MANIFEST_FILES[project.type];
21
+ if (manifestName.includes('*')) {
22
+ const ext = manifestName.replace('*', '');
23
+ const files = fs.readdirSync(project.path);
24
+ const match = files.find(f => f.endsWith(ext));
25
+ if (match)
26
+ return path.join(project.path, match);
27
+ return null;
28
+ }
29
+ const manifestPath = path.join(project.path, manifestName);
30
+ return fs.existsSync(manifestPath) ? manifestPath : null;
31
+ };
32
+ export const fixVulnerabilities = async (project, vulnerabilities, options) => {
33
+ if (vulnerabilities.length === 0)
34
+ return null;
35
+ const manifestPath = getManifestPath(project);
36
+ if (!manifestPath) {
37
+ console.log(chalk.yellow(` No manifest file found for ${project.type} project`));
38
+ return null;
39
+ }
40
+ const manifestContent = fs.readFileSync(manifestPath, 'utf-8');
41
+ const prompt = getFixPrompt(project.type, manifestContent, vulnerabilities);
42
+ const llmOptions = { verbose: options.verbose };
43
+ try {
44
+ const response = options.llm === 'claude'
45
+ ? await analyzeWithClaude(project.path, prompt, llmOptions)
46
+ : await analyzeWithCodex(project.path, prompt, llmOptions);
47
+ // Parse the fix response - it comes back as CodeIssue[] but we need the raw JSON
48
+ // The response should contain the fix JSON in the message field
49
+ const fixData = parseFixResponse(response);
50
+ if (!fixData || !fixData.updatedManifest) {
51
+ console.log(chalk.yellow(` Could not parse fix response`));
52
+ return null;
53
+ }
54
+ return {
55
+ project,
56
+ fixes: fixData.fixes || [],
57
+ updatedFiles: [{
58
+ path: manifestPath,
59
+ content: fixData.updatedManifest,
60
+ }],
61
+ summary: fixData.summary || 'Security fixes applied',
62
+ breakingChanges: fixData.breakingChanges || [],
63
+ };
64
+ }
65
+ catch (error) {
66
+ console.log(chalk.red(` Fix generation failed: ${error instanceof Error ? error.message : String(error)}`));
67
+ return null;
68
+ }
69
+ };
70
+ const parseFixResponse = (response) => {
71
+ // Response comes as CodeIssue[] with extra fields
72
+ // Try to find the fix data in the response
73
+ if (Array.isArray(response) && response.length > 0) {
74
+ // Check each item for fix data
75
+ for (const item of response) {
76
+ // Check for _rawFixData field (added by Codex/Claude parser)
77
+ if (item._rawFixData)
78
+ return item._rawFixData;
79
+ if (item.updatedManifest)
80
+ return item;
81
+ // Try to parse message field as JSON
82
+ if (item.message) {
83
+ try {
84
+ const parsed = JSON.parse(item.message);
85
+ if (parsed.updatedManifest || parsed.fixes)
86
+ return parsed;
87
+ }
88
+ catch {
89
+ // Try to extract JSON from message text
90
+ const jsonMatch = item.message.match(/\{[\s\S]*"(?:fixes|updatedManifest)"[\s\S]*\}/);
91
+ if (jsonMatch) {
92
+ try {
93
+ const parsed = JSON.parse(jsonMatch[0]);
94
+ if (parsed.updatedManifest || parsed.fixes)
95
+ return parsed;
96
+ }
97
+ catch {
98
+ // Not valid JSON
99
+ }
100
+ }
101
+ }
102
+ }
103
+ // Check description field too
104
+ if (item.description) {
105
+ try {
106
+ const parsed = JSON.parse(item.description);
107
+ if (parsed.updatedManifest || parsed.fixes)
108
+ return parsed;
109
+ }
110
+ catch {
111
+ const jsonMatch = item.description.match(/\{[\s\S]*"(?:fixes|updatedManifest)"[\s\S]*\}/);
112
+ if (jsonMatch) {
113
+ try {
114
+ const parsed = JSON.parse(jsonMatch[0]);
115
+ if (parsed.updatedManifest || parsed.fixes)
116
+ return parsed;
117
+ }
118
+ catch {
119
+ // Not valid JSON
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ }
126
+ // Try parsing as direct object
127
+ if (response && typeof response === 'object' && response.updatedManifest) {
128
+ return response;
129
+ }
130
+ return null;
131
+ };
132
+ export const applyFixes = (repoPath, fixResults) => {
133
+ for (const result of fixResults) {
134
+ for (const file of result.updatedFiles) {
135
+ const relativePath = path.relative(repoPath, file.path);
136
+ console.log(chalk.cyan(` Writing: ${relativePath}`));
137
+ fs.writeFileSync(file.path, file.content, 'utf-8');
138
+ }
139
+ }
140
+ };
141
+ export const createFixBranch = (repoPath, branchName) => {
142
+ execSync(`git checkout -b ${branchName}`, { cwd: repoPath, stdio: 'pipe' });
143
+ };
144
+ export const commitFixes = (repoPath, fixResults) => {
145
+ // Stage all changed files
146
+ for (const result of fixResults) {
147
+ for (const file of result.updatedFiles) {
148
+ execSync(`git add "${file.path}"`, { cwd: repoPath, stdio: 'pipe' });
149
+ }
150
+ }
151
+ // Create commit message
152
+ const totalFixes = fixResults.reduce((sum, r) => sum + r.fixes.length, 0);
153
+ const commitMsg = `fix(security): apply ${totalFixes} vulnerability fixes
154
+
155
+ ${fixResults.map(r => `## ${r.project.type} (${path.basename(r.project.path)})
156
+ ${r.summary}
157
+
158
+ Changes:
159
+ ${r.fixes.map(f => `- ${f.type}: ${f.package}${f.from ? ` ${f.from}` : ''}${f.to ? ` → ${f.to}` : ''}`).join('\n')}
160
+ `).join('\n')}
161
+
162
+ Generated by Nayan AI`;
163
+ execSync(`git commit -m "${commitMsg.replace(/"/g, '\\"')}"`, { cwd: repoPath, stdio: 'pipe' });
164
+ };
165
+ export const pushBranch = (repoPath, branchName, token, repoInfo) => {
166
+ const remoteUrl = repoInfo.githubUrl
167
+ ? `https://${token}@${repoInfo.githubUrl.replace('https://', '')}/${repoInfo.owner}/${repoInfo.repo}.git`
168
+ : `https://${token}@github.com/${repoInfo.owner}/${repoInfo.repo}.git`;
169
+ execSync(`git push "${remoteUrl}" ${branchName}`, { cwd: repoPath, stdio: 'pipe' });
170
+ };
171
+ export const createPullRequest = async (token, repoInfo, branchName, fixResults) => {
172
+ const baseUrl = repoInfo.githubUrl || 'https://api.github.com';
173
+ const apiUrl = baseUrl.includes('api.github.com')
174
+ ? baseUrl
175
+ : `${baseUrl}/api/v3`;
176
+ const totalVulns = fixResults.reduce((sum, r) => sum + r.fixes.length, 0);
177
+ const criticalCount = fixResults.reduce((sum, r) => sum + r.fixes.filter(f => f.reason.toLowerCase().includes('critical')).length, 0);
178
+ const title = `🔒 Security: Fix ${totalVulns} vulnerabilities`;
179
+ const body = `## 🤖 Automated Security Fixes by Nayan AI
180
+
181
+ This PR contains automated fixes for security vulnerabilities detected in your dependencies.
182
+
183
+ ### Summary
184
+ - **Total fixes:** ${totalVulns}
185
+ - **Projects affected:** ${fixResults.length}
186
+
187
+ ### Changes by Project
188
+
189
+ ${fixResults.map(r => `
190
+ #### 📦 ${r.project.type.toUpperCase()} - ${path.basename(r.project.path)}
191
+
192
+ ${r.summary}
193
+
194
+ | Type | Package | Change | Reason |
195
+ |------|---------|--------|--------|
196
+ ${r.fixes.map(f => `| ${f.type} | \`${f.package}\` | ${f.from ? `${f.from} → ${f.to || 'removed'}` : f.version || '-'} | ${f.reason} |`).join('\n')}
197
+
198
+ ${r.breakingChanges.length > 0 ? `
199
+ ⚠️ **Potential Breaking Changes:**
200
+ ${r.breakingChanges.map(c => `- ${c}`).join('\n')}
201
+ ` : ''}
202
+ `).join('\n')}
203
+
204
+ ### Recommended Actions
205
+ 1. Review the changes carefully
206
+ 2. Run your test suite to ensure nothing is broken
207
+ 3. Check for any breaking changes mentioned above
208
+ 4. Merge when ready
209
+
210
+ ---
211
+ *Generated automatically by [Nayan AI](https://github.com/nayan-ai/nayan-ai)*
212
+ `;
213
+ const response = await fetch(`${apiUrl}/repos/${repoInfo.owner}/${repoInfo.repo}/pulls`, {
214
+ method: 'POST',
215
+ headers: {
216
+ 'Authorization': `Bearer ${token}`,
217
+ 'Accept': 'application/vnd.github+json',
218
+ 'Content-Type': 'application/json',
219
+ },
220
+ body: JSON.stringify({
221
+ title,
222
+ body,
223
+ head: branchName,
224
+ base: 'main',
225
+ }),
226
+ });
227
+ if (!response.ok) {
228
+ const error = await response.text();
229
+ throw new Error(`Failed to create PR: ${response.status} ${error}`);
230
+ }
231
+ const pr = await response.json();
232
+ return { number: pr.number, url: pr.html_url };
233
+ };
234
+ export const runFixWorkflow = async (repoPath, repoInfo, fixResults, options) => {
235
+ if (fixResults.length === 0) {
236
+ console.log(chalk.yellow('\n No fixes to apply'));
237
+ return;
238
+ }
239
+ const branchName = options.branch || 'nayan-ai/security-fixes';
240
+ let spinner = ora('Creating fix branch...').start();
241
+ try {
242
+ createFixBranch(repoPath, branchName);
243
+ spinner.succeed(`Created branch: ${branchName}`);
244
+ spinner = ora('Applying fixes...').start();
245
+ applyFixes(repoPath, fixResults);
246
+ spinner.succeed('Fixes applied');
247
+ spinner = ora('Committing changes...').start();
248
+ commitFixes(repoPath, fixResults);
249
+ spinner.succeed('Changes committed');
250
+ spinner = ora('Pushing to remote...').start();
251
+ pushBranch(repoPath, branchName, options.token, repoInfo);
252
+ spinner.succeed('Pushed to remote');
253
+ spinner = ora('Creating Pull Request...').start();
254
+ const pr = await createPullRequest(options.token, repoInfo, branchName, fixResults);
255
+ spinner.succeed(`Pull Request created: #${pr.number}`);
256
+ console.log(chalk.green(`\n✅ Fix PR created successfully!`));
257
+ console.log(chalk.cyan(` ${pr.url}`));
258
+ }
259
+ catch (error) {
260
+ spinner.fail('Fix workflow failed');
261
+ throw error;
262
+ }
263
+ };
264
+ //# sourceMappingURL=fixer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fixer.js","sourceRoot":"","sources":["../../src/scan/fixer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Vulnerability, ProjectType } from '../common/types.js';
2
+ export declare const getScanPrompt: (projectType: string, manifestContent: string, nativeVulns?: Vulnerability[]) => string;
3
+ export declare const getFixPrompt: (projectType: ProjectType, manifestContent: string, vulnerabilities: Vulnerability[]) => string;
4
+ export declare const getCodeFixPrompt: (projectType: ProjectType, filePath: string, fileContent: string, vulnerability: Vulnerability) => string;
@@ -0,0 +1,175 @@
1
+ export const getScanPrompt = (projectType, manifestContent, nativeVulns = []) => {
2
+ const nativeVulnSection = nativeVulns.length > 0
3
+ ? `
4
+ CONFIRMED VULNERABILITIES (MUST INCLUDE ALL):
5
+ ${nativeVulns.map(v => `- ${v.package}@${v.version}: ${v.title}${v.cve ? ` [${v.cve}]` : ''}${v.fixedIn ? ` (fix: ${v.fixedIn})` : ''} [SEVERITY: ${v.severity}]`).join('\n')}
6
+
7
+ You MUST include ALL the above in your response. Then find additional CVEs.
8
+ `
9
+ : '';
10
+ return `
11
+ You are a security vulnerability scanner. Analyze EVERY package in the manifest and check for known CVEs.
12
+
13
+ CRITICAL INSTRUCTIONS:
14
+ 1. Check EACH package against known vulnerability databases (NVD, GitHub Advisory, Snyk, etc.)
15
+ 2. For npm packages, check: lodash, axios, express, typeorm, @nestjs/*, sequelize, mongoose, etc.
16
+ 3. Report ALL known CVEs - do not skip any
17
+ 4. Be thorough and consistent - same packages should always report same CVEs
18
+ ${nativeVulnSection}
19
+ Project type: ${projectType}
20
+ Manifest content:
21
+ \`\`\`
22
+ ${manifestContent}
23
+ \`\`\`
24
+
25
+ IMPORTANT CONTEXT FOR SEVERITY ASSESSMENT:
26
+ Before reporting a vulnerability, evaluate the project type and deployment context:
27
+
28
+ 1. **Bundled/Static Projects** (React, Vue, Angular, static websites, SPAs):
29
+ - DevDependencies vulnerabilities are LOW impact (not in production bundle)
30
+ - Build-time only tools (webpack, babel, eslint, prettier, jest, etc.) are LOW impact
31
+ - Only runtime dependencies that end up in the client bundle are HIGH impact
32
+ - Prototype pollution in dev tools = LOW (doesn't affect end users)
33
+
34
+ 2. **Server-side Projects** (Node.js APIs, Express, backend services):
35
+ - All runtime dependencies are potentially HIGH impact
36
+ - DevDependencies are still LOW impact
37
+
38
+ 3. **Libraries/Packages** (published to npm/pypi):
39
+ - Runtime dependencies are HIGH impact (affects consumers)
40
+ - DevDependencies are LOW impact
41
+
42
+ SEVERITY GUIDELINES:
43
+ - Mark as LOW if: devDependency, build-tool only, test framework, linter, formatter
44
+ - Mark as MEDIUM if: runtime dep but requires specific conditions to exploit
45
+ - Mark as HIGH/CRITICAL only if: runtime dependency with real attack vector in production
46
+
47
+ For each vulnerability found, provide:
48
+ - Package name
49
+ - Current version (if identifiable)
50
+ - Severity (critical, high, medium, low) - adjusted based on context above
51
+ - Brief description of the vulnerability
52
+ - Recommended fix (upgrade version or alternative package)
53
+
54
+ Return your findings as JSON in this exact format:
55
+ {
56
+ "vulnerabilities": [
57
+ {
58
+ "package": "package-name",
59
+ "version": "current-version",
60
+ "severity": "high",
61
+ "title": "Brief vulnerability title",
62
+ "description": "Description of the security issue",
63
+ "fixedIn": "version-that-fixes-it",
64
+ "cve": "CVE-XXXX-XXXXX"
65
+ }
66
+ ]
67
+ }
68
+
69
+ IMPORTANT:
70
+ - Check EVERY package in the manifest against the list above
71
+ - Include CVE IDs for all known vulnerabilities
72
+ - Only return the JSON object, no other text
73
+ `;
74
+ };
75
+ export const getFixPrompt = (projectType, manifestContent, vulnerabilities) => {
76
+ const vulnList = vulnerabilities
77
+ .map(v => `- ${v.package}@${v.version}: ${v.title}${v.fixedIn ? ` (fix: ${v.fixedIn})` : ''}${v.cve ? ` [${v.cve}]` : ''}`)
78
+ .join('\n');
79
+ return `
80
+ You are a security expert fixing vulnerabilities in a ${projectType} project.
81
+
82
+ Current manifest file content:
83
+ \`\`\`
84
+ ${manifestContent}
85
+ \`\`\`
86
+
87
+ Vulnerabilities to fix:
88
+ ${vulnList}
89
+
90
+ Your task:
91
+ 1. Analyze each vulnerability and determine the best fix
92
+ 2. Update package versions to secure versions
93
+ 3. Remove packages if they are unnecessary or have no secure alternative
94
+ 4. Add any missing security-related packages if needed
95
+ 5. Ensure compatibility - don't break the project
96
+
97
+ For each fix, consider:
98
+ - Use the exact fixed version if provided
99
+ - If no fixed version, use the latest secure version
100
+ - Check for breaking changes between versions
101
+ - Consider alternative packages if the original is abandoned
102
+
103
+ Return your fixes as JSON in this exact format:
104
+ {
105
+ "fixes": [
106
+ {
107
+ "type": "update",
108
+ "package": "package-name",
109
+ "from": "old-version",
110
+ "to": "new-version",
111
+ "reason": "Brief explanation"
112
+ },
113
+ {
114
+ "type": "remove",
115
+ "package": "package-name",
116
+ "reason": "Brief explanation"
117
+ },
118
+ {
119
+ "type": "add",
120
+ "package": "package-name",
121
+ "version": "version",
122
+ "reason": "Brief explanation"
123
+ }
124
+ ],
125
+ "updatedManifest": "The complete updated manifest file content",
126
+ "summary": "Brief summary of all changes made",
127
+ "breakingChanges": ["List of potential breaking changes to watch for"]
128
+ }
129
+
130
+ IMPORTANT:
131
+ - The updatedManifest must be the COMPLETE file content, not a diff
132
+ - Preserve all formatting and structure of the original file
133
+ - Only return the JSON object, no other text
134
+ `;
135
+ };
136
+ export const getCodeFixPrompt = (projectType, filePath, fileContent, vulnerability) => `
137
+ You are a security expert fixing a vulnerability in code.
138
+
139
+ File: ${filePath}
140
+ Project type: ${projectType}
141
+
142
+ Current file content:
143
+ \`\`\`
144
+ ${fileContent}
145
+ \`\`\`
146
+
147
+ Vulnerability to fix:
148
+ - Package: ${vulnerability.package}
149
+ - Issue: ${vulnerability.title}
150
+ - Description: ${vulnerability.description || 'N/A'}
151
+ ${vulnerability.cve ? `- CVE: ${vulnerability.cve}` : ''}
152
+
153
+ Your task:
154
+ 1. Analyze the code for usage of the vulnerable package/pattern
155
+ 2. Fix the vulnerability while maintaining functionality
156
+ 3. Add any necessary imports or dependencies
157
+ 4. Follow best security practices
158
+
159
+ Return your fix as JSON:
160
+ {
161
+ "fixed": true,
162
+ "updatedContent": "The complete updated file content",
163
+ "changes": ["List of changes made"],
164
+ "notes": "Any important notes about the fix"
165
+ }
166
+
167
+ If the file doesn't need changes:
168
+ {
169
+ "fixed": false,
170
+ "reason": "Why no changes are needed"
171
+ }
172
+
173
+ IMPORTANT: Only return the JSON object, no other text.
174
+ `;
175
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/scan/prompt.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,WAAmB,EACnB,eAAuB,EACvB,cAA+B,EAAE,EACzB,EAAE;IACV,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC;QAC9C,CAAC,CAAC;;EAEJ,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;CAG5K;QACG,CAAC,CAAC,EAAE,CAAC;IAEP,OAAO;;;;;;;;EAQP,iBAAiB;gBACH,WAAW;;;EAGzB,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmDhB,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,WAAwB,EACxB,eAAuB,EACvB,eAAgC,EACxB,EAAE;IACV,MAAM,QAAQ,GAAG,eAAe;SAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SAC1H,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,OAAO;wDAC+C,WAAW;;;;EAIjE,eAAe;;;;EAIf,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CT,CAAC;AACF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,WAAwB,EACxB,QAAgB,EAChB,WAAmB,EACnB,aAA4B,EACpB,EAAE,CAAC;;;QAGL,QAAQ;gBACA,WAAW;;;;EAIzB,WAAW;;;;aAIA,aAAa,CAAC,OAAO;WACvB,aAAa,CAAC,KAAK;iBACb,aAAa,CAAC,WAAW,IAAI,KAAK;EACjD,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;CAuBvD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nayan-ai",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.5",
4
4
  "description": "AI powered code reviewer using Codex & Claude Code agents",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"analyzer.js","sourceRoot":"","sources":["../src/analyzer.ts"],"names":[],"mappings":"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"}
package/dist/claude.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import type { CodeIssue } from './types.js';
2
- export interface ClaudeOptions {
3
- verbose?: boolean;
4
- }
5
- export declare function analyzeWithClaude(repoPath: string, baseBranch: string | undefined, options: ClaudeOptions): Promise<CodeIssue[]>;