packagepurge 1.0.1 → 2.0.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/dist/cli/index.js CHANGED
@@ -1,123 +1,57 @@
1
1
  #!/usr/bin/env node
2
2
  "use strict";
3
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
- if (k2 === undefined) k2 = k;
5
- var desc = Object.getOwnPropertyDescriptor(m, k);
6
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
- desc = { enumerable: true, get: function() { return m[k]; } };
8
- }
9
- Object.defineProperty(o, k2, desc);
10
- }) : (function(o, m, k, k2) {
11
- if (k2 === undefined) k2 = k;
12
- o[k2] = m[k];
13
- }));
14
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
- Object.defineProperty(o, "default", { enumerable: true, value: v });
16
- }) : function(o, v) {
17
- o["default"] = v;
18
- });
19
- var __importStar = (this && this.__importStar) || (function () {
20
- var ownKeys = function(o) {
21
- ownKeys = Object.getOwnPropertyNames || function (o) {
22
- var ar = [];
23
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
- return ar;
25
- };
26
- return ownKeys(o);
27
- };
28
- return function (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
- __setModuleDefault(result, mod);
33
- return result;
34
- };
35
- })();
36
3
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
4
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
5
  };
39
6
  Object.defineProperty(exports, "__esModule", { value: true });
40
7
  const commander_1 = require("commander");
41
- const child_process_1 = require("child_process");
42
- const path = __importStar(require("path"));
43
- const fs = __importStar(require("fs"));
8
+ const chalk_1 = __importDefault(require("chalk"));
44
9
  const logger_1 = require("../utils/logger");
