@continum/cli 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.
Files changed (79) hide show
  1. package/README.md +481 -0
  2. package/SETUP.md +517 -0
  3. package/dist/api/client.d.ts +17 -0
  4. package/dist/api/client.d.ts.map +1 -0
  5. package/dist/api/client.js +70 -0
  6. package/dist/api/client.js.map +1 -0
  7. package/dist/commands/init.d.ts +4 -0
  8. package/dist/commands/init.d.ts.map +1 -0
  9. package/dist/commands/init.js +104 -0
  10. package/dist/commands/init.js.map +1 -0
  11. package/dist/commands/login.d.ts +2 -0
  12. package/dist/commands/login.d.ts.map +1 -0
  13. package/dist/commands/login.js +217 -0
  14. package/dist/commands/login.js.map +1 -0
  15. package/dist/commands/patterns.d.ts +3 -0
  16. package/dist/commands/patterns.d.ts.map +1 -0
  17. package/dist/commands/patterns.js +67 -0
  18. package/dist/commands/patterns.js.map +1 -0
  19. package/dist/commands/scan.d.ts +11 -0
  20. package/dist/commands/scan.d.ts.map +1 -0
  21. package/dist/commands/scan.js +219 -0
  22. package/dist/commands/scan.js.map +1 -0
  23. package/dist/commands/status.d.ts +2 -0
  24. package/dist/commands/status.d.ts.map +1 -0
  25. package/dist/commands/status.js +61 -0
  26. package/dist/commands/status.js.map +1 -0
  27. package/dist/commands/uninstall.d.ts +2 -0
  28. package/dist/commands/uninstall.d.ts.map +1 -0
  29. package/dist/commands/uninstall.js +87 -0
  30. package/dist/commands/uninstall.js.map +1 -0
  31. package/dist/config/default-config.d.ts +3 -0
  32. package/dist/config/default-config.d.ts.map +1 -0
  33. package/dist/config/default-config.js +25 -0
  34. package/dist/config/default-config.js.map +1 -0
  35. package/dist/config/loader.d.ts +11 -0
  36. package/dist/config/loader.d.ts.map +1 -0
  37. package/dist/config/loader.js +96 -0
  38. package/dist/config/loader.js.map +1 -0
  39. package/dist/git/git-utils.d.ts +8 -0
  40. package/dist/git/git-utils.d.ts.map +1 -0
  41. package/dist/git/git-utils.js +130 -0
  42. package/dist/git/git-utils.js.map +1 -0
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +63 -0
  46. package/dist/index.js.map +1 -0
  47. package/dist/scanner/local-scan.d.ts +15 -0
  48. package/dist/scanner/local-scan.d.ts.map +1 -0
  49. package/dist/scanner/local-scan.js +227 -0
  50. package/dist/scanner/local-scan.js.map +1 -0
  51. package/dist/scanner/pattern-updater.d.ts +12 -0
  52. package/dist/scanner/pattern-updater.d.ts.map +1 -0
  53. package/dist/scanner/pattern-updater.js +110 -0
  54. package/dist/scanner/pattern-updater.js.map +1 -0
  55. package/dist/scanner/patterns.d.ts +5 -0
  56. package/dist/scanner/patterns.d.ts.map +1 -0
  57. package/dist/scanner/patterns.js +145 -0
  58. package/dist/scanner/patterns.js.map +1 -0
  59. package/dist/types.d.ts +59 -0
  60. package/dist/types.d.ts.map +1 -0
  61. package/dist/types.js +3 -0
  62. package/dist/types.js.map +1 -0
  63. package/package.json +40 -0
  64. package/src/api/client.ts +77 -0
  65. package/src/commands/init.ts +113 -0
  66. package/src/commands/login.ts +205 -0
  67. package/src/commands/patterns.ts +68 -0
  68. package/src/commands/scan.ts +257 -0
  69. package/src/commands/status.ts +57 -0
  70. package/src/commands/uninstall.ts +55 -0
  71. package/src/config/default-config.ts +23 -0
  72. package/src/config/loader.ts +67 -0
  73. package/src/git/git-utils.ts +95 -0
  74. package/src/index.ts +72 -0
  75. package/src/scanner/local-scan.ts +222 -0
  76. package/src/scanner/pattern-updater.ts +94 -0
  77. package/src/scanner/patterns.ts +156 -0
  78. package/src/types.ts +64 -0
  79. package/tsconfig.json +19 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scan.js","sourceRoot":"","sources":["../../src/commands/scan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function statusCommand(): Promise<void>;
