@yuaone/core 0.1.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.
- package/LICENSE +663 -0
- package/README.md +15 -0
- package/dist/__tests__/context-manager.test.d.ts +6 -0
- package/dist/__tests__/context-manager.test.d.ts.map +1 -0
- package/dist/__tests__/context-manager.test.js +220 -0
- package/dist/__tests__/context-manager.test.js.map +1 -0
- package/dist/__tests__/governor.test.d.ts +6 -0
- package/dist/__tests__/governor.test.d.ts.map +1 -0
- package/dist/__tests__/governor.test.js +210 -0
- package/dist/__tests__/governor.test.js.map +1 -0
- package/dist/__tests__/model-router.test.d.ts +6 -0
- package/dist/__tests__/model-router.test.d.ts.map +1 -0
- package/dist/__tests__/model-router.test.js +329 -0
- package/dist/__tests__/model-router.test.js.map +1 -0
- package/dist/agent-logger.d.ts +384 -0
- package/dist/agent-logger.d.ts.map +1 -0
- package/dist/agent-logger.js +820 -0
- package/dist/agent-logger.js.map +1 -0
- package/dist/agent-loop.d.ts +163 -0
- package/dist/agent-loop.d.ts.map +1 -0
- package/dist/agent-loop.js +609 -0
- package/dist/agent-loop.js.map +1 -0
- package/dist/agent-modes.d.ts +85 -0
- package/dist/agent-modes.d.ts.map +1 -0
- package/dist/agent-modes.js +418 -0
- package/dist/agent-modes.js.map +1 -0
- package/dist/approval.d.ts +137 -0
- package/dist/approval.d.ts.map +1 -0
- package/dist/approval.js +299 -0
- package/dist/approval.js.map +1 -0
- package/dist/async-completion-queue.d.ts +56 -0
- package/dist/async-completion-queue.d.ts.map +1 -0
- package/dist/async-completion-queue.js +77 -0
- package/dist/async-completion-queue.js.map +1 -0
- package/dist/auto-fix.d.ts +174 -0
- package/dist/auto-fix.d.ts.map +1 -0
- package/dist/auto-fix.js +319 -0
- package/dist/auto-fix.js.map +1 -0
- package/dist/codebase-context.d.ts +396 -0
- package/dist/codebase-context.d.ts.map +1 -0
- package/dist/codebase-context.js +1260 -0
- package/dist/codebase-context.js.map +1 -0
- package/dist/conflict-resolver.d.ts +191 -0
- package/dist/conflict-resolver.d.ts.map +1 -0
- package/dist/conflict-resolver.js +524 -0
- package/dist/conflict-resolver.js.map +1 -0
- package/dist/constants.d.ts +52 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +141 -0
- package/dist/constants.js.map +1 -0
- package/dist/context-budget.d.ts +435 -0
- package/dist/context-budget.d.ts.map +1 -0
- package/dist/context-budget.js +903 -0
- package/dist/context-budget.js.map +1 -0
- package/dist/context-compressor.d.ts +143 -0
- package/dist/context-compressor.d.ts.map +1 -0
- package/dist/context-compressor.js +511 -0
- package/dist/context-compressor.js.map +1 -0
- package/dist/context-manager.d.ts +112 -0
- package/dist/context-manager.d.ts.map +1 -0
- package/dist/context-manager.js +247 -0
- package/dist/context-manager.js.map +1 -0
- package/dist/continuous-reflection.d.ts +267 -0
- package/dist/continuous-reflection.d.ts.map +1 -0
- package/dist/continuous-reflection.js +338 -0
- package/dist/continuous-reflection.js.map +1 -0
- package/dist/cross-file-refactor.d.ts +352 -0
- package/dist/cross-file-refactor.d.ts.map +1 -0
- package/dist/cross-file-refactor.js +1544 -0
- package/dist/cross-file-refactor.js.map +1 -0
- package/dist/dag-orchestrator.d.ts +138 -0
- package/dist/dag-orchestrator.d.ts.map +1 -0
- package/dist/dag-orchestrator.js +379 -0
- package/dist/dag-orchestrator.js.map +1 -0
- package/dist/debate-orchestrator.d.ts +301 -0
- package/dist/debate-orchestrator.d.ts.map +1 -0
- package/dist/debate-orchestrator.js +719 -0
- package/dist/debate-orchestrator.js.map +1 -0
- package/dist/dependency-analyzer.d.ts +113 -0
- package/dist/dependency-analyzer.d.ts.map +1 -0
- package/dist/dependency-analyzer.js +444 -0
- package/dist/dependency-analyzer.js.map +1 -0
- package/dist/design-loop.d.ts +59 -0
- package/dist/design-loop.d.ts.map +1 -0
- package/dist/design-loop.js +344 -0
- package/dist/design-loop.js.map +1 -0
- package/dist/doc-intelligence.d.ts +383 -0
- package/dist/doc-intelligence.d.ts.map +1 -0
- package/dist/doc-intelligence.js +1307 -0
- package/dist/doc-intelligence.js.map +1 -0
- package/dist/dynamic-role-generator.d.ts +76 -0
- package/dist/dynamic-role-generator.d.ts.map +1 -0
- package/dist/dynamic-role-generator.js +194 -0
- package/dist/dynamic-role-generator.js.map +1 -0
- package/dist/errors.d.ts +69 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +102 -0
- package/dist/errors.js.map +1 -0
- package/dist/event-bus.d.ts +159 -0
- package/dist/event-bus.d.ts.map +1 -0
- package/dist/event-bus.js +305 -0
- package/dist/event-bus.js.map +1 -0
- package/dist/execution-engine.d.ts +425 -0
- package/dist/execution-engine.d.ts.map +1 -0
- package/dist/execution-engine.js +1555 -0
- package/dist/execution-engine.js.map +1 -0
- package/dist/git-intelligence.d.ts +306 -0
- package/dist/git-intelligence.d.ts.map +1 -0
- package/dist/git-intelligence.js +1099 -0
- package/dist/git-intelligence.js.map +1 -0
- package/dist/governor.d.ts +77 -0
- package/dist/governor.d.ts.map +1 -0
- package/dist/governor.js +161 -0
- package/dist/governor.js.map +1 -0
- package/dist/hierarchical-planner.d.ts +313 -0
- package/dist/hierarchical-planner.d.ts.map +1 -0
- package/dist/hierarchical-planner.js +981 -0
- package/dist/hierarchical-planner.js.map +1 -0
- package/dist/index.d.ts +121 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/intent-inference.d.ts +103 -0
- package/dist/intent-inference.d.ts.map +1 -0
- package/dist/intent-inference.js +605 -0
- package/dist/intent-inference.js.map +1 -0
- package/dist/interrupt-manager.d.ts +143 -0
- package/dist/interrupt-manager.d.ts.map +1 -0
- package/dist/interrupt-manager.js +196 -0
- package/dist/interrupt-manager.js.map +1 -0
- package/dist/kernel.d.ts +564 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +1419 -0
- package/dist/kernel.js.map +1 -0
- package/dist/language-support.d.ts +232 -0
- package/dist/language-support.d.ts.map +1 -0
- package/dist/language-support.js +1134 -0
- package/dist/language-support.js.map +1 -0
- package/dist/llm-client.d.ts +82 -0
- package/dist/llm-client.d.ts.map +1 -0
- package/dist/llm-client.js +475 -0
- package/dist/llm-client.js.map +1 -0
- package/dist/mcp-client.d.ts +232 -0
- package/dist/mcp-client.d.ts.map +1 -0
- package/dist/mcp-client.js +718 -0
- package/dist/mcp-client.js.map +1 -0
- package/dist/memory-manager.d.ts +200 -0
- package/dist/memory-manager.d.ts.map +1 -0
- package/dist/memory-manager.js +568 -0
- package/dist/memory-manager.js.map +1 -0
- package/dist/memory.d.ts +87 -0
- package/dist/memory.d.ts.map +1 -0
- package/dist/memory.js +341 -0
- package/dist/memory.js.map +1 -0
- package/dist/model-router.d.ts +245 -0
- package/dist/model-router.d.ts.map +1 -0
- package/dist/model-router.js +632 -0
- package/dist/model-router.js.map +1 -0
- package/dist/parallel-executor.d.ts +125 -0
- package/dist/parallel-executor.d.ts.map +1 -0
- package/dist/parallel-executor.js +201 -0
- package/dist/parallel-executor.js.map +1 -0
- package/dist/perf-optimizer.d.ts +212 -0
- package/dist/perf-optimizer.d.ts.map +1 -0
- package/dist/perf-optimizer.js +721 -0
- package/dist/perf-optimizer.js.map +1 -0
- package/dist/persona.d.ts +305 -0
- package/dist/persona.d.ts.map +1 -0
- package/dist/persona.js +887 -0
- package/dist/persona.js.map +1 -0
- package/dist/planner.d.ts +70 -0
- package/dist/planner.d.ts.map +1 -0
- package/dist/planner.js +264 -0
- package/dist/planner.js.map +1 -0
- package/dist/qa-pipeline.d.ts +365 -0
- package/dist/qa-pipeline.d.ts.map +1 -0
- package/dist/qa-pipeline.js +1352 -0
- package/dist/qa-pipeline.js.map +1 -0
- package/dist/reasoning-adapter.d.ts +116 -0
- package/dist/reasoning-adapter.d.ts.map +1 -0
- package/dist/reasoning-adapter.js +187 -0
- package/dist/reasoning-adapter.js.map +1 -0
- package/dist/role-registry.d.ts +55 -0
- package/dist/role-registry.d.ts.map +1 -0
- package/dist/role-registry.js +192 -0
- package/dist/role-registry.js.map +1 -0
- package/dist/sandbox-tiers.d.ts +327 -0
- package/dist/sandbox-tiers.d.ts.map +1 -0
- package/dist/sandbox-tiers.js +928 -0
- package/dist/sandbox-tiers.js.map +1 -0
- package/dist/security-scanner.d.ts +222 -0
- package/dist/security-scanner.d.ts.map +1 -0
- package/dist/security-scanner.js +1129 -0
- package/dist/security-scanner.js.map +1 -0
- package/dist/security.d.ts +93 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +393 -0
- package/dist/security.js.map +1 -0
- package/dist/self-reflection.d.ts +397 -0
- package/dist/self-reflection.d.ts.map +1 -0
- package/dist/self-reflection.js +908 -0
- package/dist/self-reflection.js.map +1 -0
- package/dist/session-persistence.d.ts +191 -0
- package/dist/session-persistence.d.ts.map +1 -0
- package/dist/session-persistence.js +395 -0
- package/dist/session-persistence.js.map +1 -0
- package/dist/speculative-executor.d.ts +210 -0
- package/dist/speculative-executor.d.ts.map +1 -0
- package/dist/speculative-executor.js +618 -0
- package/dist/speculative-executor.js.map +1 -0
- package/dist/state-machine.d.ts +289 -0
- package/dist/state-machine.d.ts.map +1 -0
- package/dist/state-machine.js +695 -0
- package/dist/state-machine.js.map +1 -0
- package/dist/sub-agent.d.ts +177 -0
- package/dist/sub-agent.d.ts.map +1 -0
- package/dist/sub-agent.js +303 -0
- package/dist/sub-agent.js.map +1 -0
- package/dist/system-prompt.d.ts +26 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +84 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/test-intelligence.d.ts +439 -0
- package/dist/test-intelligence.d.ts.map +1 -0
- package/dist/test-intelligence.js +1165 -0
- package/dist/test-intelligence.js.map +1 -0
- package/dist/types.d.ts +632 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/vector-index.d.ts +314 -0
- package/dist/vector-index.d.ts.map +1 -0
- package/dist/vector-index.js +618 -0
- package/dist/vector-index.js.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sandbox-tiers.js","sourceRoot":"","sources":["../src/sandbox-tiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module security-scanner
|
|
3
|
+
* @description YUAN Security DAST (Dynamic Application Security Testing) module.
|
|
4
|
+
*
|
|
5
|
+
* Performs dynamic security analysis on code changes:
|
|
6
|
+
* 1. Dependency Vulnerability Scanning — known CVE patterns in package.json
|
|
7
|
+
* 2. Secret Detection — API keys, tokens, passwords, private keys
|
|
8
|
+
* 3. Code Security Patterns — injection, XSS, SSRF, traversal, crypto
|
|
9
|
+
* 4. Configuration Security — tsconfig, CSP, CORS, headers
|
|
10
|
+
* 5. Report Generation — severity-based findings with pass/fail decision
|
|
11
|
+
*
|
|
12
|
+
* No external dependencies — Node builtins only.
|
|
13
|
+
* All secrets in evidence are masked.
|
|
14
|
+
*/
|
|
15
|
+
/** Security finding severity level */
|
|
16
|
+
export type SecuritySeverity = "critical" | "high" | "medium" | "low" | "info";
|
|
17
|
+
/** Security finding category */
|
|
18
|
+
export type SecurityCategory = "secret" | "injection" | "xss" | "dependency" | "config" | "crypto" | "traversal" | "ssrf";
|
|
19
|
+
/** A single security finding */
|
|
20
|
+
export interface SecurityFinding {
|
|
21
|
+
/** Unique finding identifier */
|
|
22
|
+
id: string;
|
|
23
|
+
/** Severity level */
|
|
24
|
+
severity: SecuritySeverity;
|
|
25
|
+
/** Category of the finding */
|
|
26
|
+
category: SecurityCategory;
|
|
27
|
+
/** Rule name that triggered the finding */
|
|
28
|
+
rule: string;
|
|
29
|
+
/** File path (relative to project root) */
|
|
30
|
+
file: string;
|
|
31
|
+
/** Line number (1-based) */
|
|
32
|
+
line: number;
|
|
33
|
+
/** Column number (1-based, optional) */
|
|
34
|
+
column?: number;
|
|
35
|
+
/** Human-readable description */
|
|
36
|
+
message: string;
|
|
37
|
+
/** Evidence with secrets masked */
|
|
38
|
+
evidence: string;
|
|
39
|
+
/** Suggested remediation */
|
|
40
|
+
suggestion: string;
|
|
41
|
+
/** Confidence score (0-1) */
|
|
42
|
+
confidence: number;
|
|
43
|
+
}
|
|
44
|
+
/** Configuration for a security scan */
|
|
45
|
+
export interface SecurityScanConfig {
|
|
46
|
+
/** Project root path */
|
|
47
|
+
projectPath: string;
|
|
48
|
+
/** Enable secret scanning (default: true) */
|
|
49
|
+
scanSecrets?: boolean;
|
|
50
|
+
/** Enable dependency scanning (default: true) */
|
|
51
|
+
scanDependencies?: boolean;
|
|
52
|
+
/** Enable code pattern scanning (default: true) */
|
|
53
|
+
scanCode?: boolean;
|
|
54
|
+
/** Enable config scanning (default: true) */
|
|
55
|
+
scanConfig?: boolean;
|
|
56
|
+
/** Minimum severity to report (default: 'low') */
|
|
57
|
+
severityThreshold?: SecuritySeverity;
|
|
58
|
+
/** Additional custom patterns */
|
|
59
|
+
customPatterns?: SecurityPattern[];
|
|
60
|
+
/** Glob patterns for paths to ignore */
|
|
61
|
+
ignorePaths?: string[];
|
|
62
|
+
/** Rule names to ignore */
|
|
63
|
+
ignoreRules?: string[];
|
|
64
|
+
}
|
|
65
|
+
/** A custom security pattern definition */
|
|
66
|
+
export interface SecurityPattern {
|
|
67
|
+
/** Pattern name / rule identifier */
|
|
68
|
+
name: string;
|
|
69
|
+
/** Regex to match */
|
|
70
|
+
regex: RegExp;
|
|
71
|
+
/** Severity if matched */
|
|
72
|
+
severity: SecuritySeverity;
|
|
73
|
+
/** Category */
|
|
74
|
+
category: SecurityCategory;
|
|
75
|
+
/** Human-readable message */
|
|
76
|
+
message: string;
|
|
77
|
+
/** Suggested fix */
|
|
78
|
+
suggestion: string;
|
|
79
|
+
}
|
|
80
|
+
/** Result of a complete security scan */
|
|
81
|
+
export interface SecurityScanResult {
|
|
82
|
+
/** All findings */
|
|
83
|
+
findings: SecurityFinding[];
|
|
84
|
+
/** Count summary by severity */
|
|
85
|
+
summary: {
|
|
86
|
+
critical: number;
|
|
87
|
+
high: number;
|
|
88
|
+
medium: number;
|
|
89
|
+
low: number;
|
|
90
|
+
info: number;
|
|
91
|
+
total: number;
|
|
92
|
+
};
|
|
93
|
+
/** Whether the scan passed (no findings above threshold) */
|
|
94
|
+
passed: boolean;
|
|
95
|
+
/** Scan duration in milliseconds */
|
|
96
|
+
scanDuration: number;
|
|
97
|
+
/** Number of files scanned */
|
|
98
|
+
filesScanned: number;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* DAST Security Scanner — performs dynamic security analysis on code changes.
|
|
102
|
+
*
|
|
103
|
+
* Scans for secrets, injection vulnerabilities, XSS, SSRF, insecure crypto,
|
|
104
|
+
* dependency vulnerabilities, and configuration issues.
|
|
105
|
+
*
|
|
106
|
+
* @example
|
|
107
|
+
* ```typescript
|
|
108
|
+
* const scanner = new SecurityScanner({
|
|
109
|
+
* projectPath: '/path/to/project',
|
|
110
|
+
* scanSecrets: true,
|
|
111
|
+
* scanCode: true,
|
|
112
|
+
* });
|
|
113
|
+
* const result = await scanner.scan();
|
|
114
|
+
* console.log(result.summary);
|
|
115
|
+
* ```
|
|
116
|
+
*/
|
|
117
|
+
export declare class SecurityScanner {
|
|
118
|
+
private readonly config;
|
|
119
|
+
constructor(config: SecurityScanConfig);
|
|
120
|
+
/**
|
|
121
|
+
* Run a full security scan on the project.
|
|
122
|
+
*
|
|
123
|
+
* @param files Optional list of specific file paths to scan (relative to projectPath).
|
|
124
|
+
* If omitted, discovers files recursively.
|
|
125
|
+
* @returns Scan result with findings, summary, and pass/fail decision.
|
|
126
|
+
*/
|
|
127
|
+
scan(files?: string[]): Promise<SecurityScanResult>;
|
|
128
|
+
/**
|
|
129
|
+
* Scan file contents for hardcoded secrets, API keys, and tokens.
|
|
130
|
+
*
|
|
131
|
+
* @param content File content to scan
|
|
132
|
+
* @param filePath Relative file path for reporting
|
|
133
|
+
* @returns Array of findings
|
|
134
|
+
*/
|
|
135
|
+
scanFileForSecrets(content: string, filePath: string): SecurityFinding[];
|
|
136
|
+
/**
|
|
137
|
+
* Scan file contents for injection vulnerabilities (SQL, command, eval).
|
|
138
|
+
*
|
|
139
|
+
* @param content File content to scan
|
|
140
|
+
* @param filePath Relative file path for reporting
|
|
141
|
+
* @returns Array of findings
|
|
142
|
+
*/
|
|
143
|
+
scanFileForInjection(content: string, filePath: string): SecurityFinding[];
|
|
144
|
+
/**
|
|
145
|
+
* Scan file contents for XSS vulnerabilities.
|
|
146
|
+
*
|
|
147
|
+
* @param content File content to scan
|
|
148
|
+
* @param filePath Relative file path for reporting
|
|
149
|
+
* @returns Array of findings
|
|
150
|
+
*/
|
|
151
|
+
scanFileForXSS(content: string, filePath: string): SecurityFinding[];
|
|
152
|
+
/**
|
|
153
|
+
* Scan package.json content for known vulnerable and deprecated dependencies.
|
|
154
|
+
*
|
|
155
|
+
* @param packageJsonContent Raw package.json content string
|
|
156
|
+
* @returns Array of findings
|
|
157
|
+
*/
|
|
158
|
+
scanDependencies(packageJsonContent: string): SecurityFinding[];
|
|
159
|
+
/**
|
|
160
|
+
* Scan configuration files for security issues.
|
|
161
|
+
*
|
|
162
|
+
* @param files Map of relative file paths to their contents
|
|
163
|
+
* @returns Array of findings
|
|
164
|
+
*/
|
|
165
|
+
scanConfig(files: Map<string, string>): SecurityFinding[];
|
|
166
|
+
/**
|
|
167
|
+
* Scan git diff output for security issues in newly added lines.
|
|
168
|
+
* Only scans lines that start with '+' (additions).
|
|
169
|
+
*
|
|
170
|
+
* @param diffContent Raw git diff output
|
|
171
|
+
* @returns Array of findings for newly added code
|
|
172
|
+
*/
|
|
173
|
+
scanDiff(diffContent: string): SecurityFinding[];
|
|
174
|
+
/**
|
|
175
|
+
* Mask a secret value for safe display.
|
|
176
|
+
* Shows at most the first 4 and last 2 characters.
|
|
177
|
+
*
|
|
178
|
+
* @param value The secret value to mask
|
|
179
|
+
* @returns Masked string (e.g., "AKIA****xy")
|
|
180
|
+
*/
|
|
181
|
+
maskSecret(value: string): string;
|
|
182
|
+
/**
|
|
183
|
+
* Check whether a file path should be ignored based on config.
|
|
184
|
+
*
|
|
185
|
+
* @param filePath File path to check (relative or absolute)
|
|
186
|
+
* @returns true if the path should be ignored
|
|
187
|
+
*/
|
|
188
|
+
isIgnored(filePath: string): boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Scan content with a set of patterns and return findings.
|
|
191
|
+
*/
|
|
192
|
+
private scanWithPatterns;
|
|
193
|
+
/** Scan for path traversal patterns */
|
|
194
|
+
private scanFileForTraversal;
|
|
195
|
+
/** Scan for insecure crypto patterns */
|
|
196
|
+
private scanFileForCrypto;
|
|
197
|
+
/** Scan for SSRF patterns */
|
|
198
|
+
private scanFileForSSRF;
|
|
199
|
+
/** Scan for prototype pollution patterns */
|
|
200
|
+
private scanFileForPrototypePollution;
|
|
201
|
+
/** Scan with custom patterns */
|
|
202
|
+
private scanFileWithCustomPatterns;
|
|
203
|
+
/** Check tsconfig for strict mode */
|
|
204
|
+
private scanTsConfig;
|
|
205
|
+
/** Check for permissive CORS configuration */
|
|
206
|
+
private scanForCorsIssues;
|
|
207
|
+
/** Check for missing security headers */
|
|
208
|
+
private scanForMissingSecurityHeaders;
|
|
209
|
+
/** Check for unsafe CSP directives */
|
|
210
|
+
private scanForUnsafeCSP;
|
|
211
|
+
/** Recursively discover files to scan */
|
|
212
|
+
private discoverFiles;
|
|
213
|
+
/** Simple semver-like check: is the given version within a vulnerable range */
|
|
214
|
+
private isVersionVulnerable;
|
|
215
|
+
/** Find the line number of a dependency in package.json */
|
|
216
|
+
private findDepLine;
|
|
217
|
+
/** Check if a file is a code file worth scanning */
|
|
218
|
+
private isCodeFile;
|
|
219
|
+
/** Get confidence score based on pattern category */
|
|
220
|
+
private patternConfidence;
|
|
221
|
+
}
|
|
222
|
+
//# sourceMappingURL=security-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"security-scanner.d.ts","sourceRoot":"","sources":["../src/security-scanner.ts"],"names":[],"mappings":"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"}
|