45
- const yaml_1 = __importDefault(require("yaml"));
46
- function isWindows() {
47
- return process.platform === 'win32';
48
- }
49
- function fileExists(p) {
50
- try {
51
- return fs.existsSync(p);
52
- }
53
- catch {
54
- return false;
55
- }
56
- }
57
- function resolveFromPATH(name) {
58
- const exts = isWindows() ? ['.exe', '.cmd', ''] : [''];
59
- const parts = (process.env.PATH || '').split(path.delimiter);
60
- for (const dir of parts) {
61
- for (const ext of exts) {
62
- const candidate = path.join(dir, name + ext);
63
- if (fileExists(candidate))
64
- return candidate;
65
- }
66
- }
67
- return null;
68
- }
69
- function coreBinary() {
70
- // 1) Env override
71
- const envPath = process.env.PACKAGEPURGE_CORE;
72
- if (envPath && fileExists(envPath))
73
- return envPath;
74
- // 2) Local release/debug
75
- const exe = isWindows() ? 'packagepurge_core.exe' : 'packagepurge-core';
76
- const rel = path.join(process.cwd(), 'core', 'target', 'release', exe);
77
- if (fileExists(rel))
78
- return rel;
79
- const dbg = path.join(process.cwd(), 'core', 'target', 'debug', exe);
80
- if (fileExists(dbg))
81
- return dbg;
82
- // 3) PATH
83
- const fromPath = resolveFromPATH(isWindows() ? 'packagepurge_core' : 'packagepurge-core');
84
- if (fromPath)
85
- return fromPath;
86
- throw new Error('packagepurge-core binary not found. Build with "npm run build:core" or set PACKAGEPURGE_CORE.');
87
- }
88
- function runCore(args) {
89
- return new Promise((resolve, reject) => {
90
- const bin = coreBinary();
91
- const child = (0, child_process_1.spawn)(bin, args, { stdio: ['ignore', 'pipe', 'pipe'], env: process.env });
92
- let out = '';
93
- let err = '';
94
- child.stdout.on('data', (d) => out += d.toString());
95
- child.stderr.on('data', (d) => err += d.toString());
96
- child.on('error', reject);
97
- child.on('close', (code) => resolve({ stdout: out, stderr: err, code: code ?? 1 }));
98
- });
99
- }
100
- async function output(data, format) {
101
- if (format === 'yaml') {
102
- try {
103
- const obj = JSON.parse(data);
104
- console.log(yaml_1.default.stringify(obj));
105
- return;
106
- }
107
- catch {
108
- // Fallback to raw
10
+ const core_utils_1 = require("../utils/core-utils");
11
+ const formatter_1 = require("../utils/formatter");
12
+ // Simple spinner for progress indication
13
+ class Spinner {
14
+ constructor(text) {
15
+ this.frames = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
16
+ this.current = 0;
17
+ this.interval = null;
18
+ this.text = text;
19
+ }
20
+ start() {
21
+ process.stderr.write('\x1B[?25l'); // Hide cursor
22
+ this.interval = setInterval(() => {
23
+ process.stderr.write(`\r${chalk_1.default.cyan(this.frames[this.current])} ${this.text}`);
24
+ this.current = (this.current + 1) % this.frames.length;
25
+ }, 80);
26
+ }
27
+ update(text) {
28
+ this.text = text;
29
+ }
30
+ succeed(text) {
31
+ this.stop();
32
+ console.error(`\r${chalk_1.default.green('✓')} ${text || this.text}`);
33
+ }
34
+ fail(text) {
35
+ this.stop();
36
+ console.error(`\r${chalk_1.default.red('✗')} ${text || this.text}`);
37
+ }
38
+ stop() {
39
+ if (this.interval) {
40
+ clearInterval(this.interval);
41
+ this.interval = null;
109
42
  }
43
+ process.stderr.write('\x1B[?25h'); // Show cursor
44
+ process.stderr.write('\r\x1B[K'); // Clear line
110
45
  }
111
- console.log(data);
112
46
  }
113
47
  const program = new commander_1.Command();
114
48
  program
115
- .name('packagepurge')
49
+ .name('purge')
116
50
  .description('Intelligent package manager cache cleanup service with project-aware optimization')
117
- .version('1.0.0')
51
+ .version('1.0.1')
118
52
  .option('-q, --quiet', 'Minimal output', false)
119
53
  .option('-v, --verbose', 'Verbose logging', false)
120
- .option('-f, --format <format>', 'Output format: json|yaml', 'json');
54
+ .option('-f, --format <format>', 'Output format: table|json|yaml', 'table');
121
55
  program.hook('preAction', (_, actionCommand) => {
122
56
  const opts = actionCommand.optsWithGlobals();
123
57
  if (opts.verbose)
@@ -129,14 +63,19 @@ program
129
63
  .option('-p, --paths <paths...>', 'Paths to scan', [])
130
64
  .action(async (opts, cmd) => {
131
65
  const g = cmd.parent?.opts?.() || {};
66
+ const format = (g.format || 'table');
67
+ const spinner = !g.quiet && format === 'table' ? new Spinner('Scanning for packages...') : null;
68
+ spinner?.start();
132
69
  const args = ['scan', ...(opts.paths?.length ? ['--paths', ...opts.paths] : [])];
133
- const res = await runCore(args);
70
+ const res = await (0, core_utils_1.runCore)(args);
134
71
  if (res.code !== 0) {
72
+ spinner?.fail('Scan failed');
135
73
  if (!g.quiet)
136
74
  logger_1.logger.error(res.stderr || 'Scan failed');
137
75
  process.exit(res.code);
138
76
  }
139
- await output(res.stdout, (g.format || 'json'));
77
+ spinner?.succeed('Scan complete');
78
+ (0, formatter_1.output)(res.stdout, format, 'scan');
140
79
  });
141
80
  program
142
81
  .command('analyze')
@@ -145,15 +84,20 @@ program
145
84
  .option('-d, --preserve-days <days>', 'Preserve days for recency', '90')
146
85
  .action(async (opts, cmd) => {
147
86
  const g = cmd.parent?.opts?.() || {};
148
- const preserve = String(opts.preserveDays ?? opts['preserve-days'] ?? opts.d ?? 90);
87
+ const format = (g.format || 'table');
88
+ const spinner = !g.quiet && format === 'table' ? new Spinner('Analyzing packages...') : null;
89
+ spinner?.start();
90
+ const preserve = String(opts.preserveDays ?? 90);
149
91
  const args = ['dry-run', '--preserve-days', preserve, ...(opts.paths?.length ? ['--paths', ...opts.paths] : [])];
150
- const res = await runCore(args);
92
+ const res = await (0, core_utils_1.runCore)(args);
151
93
  if (res.code !== 0) {
94
+ spinner?.fail('Analysis failed');
152
95
  if (!g.quiet)
153
96
  logger_1.logger.error(res.stderr || 'Analyze failed');
154
97
  process.exit(res.code);
155
98
  }
156
- await output(res.stdout, (g.format || 'json'));
99
+ spinner?.succeed('Analysis complete');
100
+ (0, formatter_1.output)(res.stdout, format, 'analyze');
157
101
  });
158
102
  program
159
103
  .command('clean')
@@ -161,18 +105,26 @@ program
161
105
  .option('-t, --targets <targets...>', 'Paths to quarantine (from analyze)')
162
106
  .action(async (opts, cmd) => {
163
107
  const g = cmd.parent?.opts?.() || {};
108
+ const format = (g.format || 'table');
164
109
  if (!opts.targets || !opts.targets.length) {
165
- if (!g.quiet)
166
- logger_1.logger.warn('No targets provided. Run analyze first to produce a plan.');
110
+ if (!g.quiet) {
111
+ console.log(chalk_1.default.yellow('No targets provided.'));
112
+ console.log(chalk_1.default.gray(' Run `packagepurge analyze` first to produce a cleanup plan.'));
113
+ console.log(chalk_1.default.gray(' Then use: packagepurge clean --targets <path1> <path2> ...'));
114
+ }
167
115
  process.exit(2);
168
116
  }
169
- const res = await runCore(['quarantine', ...opts.targets]);
117
+ const spinner = !g.quiet && format === 'table' ? new Spinner(`Quarantining ${opts.targets.length} packages...`) : null;
118
+ spinner?.start();
119
+ const res = await (0, core_utils_1.runCore)(['quarantine', ...opts.targets]);
170
120
  if (res.code !== 0) {
121
+ spinner?.fail('Quarantine failed');
171
122
  if (!g.quiet)
172
123
  logger_1.logger.error(res.stderr || 'Clean failed');
173
124
  process.exit(res.code);
174
125
  }
175
- await output(res.stdout, (g.format || 'json'));
126
+ spinner?.succeed('Quarantine complete');
127
+ (0, formatter_1.output)(res.stdout, format, 'quarantine');
176
128
  });
177
129
  program
178
130
  .command('rollback')
@@ -181,15 +133,31 @@ program
181
133
  .option('--latest', 'Rollback the most recent quarantine', false)
182
134
  .action(async (opts, cmd) => {
183
135
  const g = cmd.parent?.opts?.() || {};
136
+ const format = (g.format || 'table');
137
+ if (!opts.id && !opts.latest) {
138
+ if (!g.quiet) {
139
+ console.log(chalk_1.default.yellow('⚠ No rollback target specified.'));
140
+ console.log(chalk_1.default.gray(' Use: packagepurge rollback --latest'));
141
+ console.log(chalk_1.default.gray(' Or: packagepurge rollback --id <quarantine-id>'));
142
+ }
143
+ process.exit(2);
144
+ }
145
+ const spinner = !g.quiet && format === 'table' ? new Spinner('Rolling back...') : null;
146
+ spinner?.start();
184
147
  const args = ['rollback'];
185
- const finalArgs = opts.id ? args.concat(['--id', opts.id]) : (opts.latest ? args.concat(['--latest']) : args);
186
- const res = await runCore(finalArgs);
148
+ if (opts.id)
149
+ args.push('--id', opts.id);
150
+ if (opts.latest)
151
+ args.push('--latest');
152
+ const res = await (0, core_utils_1.runCore)(args);
187
153
  if (res.code !== 0) {
154
+ spinner?.fail('Rollback failed');
188
155
  if (!g.quiet)
189
156
  logger_1.logger.error(res.stderr || 'Rollback failed');
190
157
  process.exit(res.code);
191
158
  }
192
- await output(res.stdout, (g.format || 'json'));
159
+ spinner?.succeed('Rollback complete');
160
+ (0, formatter_1.output)(res.stdout, format, 'rollback');
193
161
  });
194
162
  program
195
163
  .command('optimize')
@@ -202,31 +170,39 @@ program
202
170
  .option('--lru-max-size-bytes <bytes>', 'Maximum size of LRU cache in bytes', '10000000000')
203
171
  .action(async (opts, cmd) => {
204
172
  const g = cmd.parent?.opts?.() || {};
205
- const preserve = String(opts.preserveDays ?? opts['preserve-days'] ?? opts.d ?? 90);
206
- const lruPackages = String(opts.lruMaxPackages ?? opts['lru-max-packages'] ?? 1000);
207
- const lruSize = String(opts.lruMaxSizeBytes ?? opts['lru-max-size-bytes'] ?? 10000000000);
173
+ const format = (g.format || 'table');
174
+ const features = [];
175
+ if (opts.enableSymlinking)
176
+ features.push('symlinking');
177
+ if (opts.enableMl)
178
+ features.push('ML');
179
+ const featureStr = features.length ? ` (${features.join(', ')})` : '';
180
+ const spinner = !g.quiet && format === 'table' ? new Spinner(`Optimizing packages${featureStr}...`) : null;
181
+ spinner?.start();
182
+ const preserve = String(opts.preserveDays ?? 90);
183
+ const lruPackages = String(opts.lruMaxPackages ?? 1000);
184
+ const lruSize = String(opts.lruMaxSizeBytes ?? 10000000000);
208
185
  const args = [
209
186
  'optimize',
210
187
  '--preserve-days', preserve,
211
188
  '--lru-max-packages', lruPackages,
212
189
  '--lru-max-size-bytes', lruSize,
213
190
  ];
214
- if (opts.enableSymlinking || opts['enable-symlinking']) {
191
+ if (opts.enableSymlinking)
215
192
  args.push('--enable-symlinking');
216
- }
217
- if (opts.enableMl || opts['enable-ml']) {
193
+ if (opts.enableMl)
218
194
  args.push('--enable-ml');
219
- }
220
- if (opts.paths?.length) {
195
+ if (opts.paths?.length)
221
196
  args.push('--paths', ...opts.paths);
222
- }
223
- const res = await runCore(args);
197
+ const res = await (0, core_utils_1.runCore)(args);
224
198
  if (res.code !== 0) {
199
+ spinner?.fail('Optimization failed');
225
200
  if (!g.quiet)
226
201
  logger_1.logger.error(res.stderr || 'Optimize failed');
227
202
  process.exit(res.code);
228
203
  }
229
- await output(res.stdout, (g.format || 'json'));
204
+ spinner?.succeed('Optimization complete');
205
+ (0, formatter_1.output)(res.stdout, format, 'optimize');
230
206
  });
231
207
  program
232
208
  .command('symlink')
@@ -234,17 +210,30 @@ program
234
210
  .option('-p, --paths <paths...>', 'Paths to process', [])
235
211
  .action(async (opts, cmd) => {
236
212
  const g = cmd.parent?.opts?.() || {};
213
+ const format = (g.format || 'table');
214
+ // Check for Windows symlink capability
215
+ if (process.platform === 'win32') {
216
+ console.log(chalk_1.default.yellow('⚠ Note: Symlinking on Windows requires Administrator privileges or Developer Mode.'));
217
+ }
218
+ const spinner = !g.quiet && format === 'table' ? new Spinner('Creating symlinks...') : null;
219
+ spinner?.start();
237
220
  const args = ['symlink'];
238
- if (opts.paths?.length) {
221
+ if (opts.paths?.length)
239
222
  args.push('--paths', ...opts.paths);
240
- }
241
- const res = await runCore(args);
223
+ const res = await (0, core_utils_1.runCore)(args);
242
224
  if (res.code !== 0) {
243
- if (!g.quiet)
225
+ spinner?.fail('Symlinking failed');
226
+ if (!g.quiet) {
244
227
  logger_1.logger.error(res.stderr || 'Symlink failed');
228
+ if (process.platform === 'win32' && res.stderr?.includes('symlink')) {
229
+ console.log(chalk_1.default.yellow('\n💡 Tip: Enable Developer Mode in Windows Settings > For Developers'));
230
+ console.log(chalk_1.default.gray(' Or run this command as Administrator'));
231
+ }
232
+ }
245
233
  process.exit(res.code);
246
234
  }
247
- await output(res.stdout, (g.format || 'json'));
235
+ spinner?.succeed('Symlinking complete');
236
+ (0, formatter_1.output)(res.stdout, format, 'symlink');
248
237
  });
249
238
  program.parse(process.argv);
250
239
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,iDAAsC;AACtC,2CAA6B;AAC7B,uCAAyB;AACzB,4CAAyC;AACzC,gDAAwB;AAGxB,SAAS,SAAS;IACjB,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC;AACrC,CAAC;AAED,SAAS,UAAU,CAAC,CAAS;IAC5B,IAAI,CAAC;QAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,KAAK,CAAC;IAAC,CAAC;AACzD,CAAC;AAED,SAAS,eAAe,CAAC,IAAY;IACpC,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7D,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG,CAAC,CAAC;YAC7C,IAAI,UAAU,CAAC,SAAS,CAAC;gBAAE,OAAO,SAAS,CAAC;QAC7C,CAAC;IACF,CAAC;IACD,OAAO,IAAI,CAAC;AACb,CAAC;AAED,SAAS,UAAU;IAClB,kBAAkB;IAClB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC9C,IAAI,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,OAAO,CAAC;IACnD,yBAAyB;IACzB,MAAM,GAAG,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,CAAC;IACxE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvE,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;IACrE,IAAI,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAChC,UAAU;IACV,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC1F,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC9B,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;AAClH,CAAC;AAED,SAAS,OAAO,CAAC,IAAc;IAE9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QACxF,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;QACpD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC1B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,IAAY,EAAE,MAAuB;IAC1D,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,cAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,OAAO;QACR,CAAC;QAAC,MAAM,CAAC;YACR,kBAAkB;QACnB,CAAC;IACF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAC9B,OAAO;KACL,IAAI,CAAC,cAAc,CAAC;KACpB,WAAW,CAAC,mFAAmF,CAAC;KAChG,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,aAAa,EAAE,gBAAgB,EAAE,KAAK,CAAC;KAC9C,MAAM,CAAC,eAAe,EAAE,iBAAiB,EAAE,KAAK,CAAC;KACjD,MAAM,CAAC,uBAAuB,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;AAEtE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE;IAC9C,MAAM,IAAI,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;IAC7C,IAAI,IAAI,CAAC,OAAO;QAAE,eAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtC,CAAC,CAAC,CAAC;AAEH,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,oCAAoC,CAAC;KACjD,MAAM,CAAC,wBAAwB,EAAE,eAAe,EAAE,EAAE,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjF,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC;QACxD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,EAAE,CAAC;KACxD,MAAM,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACvE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,MAAM,IAAI,GAAG,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjH,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,oFAAoF,CAAC;KACjG,MAAM,CAAC,4BAA4B,EAAE,oCAAoC,CAAC;KAC1E,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,qCAAqC,CAAC;KAClD,MAAM,CAAC,WAAW,EAAE,sBAAsB,CAAC;KAC3C,MAAM,CAAC,UAAU,EAAE,qCAAqC,EAAE,KAAK,CAAC;KAChE,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9G,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,0DAA0D,CAAC;KACvE,MAAM,CAAC,wBAAwB,EAAE,mBAAmB,EAAE,EAAE,CAAC;KACzD,MAAM,CAAC,4BAA4B,EAAE,2BAA2B,EAAE,IAAI,CAAC;KACvE,MAAM,CAAC,qBAAqB,EAAE,iCAAiC,EAAE,KAAK,CAAC;KACvE,MAAM,CAAC,aAAa,EAAE,6BAA6B,EAAE,KAAK,CAAC;KAC3D,MAAM,CAAC,4BAA4B,EAAE,+BAA+B,EAAE,MAAM,CAAC;KAC7E,MAAM,CAAC,8BAA8B,EAAE,oCAAoC,EAAE,aAAa,CAAC;KAC3F,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,WAAW,CAAC,CAAC;IAE1F,MAAM,IAAI,GAAG;QACZ,UAAU;QACV,iBAAiB,EAAE,QAAQ;QAC3B,oBAAoB,EAAE,WAAW;QACjC,sBAAsB,EAAE,OAAO;KAC/B,CAAC;IAEF,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAClC,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACxC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1B,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,iBAAiB,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,2DAA2D,CAAC;KACxE,MAAM,CAAC,wBAAwB,EAAE,kBAAkB,EAAE,EAAE,CAAC;KACxD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3B,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IACzB,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,KAAK;YAAE,eAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,IAAI,gBAAgB,CAAC,CAAC;QAC3D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC;AAChD,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
@@ -30,4 +30,15 @@ export declare function scan(paths?: string[]): Promise<any>;
30
30
  * Analyze (dry run) cleanup plan
31
31
  */
32
32
  export declare function analyze(paths?: string[], preserveDays?: number): Promise<any>;
33
+ /**
34
+ * Quarantine packages (move to quarantine directory)
35
+ */
36
+ export declare function quarantine(targets: string[]): Promise<any>;
37
+ /**
38
+ * Rollback a quarantine operation
39
+ */
40
+ export declare function rollback(options?: {
41
+ id?: string;
42
+ latest?: boolean;
43
+ }): Promise<any>;
33
44
  //# sourceMappingURL=bindings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/core/bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAmDzD,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BrF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAa5F;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAY7D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,GAAE,MAAM,EAAO,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAY3F"}
1
+ {"version":3,"file":"bindings.d.ts","sourceRoot":"","sources":["../../src/core/bindings.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,WAAW,eAAe;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC9B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4BrF;AAED;;GAEG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,aAAa,CAAC,CAa5F;AAED;;GAEG;AACH,wBAAsB,IAAI,CAAC,KAAK,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAY7D;AAED;;GAEG;AACH,wBAAsB,OAAO,CAAC,KAAK,GAAE,MAAM,EAAO,EAAE,YAAY,GAAE,MAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAY3F;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,CAWhE;AAED;;GAEG;AACH,wBAAsB,QAAQ,CAAC,OAAO,GAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAgB5F"}
@@ -3,101 +3,14 @@
3
3
  * TypeScript bindings for Rust core functionality
4
4
  * Provides type-safe interfaces to the Rust binary
5
5
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
6
  Object.defineProperty(exports, "__esModule", { value: true });
40
7
  exports.optimize = optimize;
41
8
  exports.executeSymlinking = executeSymlinking;
42
9
  exports.scan = scan;
43
10
  exports.analyze = analyze;
44
- const child_process_1 = require("child_process");
45
- const path = __importStar(require("path"));
46
- const fs = __importStar(require("fs"));
47
- function isWindows() {
48
- return process.platform === 'win32';
49
- }
50
- function fileExists(p) {
51
- try {
52
- return fs.existsSync(p);
53
- }
54
- catch {
55
- return false;
56
- }
57
- }
58
- function resolveFromPATH(name) {
59
- const exts = isWindows() ? ['.exe', '.cmd', ''] : [''];
60
- const parts = (process.env.PATH || '').split(path.delimiter);
61
- for (const dir of parts) {
62
- for (const ext of exts) {
63
- const candidate = path.join(dir, name + ext);
64
- if (fileExists(candidate))
65
- return candidate;
66
- }
67
- }
68
- return null;
69
- }
70
- function coreBinary() {
71
- // 1) Env override
72
- const envPath = process.env.PACKAGEPURGE_CORE;
73
- if (envPath && fileExists(envPath))
74
- return envPath;
75
- // 2) Local release/debug
76
- const exe = isWindows() ? 'packagepurge_core.exe' : 'packagepurge-core';
77
- const rel = path.join(process.cwd(), 'core', 'target', 'release', exe);
78
- if (fileExists(rel))
79
- return rel;
80
- const dbg = path.join(process.cwd(), 'core', 'target', 'debug', exe);
81
- if (fileExists(dbg))
82
- return dbg;
83
- // 3) PATH
84
- const fromPath = resolveFromPATH(isWindows() ? 'packagepurge_core' : 'packagepurge-core');
85
- if (fromPath)
86
- return fromPath;
87
- throw new Error('packagepurge-core binary not found. Build with "npm run build:core" or set PACKAGEPURGE_CORE.');
88
- }
89
- function runCore(args) {
90
- return new Promise((resolve, reject) => {
91
- const bin = coreBinary();
92
- const child = (0, child_process_1.spawn)(bin, args, { stdio: ['ignore', 'pipe', 'pipe'], env: process.env });
93
- let out = '';
94
- let err = '';
95
- child.stdout.on('data', (d) => out += d.toString());
96
- child.stderr.on('data', (d) => err += d.toString());
97
- child.on('error', reject);
98
- child.on('close', (code) => resolve({ stdout: out, stderr: err, code: code ?? 1 }));
99
- });
100
- }
11
+ exports.quarantine = quarantine;
12
+ exports.rollback = rollback;
13
+ const core_utils_1 = require("../utils/core-utils");
101
14
  /**
102
15
  * Optimize packages with ML/LRU prediction and symlinking
103
16
  */
@@ -121,7 +34,7 @@ async function optimize(options = {}) {
121
34
  if (options.paths && options.paths.length > 0) {
122
35
  args.push('--paths', ...options.paths);
123
36
  }
124
- const res = await runCore(args);
37
+ const res = await (0, core_utils_1.runCore)(args);
125
38
  if (res.code !== 0) {
126
39
  throw new Error(`Optimize failed: ${res.stderr || 'Unknown error'}`);
127
40
  }
@@ -135,7 +48,7 @@ async function executeSymlinking(options = {}) {
135
48
  if (options.paths && options.paths.length > 0) {
136
49
  args.push('--paths', ...options.paths);
137
50
  }
138
- const res = await runCore(args);
51
+ const res = await (0, core_utils_1.runCore)(args);
139
52
  if (res.code !== 0) {
140
53
  throw new Error(`Symlink failed: ${res.stderr || 'Unknown error'}`);
141
54
  }
@@ -149,7 +62,7 @@ async function scan(paths = []) {
149
62
  if (paths.length > 0) {
150
63
  args.push('--paths', ...paths);
151
64
  }
152
- const res = await runCore(args);
65
+ const res = await (0, core_utils_1.runCore)(args);
153
66
  if (res.code !== 0) {
154
67
  throw new Error(`Scan failed: ${res.stderr || 'Unknown error'}`);
155
68
  }
@@ -163,10 +76,43 @@ async function analyze(paths = [], preserveDays = 90) {
163
76
  if (paths.length > 0) {
164
77
  args.push('--paths', ...paths);
165
78
  }
166
- const res = await runCore(args);
79
+ const res = await (0, core_utils_1.runCore)(args);
167
80
  if (res.code !== 0) {
168
81
  throw new Error(`Analyze failed: ${res.stderr || 'Unknown error'}`);
169
82
  }
170
83
  return JSON.parse(res.stdout);
171
84
  }
85
+ /**
86
+ * Quarantine packages (move to quarantine directory)
87
+ */
88
+ async function quarantine(targets) {
89
+ if (!targets.length) {
90
+ throw new Error('No targets provided for quarantine');
91
+ }
92
+ const res = await (0, core_utils_1.runCore)(['quarantine', ...targets]);
93
+ if (res.code !== 0) {
94
+ throw new Error(`Quarantine failed: ${res.stderr || 'Unknown error'}`);
95
+ }
96
+ return JSON.parse(res.stdout);
97
+ }
98
+ /**
99
+ * Rollback a quarantine operation
100
+ */
101
+ async function rollback(options = {}) {
102
+ const args = ['rollback'];
103
+ if (options.id) {
104
+ args.push('--id', options.id);
105
+ }
106
+ else if (options.latest) {
107
+ args.push('--latest');
108
+ }
109
+ else {
110
+ throw new Error('Either id or latest must be specified for rollback');
111
+ }
112
+ const res = await (0, core_utils_1.runCore)(args);
113
+ if (res.code !== 0) {
114
+ throw new Error(`Rollback failed: ${res.stderr || 'Unknown error'}`);
115
+ }
116
+ return JSON.parse(res.stdout);
117
+ }
172
118
  //# sourceMappingURL=bindings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/core/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../../src/core/bindings.ts"],"names":[],"mappings":"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"}