2
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAmDnD"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.statusCommand = statusCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const loader_1 = require("../config/loader");
9
+ const client_1 = require("../api/client");
10
+ const git_utils_1 = require("../git/git-utils");
11
+ async function statusCommand() {
12
+ console.log(chalk_1.default.blue.bold('\n🛡️ Continum Status\n'));
13
+ // Check git repository
14
+ if (!(0, git_utils_1.isGitRepository)()) {
15
+ console.log(chalk_1.default.red('✗ Not in a git repository'));
16
+ return;
17
+ }
18
+ console.log(chalk_1.default.green('✓ Git repository detected'));
19
+ // Check config file
20
+ const config = (0, loader_1.loadConfig)();
21
+ if (config) {
22
+ console.log(chalk_1.default.green('✓ Configuration file found'));
23
+ console.log(chalk_1.default.gray(` Sandbox: ${config.sandbox}`));
24
+ console.log(chalk_1.default.gray(` Block: ${config.block.join(', ')}`));
25
+ console.log(chalk_1.default.gray(` Warn: ${config.warn.join(', ')}`));
26
+ }
27
+ else {
28
+ console.log(chalk_1.default.yellow('⚠️ No configuration file'));
29
+ console.log(chalk_1.default.gray(' Run `continum init` to create one'));
30
+ }
31
+ // Check pre-commit hook
32
+ if ((0, git_utils_1.hasPreCommitHook)()) {
33
+ console.log(chalk_1.default.green('✓ Pre-commit hook installed'));
34
+ }
35
+ else {
36
+ console.log(chalk_1.default.yellow('⚠️ Pre-commit hook not installed'));
37
+ console.log(chalk_1.default.gray(' Run `continum init` to install'));
38
+ }
39
+ // Check API connection
40
+ const credentials = (0, loader_1.loadCredentials)();
41
+ if (credentials.apiUrl && credentials.apiKey) {
42
+ console.log(chalk_1.default.gray('\nTesting API connection...'));
43
+ try {
44
+ const client = new client_1.ContinumApiClient(credentials.apiUrl, credentials.apiKey);
45
+ const status = await client.testConnection();
46
+ console.log(chalk_1.default.green(`✓ Connected to Continum API`));
47
+ console.log(chalk_1.default.gray(` Customer: ${status.customer}`));
48
+ console.log(chalk_1.default.gray(` Endpoint: ${credentials.apiUrl}`));
49
+ }
50
+ catch (error) {
51
+ console.log(chalk_1.default.red('✗ Failed to connect to API'));
52
+ console.log(chalk_1.default.gray(` ${error instanceof Error ? error.message : 'Unknown error'}`));
53
+ }
54
+ }
55
+ else {
56
+ console.log(chalk_1.default.yellow('\n⚠️ No API credentials configured'));
57
+ console.log(chalk_1.default.gray(' Run `continum init` to set up'));
58
+ }
59
+ console.log();
60
+ }
61
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function uninstallCommand(): Promise<void>;
2
+ //# sourceMappingURL=uninstall.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAMA,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC,CAgDtD"}
@@ -0,0 +1,87 @@
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.uninstallCommand = uninstallCommand;
40
+ const chalk_1 = __importDefault(require("chalk"));
41
+ const prompts_1 = __importDefault(require("prompts"));
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const git_utils_1 = require("../git/git-utils");
45
+ async function uninstallCommand() {
46
+ console.log(chalk_1.default.blue.bold('\n🛡️ Uninstall Continum\n'));
47
+ if (!(0, git_utils_1.isGitRepository)()) {
48
+ console.log(chalk_1.default.red('✗ Not in a git repository'));
49
+ process.exit(1);
50
+ }
51
+ const { confirm } = await (0, prompts_1.default)({
52
+ type: 'confirm',
53
+ name: 'confirm',
54
+ message: 'Remove Continum pre-commit hook from this repository?',
55
+ initial: false
56
+ });
57
+ if (!confirm) {
58
+ console.log(chalk_1.default.gray('Cancelled'));
59
+ process.exit(0);
60
+ }
61
+ try {
62
+ (0, git_utils_1.uninstallPreCommitHook)();
63
+ console.log(chalk_1.default.green('✓ Pre-commit hook removed'));
64
+ }
65
+ catch (error) {
66
+ console.log(chalk_1.default.red('✗ Failed to remove hook'));
67
+ console.log(chalk_1.default.gray(` ${error instanceof Error ? error.message : 'Unknown error'}`));
68
+ process.exit(1);
69
+ }
70
+ // Ask about config file
71
+ const gitRoot = (0, git_utils_1.getGitRoot)();
72
+ const configPath = path.join(gitRoot, '.continum.json');
73
+ if (fs.existsSync(configPath)) {
74
+ const { removeConfig } = await (0, prompts_1.default)({
75
+ type: 'confirm',
76
+ name: 'removeConfig',
77
+ message: 'Also remove .continum.json config file?',
78
+ initial: false
79
+ });
80
+ if (removeConfig) {
81
+ fs.unlinkSync(configPath);
82
+ console.log(chalk_1.default.green('✓ Config file removed'));
83
+ }
84
+ }
85
+ console.log(chalk_1.default.blue('\n✓ Continum uninstalled\n'));
86
+ }
87
+ //# sourceMappingURL=uninstall.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,4CAgDC;AAtDD,kDAA0B;AAC1B,sDAA8B;AAC9B,uCAAyB;AACzB,2CAA6B;AAC7B,gDAAuF;AAEhF,KAAK,UAAU,gBAAgB;IACpC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAE5D,IAAI,CAAC,IAAA,2BAAe,GAAE,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;QAChC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,uDAAuD;QAChE,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,IAAA,kCAAsB,GAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;IAExD,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;YACrC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,yCAAyC;YAClD,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,IAAI,YAAY,EAAE,CAAC;YACjB,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { ContinumConfig } from '../types';
2
+ export declare const DEFAULT_CONFIG: ContinumConfig;
3
+ //# sourceMappingURL=default-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,cAAc,EAAE,cAoB5B,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_CONFIG = void 0;
4
+ exports.DEFAULT_CONFIG = {
5
+ scanOnCommit: true,
6
+ sandbox: 'default',
7
+ block: ['CRITICAL', 'HIGH'],
8
+ warn: ['MEDIUM'],
9
+ ignore: [
10
+ '.env.example',
11
+ '**/*.test.ts',
12
+ '**/*.test.js',
13
+ '**/*.spec.ts',
14
+ '**/*.spec.js',
15
+ '**/fixtures/**',
16
+ '**/mocks/**',
17
+ '**/test/**',
18
+ '**/tests/**',
19
+ '**/__tests__/**'
20
+ ],
21
+ patterns: {
22
+ custom: []
23
+ }
24
+ };
25
+ //# sourceMappingURL=default-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"default-config.js","sourceRoot":"","sources":["../../src/config/default-config.ts"],"names":[],"mappings":";;;AAEa,QAAA,cAAc,GAAmB;IAC5C,YAAY,EAAE,IAAI;IAClB,OAAO,EAAE,SAAS;IAClB,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,CAAC,QAAQ,CAAC;IAChB,MAAM,EAAE;QACN,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,aAAa;QACb,YAAY;QACZ,aAAa;QACb,iBAAiB;KAClB;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,EAAE;KACX;CACF,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { ContinumConfig } from '../types';
2
+ export declare function loadConfig(cwd?: string): ContinumConfig;
3
+ export declare function saveConfig(config: ContinumConfig, cwd?: string): void;
4
+ export declare function loadCredentials(): {
5
+ apiUrl?: string;
6
+ apiKey?: string;
7
+ };
8
+ export declare function saveCredentials(apiUrl: string, apiKey: string): void;
9
+ export declare function getCacheDir(): string;
10
+ export declare function getCacheFile(): string;
11
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAQ1C,wBAAgB,UAAU,CAAC,GAAG,GAAE,MAAsB,GAAG,cAAc,CAetE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,GAAE,MAAsB,GAAG,IAAI,CAGpF;AAED,wBAAgB,eAAe,IAAI;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAWtE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CASpE;AAED,wBAAgB,WAAW,IAAI,MAAM,CAKpC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
@@ -0,0 +1,96 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.loadConfig = loadConfig;
37
+ exports.saveConfig = saveConfig;
38
+ exports.loadCredentials = loadCredentials;
39
+ exports.saveCredentials = saveCredentials;
40
+ exports.getCacheDir = getCacheDir;
41
+ exports.getCacheFile = getCacheFile;
42
+ const fs = __importStar(require("fs"));
43
+ const path = __importStar(require("path"));
44
+ const os = __importStar(require("os"));
45
+ const default_config_1 = require("./default-config");
46
+ const CONFIG_FILE = '.continum.json';
47
+ const CACHE_DIR = path.join(os.homedir(), '.continum');
48
+ const CACHE_FILE = path.join(CACHE_DIR, 'patterns.json');
49
+ const CREDENTIALS_FILE = path.join(CACHE_DIR, 'credentials.json');
50
+ function loadConfig(cwd = process.cwd()) {
51
+ const configPath = path.join(cwd, CONFIG_FILE);
52
+ if (!fs.existsSync(configPath)) {
53
+ return default_config_1.DEFAULT_CONFIG;
54
+ }
55
+ try {
56
+ const configContent = fs.readFileSync(configPath, 'utf-8');
57
+ const config = JSON.parse(configContent);
58
+ return { ...default_config_1.DEFAULT_CONFIG, ...config };
59
+ }
60
+ catch (error) {
61
+ console.error('Error loading config file, using defaults');
62
+ return default_config_1.DEFAULT_CONFIG;
63
+ }
64
+ }
65
+ function saveConfig(config, cwd = process.cwd()) {
66
+ const configPath = path.join(cwd, CONFIG_FILE);
67
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
68
+ }
69
+ function loadCredentials() {
70
+ if (!fs.existsSync(CREDENTIALS_FILE)) {
71
+ return {};
72
+ }
73
+ try {
74
+ const content = fs.readFileSync(CREDENTIALS_FILE, 'utf-8');
75
+ return JSON.parse(content);
76
+ }
77
+ catch (error) {
78
+ return {};
79
+ }
80
+ }
81
+ function saveCredentials(apiUrl, apiKey) {
82
+ if (!fs.existsSync(CACHE_DIR)) {
83
+ fs.mkdirSync(CACHE_DIR, { recursive: true });
84
+ }
85
+ fs.writeFileSync(CREDENTIALS_FILE, JSON.stringify({ apiUrl, apiKey }, null, 2));
86
+ }
87
+ function getCacheDir() {
88
+ if (!fs.existsSync(CACHE_DIR)) {
89
+ fs.mkdirSync(CACHE_DIR, { recursive: true });
90
+ }
91
+ return CACHE_DIR;
92
+ }
93
+ function getCacheFile() {
94
+ return CACHE_FILE;
95
+ }
96
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,gCAeC;AAED,gCAGC;AAED,0CAWC;AAED,0CASC;AAED,kCAKC;AAED,oCAEC;AAlED,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAEzB,qDAAkD;AAElD,MAAM,WAAW,GAAG,gBAAgB,CAAC;AACrC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACvD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AACzD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC;AAElE,SAAgB,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAE/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,OAAO,+BAAc,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzC,OAAO,EAAE,GAAG,+BAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,+BAAc,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAgB,UAAU,CAAC,MAAsB,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IAC5E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/C,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACrC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,MAAc,EAAE,MAAc;IAC5D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,EAAE,CAAC,aAAa,CACd,gBAAgB,EAChB,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,SAAgB,WAAW;IACzB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,8 @@
1
+ export declare function getStagedFiles(): string[];
2
+ export declare function getStagedDiff(): string;
3
+ export declare function isGitRepository(): boolean;
4
+ export declare function getGitRoot(): string;
5
+ export declare function installPreCommitHook(): void;
6
+ export declare function uninstallPreCommitHook(): void;
7
+ export declare function hasPreCommitHook(): boolean;
8
+ //# sourceMappingURL=git-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-utils.d.ts","sourceRoot":"","sources":["../../src/git/git-utils.ts"],"names":[],"mappings":"AAIA,wBAAgB,cAAc,IAAI,MAAM,EAAE,CAazC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAMtC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAOzC;AAED,wBAAgB,UAAU,IAAI,MAAM,CASnC;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAe3C;AAED,wBAAgB,sBAAsB,IAAI,IAAI,CAc7C;AAED,wBAAgB,gBAAgB,IAAI,OAAO,CAc1C"}
@@ -0,0 +1,130 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getStagedFiles = getStagedFiles;
37
+ exports.getStagedDiff = getStagedDiff;
38
+ exports.isGitRepository = isGitRepository;
39
+ exports.getGitRoot = getGitRoot;
40
+ exports.installPreCommitHook = installPreCommitHook;
41
+ exports.uninstallPreCommitHook = uninstallPreCommitHook;
42
+ exports.hasPreCommitHook = hasPreCommitHook;
43
+ const child_process_1 = require("child_process");
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ function getStagedFiles() {
47
+ try {
48
+ const output = (0, child_process_1.execSync)('git diff --cached --name-only --diff-filter=ACM', {
49
+ encoding: 'utf-8'
50
+ });
51
+ return output
52
+ .split('\n')
53
+ .filter(file => file.trim() !== '')
54
+ .map(file => file.trim());
55
+ }
56
+ catch (error) {
57
+ throw new Error('Failed to get staged files. Are you in a git repository?');
58
+ }
59
+ }
60
+ function getStagedDiff() {
61
+ try {
62
+ return (0, child_process_1.execSync)('git diff --cached', { encoding: 'utf-8' });
63
+ }
64
+ catch (error) {
65
+ throw new Error('Failed to get staged diff');
66
+ }
67
+ }
68
+ function isGitRepository() {
69
+ try {
70
+ (0, child_process_1.execSync)('git rev-parse --git-dir', { stdio: 'ignore' });
71
+ return true;
72
+ }
73
+ catch (error) {
74
+ return false;
75
+ }
76
+ }
77
+ function getGitRoot() {
78
+ try {
79
+ const output = (0, child_process_1.execSync)('git rev-parse --show-toplevel', {
80
+ encoding: 'utf-8'
81
+ });
82
+ return output.trim();
83
+ }
84
+ catch (error) {
85
+ throw new Error('Not in a git repository');
86
+ }
87
+ }
88
+ function installPreCommitHook() {
89
+ const gitRoot = getGitRoot();
90
+ const hookPath = path.join(gitRoot, '.git', 'hooks', 'pre-commit');
91
+ const hookContent = `#!/bin/sh
92
+ # Continum pre-commit hook
93
+ # This hook runs the Continum CLI scanner before each commit
94
+
95
+ npx @continum/cli scan --staged --hook
96
+
97
+ # Exit with the same code as the scanner
98
+ exit $?
99
+ `;
100
+ fs.writeFileSync(hookPath, hookContent, { mode: 0o755 });
101
+ }
102
+ function uninstallPreCommitHook() {
103
+ const gitRoot = getGitRoot();
104
+ const hookPath = path.join(gitRoot, '.git', 'hooks', 'pre-commit');
105
+ if (fs.existsSync(hookPath)) {
106
+ const content = fs.readFileSync(hookPath, 'utf-8');
107
+ // Only remove if it's our hook
108
+ if (content.includes('Continum pre-commit hook')) {
109
+ fs.unlinkSync(hookPath);
110
+ }
111
+ else {
112
+ throw new Error('Pre-commit hook exists but is not a Continum hook. Remove manually.');
113
+ }
114
+ }
115
+ }
116
+ function hasPreCommitHook() {
117
+ try {
118
+ const gitRoot = getGitRoot();
119
+ const hookPath = path.join(gitRoot, '.git', 'hooks', 'pre-commit');
120
+ if (!fs.existsSync(hookPath)) {
121
+ return false;
122
+ }
123
+ const content = fs.readFileSync(hookPath, 'utf-8');
124
+ return content.includes('Continum pre-commit hook');
125
+ }
126
+ catch (error) {
127
+ return false;
128
+ }
129
+ }
130
+ //# sourceMappingURL=git-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-utils.js","sourceRoot":"","sources":["../../src/git/git-utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,wCAaC;AAED,sCAMC;AAED,0CAOC;AAED,gCASC;AAED,oDAeC;AAED,wDAcC;AAED,4CAcC;AA9FD,iDAAyC;AACzC,uCAAyB;AACzB,2CAA6B;AAE7B,SAAgB,cAAc;IAC5B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,iDAAiD,EAAE;YACzE,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QAEH,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;aAClC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC;AAED,SAAgB,aAAa;IAC3B,IAAI,CAAC;QACH,OAAO,IAAA,wBAAQ,EAAC,mBAAmB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,CAAC;QACH,IAAA,wBAAQ,EAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,wBAAQ,EAAC,+BAA+B,EAAE;YACvD,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,SAAgB,oBAAoB;IAClC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG;;;;;;;;CAQrB,CAAC;IAEA,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,SAAgB,sBAAsB;IACpC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;IAEnE,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAEnD,+BAA+B;QAC/B,IAAI,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACjD,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAEnE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAC;IACtD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,63 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ const commander_1 = require("commander");
5
+ const login_1 = require("./commands/login");
6
+ const init_1 = require("./commands/init");
7
+ const scan_1 = require("./commands/scan");
8
+ const patterns_1 = require("./commands/patterns");
9
+ const status_1 = require("./commands/status");
10
+ const uninstall_1 = require("./commands/uninstall");
11
+ const program = new commander_1.Command();
12
+ program
13
+ .name('continum')
14
+ .description('Continum CLI - Pre-commit credential scanner and pattern learning tool')
15
+ .version('0.1.0');
16
+ // Login command
17
+ program
18
+ .command('login')
19
+ .description('Authenticate with Continum (opens browser)')
20
+ .action(login_1.loginCommand);
21
+ // Init command
22
+ program
23
+ .command('init')
24
+ .description('Initialize Continum in a project (creates config, installs git hook)')
25
+ .option('--silent', 'Run without prompts (for postinstall scripts)')
26
+ .action(init_1.initCommand);
27
+ // Scan command
28
+ program
29
+ .command('scan')
30
+ .description('Scan files for credentials and sensitive data')
31
+ .option('--staged', 'Scan staged files (for pre-commit hook)')
32
+ .option('--hook', 'Running from git hook (minimal output)')
33
+ .option('--strict', 'Block on unknown patterns without prompting')
34
+ .option('--auto-approve', 'Automatically approve unknown patterns')
35
+ .option('--warn-only', 'Show warnings but don\'t block commits')
36
+ .argument('[files...]', 'Files to scan')
37
+ .action((files, options) => {
38
+ (0, scan_1.scanCommand)({ ...options, files });
39
+ });
40
+ // Patterns commands
41
+ const patterns = program
42
+ .command('patterns')
43
+ .description('Manage credential patterns');
44
+ patterns
45
+ .command('update')
46
+ .description('Update patterns from Continum API')
47
+ .action(patterns_1.patternsUpdateCommand);
48
+ patterns
49
+ .command('list')
50
+ .description('List all available patterns')
51
+ .action(patterns_1.patternsListCommand);
52
+ // Status command
53
+ program
54
+ .command('status')
55
+ .description('Check Continum configuration and connection')
56
+ .action(status_1.statusCommand);
57
+ // Uninstall command
58
+ program
59
+ .command('uninstall')
60
+ .description('Remove Continum pre-commit hook')
61
+ .action(uninstall_1.uninstallCommand);
62
+ program.parse(process.argv);
63
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,4CAAgD;AAChD,0CAA8C;AAC9C,0CAA8C;AAC9C,kDAAiF;AACjF,8CAAkD;AAClD,oDAAwD;AAExD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,UAAU,CAAC;KAChB,WAAW,CAAC,wEAAwE,CAAC;KACrF,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,gBAAgB;AAChB,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,4CAA4C,CAAC;KACzD,MAAM,CAAC,oBAAY,CAAC,CAAC;AAExB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,sEAAsE,CAAC;KACnF,MAAM,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACnE,MAAM,CAAC,kBAAW,CAAC,CAAC;AAEvB,eAAe;AACf,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,UAAU,EAAE,yCAAyC,CAAC;KAC7D,MAAM,CAAC,QAAQ,EAAE,wCAAwC,CAAC;KAC1D,MAAM,CAAC,UAAU,EAAE,6CAA6C,CAAC;KACjE,MAAM,CAAC,gBAAgB,EAAE,wCAAwC,CAAC;KAClE,MAAM,CAAC,aAAa,EAAE,wCAAwC,CAAC;KAC/D,QAAQ,CAAC,YAAY,EAAE,eAAe,CAAC;KACvC,MAAM,CAAC,CAAC,KAAe,EAAE,OAAY,EAAE,EAAE;IACxC,IAAA,kBAAW,EAAC,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEL,oBAAoB;AACpB,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,4BAA4B,CAAC,CAAC;AAE7C,QAAQ;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,gCAAqB,CAAC,CAAC;AAEjC,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,8BAAmB,CAAC,CAAC;AAE/B,iBAAiB;AACjB,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,MAAM,CAAC,sBAAa,CAAC,CAAC;AAEzB,oBAAoB;AACpB,OAAO;KACJ,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,4BAAgB,CAAC,CAAC;AAE5B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { ScanResult, Pattern, ContinumConfig } from '../types';
2
+ export declare class LocalScanner {
3
+ private patterns;
4
+ private config;
5
+ constructor(config: ContinumConfig, customPatterns?: Pattern[]);
6
+ scanFiles(files: string[]): Promise<ScanResult>;
7
+ private scanContent;
8
+ private detectHighEntropyStrings;
9
+ private extractPattern;
10
+ private calculateConfidence;
11
+ private getLineNumber;
12
+ private shouldIgnore;
13
+ redactValue(value: string): string;
14
+ }
15
+ //# sourceMappingURL=local-scan.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-scan.d.ts","sourceRoot":"","sources":["../../src/scanner/local-scan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAA6B,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAG1F,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,MAAM,CAAiB;gBAEnB,MAAM,EAAE,cAAc,EAAE,cAAc,GAAE,OAAO,EAAO;IAiB5D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAsCrD,OAAO,CAAC,WAAW;IAyBnB,OAAO,CAAC,wBAAwB;IAqDhC,OAAO,CAAC,cAAc;IAsCtB,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;IAepB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CASnC"}