@fractary/core-cli 0.4.9 → 0.4.13
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.js +5 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/config.d.ts +6 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +197 -12
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/file/index.d.ts +3 -1
- package/dist/commands/file/index.d.ts.map +1 -1
- package/dist/commands/file/index.js +366 -57
- package/dist/commands/file/index.js.map +1 -1
- package/dist/commands/logs/index.d.ts +19 -0
- package/dist/commands/logs/index.d.ts.map +1 -1
- package/dist/commands/logs/index.js +22 -2
- package/dist/commands/logs/index.js.map +1 -1
- package/dist/commands/spec/index.d.ts +3 -1
- package/dist/commands/spec/index.d.ts.map +1 -1
- package/dist/commands/spec/index.js +16 -248
- package/dist/commands/spec/index.js.map +1 -1
- package/dist/commands/spec/spec.d.ts +13 -0
- package/dist/commands/spec/spec.d.ts.map +1 -0
- package/dist/commands/spec/spec.js +418 -0
- package/dist/commands/spec/spec.js.map +1 -0
- package/dist/commands/spec/template.d.ts +6 -0
- package/dist/commands/spec/template.d.ts.map +1 -0
- package/dist/commands/spec/template.js +38 -0
- package/dist/commands/spec/template.js.map +1 -0
- package/package.json +2 -2
|
@@ -2,8 +2,43 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* File subcommand - File storage operations
|
|
4
4
|
*
|
|
5
|
-
*
|
|
5
|
+
* Commands use consistent naming to mirror plugin commands:
|
|
6
|
+
* CLI: fractary-core file upload
|
|
7
|
+
* Plugin: /fractary-file:upload
|
|
6
8
|
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
26
|
+
var ownKeys = function(o) {
|
|
27
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
28
|
+
var ar = [];
|
|
29
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
30
|
+
return ar;
|
|
31
|
+
};
|
|
32
|
+
return ownKeys(o);
|
|
33
|
+
};
|
|
34
|
+
return function (mod) {
|
|
35
|
+
if (mod && mod.__esModule) return mod;
|
|
36
|
+
var result = {};
|
|
37
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
38
|
+
__setModuleDefault(result, mod);
|
|
39
|
+
return result;
|
|
40
|
+
};
|
|
41
|
+
})();
|
|
7
42
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
43
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
44
|
};
|
|
@@ -11,31 +46,157 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
11
46
|
exports.createFileCommand = createFileCommand;
|
|
12
47
|
const commander_1 = require("commander");
|
|
13
48
|
const chalk_1 = __importDefault(require("chalk"));
|
|
49
|
+
const fs_1 = require("fs");
|
|
50
|
+
const path_1 = require("path");
|
|
51
|
+
const crypto_1 = require("crypto");
|
|
14
52
|
const factory_1 = require("../../sdk/factory");
|
|
15
53
|
const errors_1 = require("../../utils/errors");
|
|
54
|
+
/**
|
|
55
|
+
* Helper to build FileManager options from --source flag
|
|
56
|
+
*/
|
|
57
|
+
function fileManagerOpts(options) {
|
|
58
|
+
return options.source ? { source: options.source } : undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Mask sensitive values in file configuration for display
|
|
62
|
+
*/
|
|
63
|
+
function maskFileConfig(config) {
|
|
64
|
+
const masked = JSON.parse(JSON.stringify(config));
|
|
65
|
+
if (masked.sources) {
|
|
66
|
+
for (const source of Object.values(masked.sources)) {
|
|
67
|
+
if (source.auth) {
|
|
68
|
+
for (const key of Object.keys(source.auth)) {
|
|
69
|
+
if (key !== 'profile' && source.auth[key]) {
|
|
70
|
+
source.auth[key] = '******';
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
if (source.accountId)
|
|
75
|
+
source.accountId = '******';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
return masked;
|
|
79
|
+
}
|
|
16
80
|
/**
|
|
17
81
|
* Create the file command tree
|
|
18
82
|
*/
|
|
19
83
|
function createFileCommand() {
|
|
20
84
|
const file = new commander_1.Command('file').description('File storage operations');
|
|
85
|
+
// Core storage operations
|
|
86
|
+
file.addCommand(createFileUploadCommand());
|
|
87
|
+
file.addCommand(createFileDownloadCommand());
|
|
21
88
|
file.addCommand(createFileWriteCommand());
|
|
22
89
|
file.addCommand(createFileReadCommand());
|
|
23
|
-
file.addCommand(createFileExistsCommand());
|
|
24
90
|
file.addCommand(createFileListCommand());
|
|
25
91
|
file.addCommand(createFileDeleteCommand());
|
|
92
|
+
file.addCommand(createFileExistsCommand());
|
|
26
93
|
file.addCommand(createFileCopyCommand());
|
|
27
94
|
file.addCommand(createFileMoveCommand());
|
|
95
|
+
file.addCommand(createFileGetUrlCommand());
|
|
96
|
+
// Configuration and diagnostics
|
|
97
|
+
file.addCommand(createFileShowConfigCommand());
|
|
98
|
+
file.addCommand(createFileTestConnectionCommand());
|
|
28
99
|
return file;
|
|
29
100
|
}
|
|
101
|
+
function createFileUploadCommand() {
|
|
102
|
+
return new commander_1.Command('upload')
|
|
103
|
+
.description('Upload a local file to storage')
|
|
104
|
+
.argument('<local-path>', 'Path to local file')
|
|
105
|
+
.option('--remote-path <path>', 'Remote storage path (defaults to filename)')
|
|
106
|
+
.option('--source <name>', 'Named source from config')
|
|
107
|
+
.option('--json', 'Output as JSON')
|
|
108
|
+
.action(async (localPath, options) => {
|
|
109
|
+
try {
|
|
110
|
+
if (!(0, fs_1.existsSync)(localPath)) {
|
|
111
|
+
throw new errors_1.CLIError('NOT_FOUND', `Local file not found: ${localPath}`);
|
|
112
|
+
}
|
|
113
|
+
const content = (0, fs_1.readFileSync)(localPath, 'utf-8');
|
|
114
|
+
const stats = (0, fs_1.statSync)(localPath);
|
|
115
|
+
const checksum = (0, crypto_1.createHash)('sha256').update(content).digest('hex');
|
|
116
|
+
const remotePath = options.remotePath || (0, path_1.basename)(localPath);
|
|
117
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
118
|
+
const uri = await fileManager.write(remotePath, content);
|
|
119
|
+
if (options.json) {
|
|
120
|
+
console.log(JSON.stringify({
|
|
121
|
+
status: 'success',
|
|
122
|
+
data: {
|
|
123
|
+
source: options.source || 'default',
|
|
124
|
+
localPath,
|
|
125
|
+
remotePath,
|
|
126
|
+
url: uri,
|
|
127
|
+
sizeBytes: stats.size,
|
|
128
|
+
checksum: `sha256:${checksum}`,
|
|
129
|
+
uploadedAt: new Date().toISOString(),
|
|
130
|
+
},
|
|
131
|
+
}, null, 2));
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
console.log(chalk_1.default.green(`✓ Uploaded: ${localPath} → ${remotePath}`));
|
|
135
|
+
console.log(chalk_1.default.gray(` Size: ${stats.size} bytes`));
|
|
136
|
+
console.log(chalk_1.default.gray(` Checksum: sha256:${checksum.substring(0, 16)}...`));
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
(0, errors_1.handleError)(error, options);
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
function createFileDownloadCommand() {
|
|
145
|
+
return new commander_1.Command('download')
|
|
146
|
+
.description('Download a file from storage to local path')
|
|
147
|
+
.argument('<remote-path>', 'Remote storage path')
|
|
148
|
+
.option('--local-path <path>', 'Local destination path (defaults to filename)')
|
|
149
|
+
.option('--source <name>', 'Named source from config')
|
|
150
|
+
.option('--json', 'Output as JSON')
|
|
151
|
+
.action(async (remotePath, options) => {
|
|
152
|
+
try {
|
|
153
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
154
|
+
const content = await fileManager.read(remotePath);
|
|
155
|
+
if (content === null) {
|
|
156
|
+
throw new errors_1.CLIError('NOT_FOUND', `Remote file not found: ${remotePath}`);
|
|
157
|
+
}
|
|
158
|
+
const localPath = options.localPath || (0, path_1.basename)(remotePath);
|
|
159
|
+
const dir = (0, path_1.dirname)(localPath);
|
|
160
|
+
if (dir !== '.' && !(0, fs_1.existsSync)(dir)) {
|
|
161
|
+
(0, fs_1.mkdirSync)(dir, { recursive: true });
|
|
162
|
+
}
|
|
163
|
+
(0, fs_1.writeFileSync)(localPath, content);
|
|
164
|
+
const stats = (0, fs_1.statSync)(localPath);
|
|
165
|
+
const checksum = (0, crypto_1.createHash)('sha256').update(content).digest('hex');
|
|
166
|
+
if (options.json) {
|
|
167
|
+
console.log(JSON.stringify({
|
|
168
|
+
status: 'success',
|
|
169
|
+
data: {
|
|
170
|
+
source: options.source || 'default',
|
|
171
|
+
remotePath,
|
|
172
|
+
localPath,
|
|
173
|
+
sizeBytes: stats.size,
|
|
174
|
+
checksum: `sha256:${checksum}`,
|
|
175
|
+
downloadedAt: new Date().toISOString(),
|
|
176
|
+
},
|
|
177
|
+
}, null, 2));
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
console.log(chalk_1.default.green(`✓ Downloaded: ${remotePath} → ${localPath}`));
|
|
181
|
+
console.log(chalk_1.default.gray(` Size: ${stats.size} bytes`));
|
|
182
|
+
console.log(chalk_1.default.gray(` Checksum: sha256:${checksum.substring(0, 16)}...`));
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
(0, errors_1.handleError)(error, options);
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
}
|
|
30
190
|
function createFileWriteCommand() {
|
|
31
191
|
return new commander_1.Command('write')
|
|
32
|
-
.description('Write
|
|
33
|
-
.argument('<path>', '
|
|
34
|
-
.requiredOption('--content <text>', '
|
|
192
|
+
.description('Write content to a storage path')
|
|
193
|
+
.argument('<path>', 'Storage path')
|
|
194
|
+
.requiredOption('--content <text>', 'Content to write')
|
|
195
|
+
.option('--source <name>', 'Named source from config')
|
|
35
196
|
.option('--json', 'Output as JSON')
|
|
36
197
|
.action(async (filePath, options) => {
|
|
37
198
|
try {
|
|
38
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
199
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
39
200
|
const result = await fileManager.write(filePath, options.content);
|
|
40
201
|
if (options.json) {
|
|
41
202
|
console.log(JSON.stringify({ status: 'success', data: { path: result } }, null, 2));
|
|
@@ -51,12 +212,13 @@ function createFileWriteCommand() {
|
|
|
51
212
|
}
|
|
52
213
|
function createFileReadCommand() {
|
|
53
214
|
return new commander_1.Command('read')
|
|
54
|
-
.description('Read
|
|
55
|
-
.argument('<path>', '
|
|
215
|
+
.description('Read content from a storage path')
|
|
216
|
+
.argument('<path>', 'Storage path')
|
|
217
|
+
.option('--source <name>', 'Named source from config')
|
|
56
218
|
.option('--json', 'Output as JSON')
|
|
57
219
|
.action(async (filePath, options) => {
|
|
58
220
|
try {
|
|
59
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
221
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
60
222
|
const content = await fileManager.read(filePath);
|
|
61
223
|
if (content === null) {
|
|
62
224
|
if (options.json) {
|
|
@@ -82,43 +244,18 @@ function createFileReadCommand() {
|
|
|
82
244
|
}
|
|
83
245
|
});
|
|
84
246
|
}
|
|
85
|
-
function createFileExistsCommand() {
|
|
86
|
-
return new commander_1.Command('exists')
|
|
87
|
-
.description('Check if file exists')
|
|
88
|
-
.argument('<path>', 'File path')
|
|
89
|
-
.option('--json', 'Output as JSON')
|
|
90
|
-
.action(async (filePath, options) => {
|
|
91
|
-
try {
|
|
92
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
93
|
-
const exists = await fileManager.exists(filePath);
|
|
94
|
-
if (options.json) {
|
|
95
|
-
console.log(JSON.stringify({ status: 'success', data: { path: filePath, exists } }, null, 2));
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
if (exists) {
|
|
99
|
-
console.log(chalk_1.default.green(`✓ File exists: ${filePath}`));
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
console.log(chalk_1.default.yellow(`File does not exist: ${filePath}`));
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
catch (error) {
|
|
107
|
-
(0, errors_1.handleError)(error, options);
|
|
108
|
-
}
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
247
|
function createFileListCommand() {
|
|
112
248
|
return new commander_1.Command('list')
|
|
113
|
-
.description('List files')
|
|
249
|
+
.description('List files in storage')
|
|
114
250
|
.option('--prefix <prefix>', 'Filter by prefix')
|
|
251
|
+
.option('--source <name>', 'Named source from config')
|
|
115
252
|
.option('--json', 'Output as JSON')
|
|
116
253
|
.action(async (options) => {
|
|
117
254
|
try {
|
|
118
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
255
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
119
256
|
const files = await fileManager.list(options.prefix);
|
|
120
257
|
if (options.json) {
|
|
121
|
-
console.log(JSON.stringify({ status: 'success', data: files }, null, 2));
|
|
258
|
+
console.log(JSON.stringify({ status: 'success', data: { files, count: files.length } }, null, 2));
|
|
122
259
|
}
|
|
123
260
|
else {
|
|
124
261
|
if (files.length === 0) {
|
|
@@ -128,6 +265,7 @@ function createFileListCommand() {
|
|
|
128
265
|
files.forEach((file) => {
|
|
129
266
|
console.log(` ${file}`);
|
|
130
267
|
});
|
|
268
|
+
console.log(chalk_1.default.gray(`\n${files.length} file(s) found`));
|
|
131
269
|
}
|
|
132
270
|
}
|
|
133
271
|
}
|
|
@@ -138,12 +276,13 @@ function createFileListCommand() {
|
|
|
138
276
|
}
|
|
139
277
|
function createFileDeleteCommand() {
|
|
140
278
|
return new commander_1.Command('delete')
|
|
141
|
-
.description('Delete a file')
|
|
142
|
-
.argument('<path>', '
|
|
279
|
+
.description('Delete a file from storage')
|
|
280
|
+
.argument('<path>', 'Storage path')
|
|
281
|
+
.option('--source <name>', 'Named source from config')
|
|
143
282
|
.option('--json', 'Output as JSON')
|
|
144
283
|
.action(async (filePath, options) => {
|
|
145
284
|
try {
|
|
146
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
285
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
147
286
|
await fileManager.delete(filePath);
|
|
148
287
|
if (options.json) {
|
|
149
288
|
console.log(JSON.stringify({ status: 'success', data: { path: filePath } }, null, 2));
|
|
@@ -157,24 +296,52 @@ function createFileDeleteCommand() {
|
|
|
157
296
|
}
|
|
158
297
|
});
|
|
159
298
|
}
|
|
299
|
+
function createFileExistsCommand() {
|
|
300
|
+
return new commander_1.Command('exists')
|
|
301
|
+
.description('Check if a file exists in storage')
|
|
302
|
+
.argument('<path>', 'Storage path')
|
|
303
|
+
.option('--source <name>', 'Named source from config')
|
|
304
|
+
.option('--json', 'Output as JSON')
|
|
305
|
+
.action(async (filePath, options) => {
|
|
306
|
+
try {
|
|
307
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
308
|
+
const exists = await fileManager.exists(filePath);
|
|
309
|
+
if (options.json) {
|
|
310
|
+
console.log(JSON.stringify({ status: 'success', data: { path: filePath, exists } }, null, 2));
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
if (exists) {
|
|
314
|
+
console.log(chalk_1.default.green(`✓ File exists: ${filePath}`));
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
console.log(chalk_1.default.yellow(`File does not exist: ${filePath}`));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
catch (error) {
|
|
322
|
+
(0, errors_1.handleError)(error, options);
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
}
|
|
160
326
|
function createFileCopyCommand() {
|
|
161
327
|
return new commander_1.Command('copy')
|
|
162
|
-
.description('Copy a file')
|
|
163
|
-
.argument('<
|
|
164
|
-
.argument('<
|
|
328
|
+
.description('Copy a file within storage')
|
|
329
|
+
.argument('<src-path>', 'Source path')
|
|
330
|
+
.argument('<dest-path>', 'Destination path')
|
|
331
|
+
.option('--source <name>', 'Named source from config')
|
|
165
332
|
.option('--json', 'Output as JSON')
|
|
166
|
-
.action(async (
|
|
333
|
+
.action(async (srcPath, destPath, options) => {
|
|
167
334
|
try {
|
|
168
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
169
|
-
const result = await fileManager.copy(
|
|
335
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
336
|
+
const result = await fileManager.copy(srcPath, destPath);
|
|
170
337
|
if (options.json) {
|
|
171
338
|
console.log(JSON.stringify({
|
|
172
339
|
status: 'success',
|
|
173
|
-
data: { source, destination: result },
|
|
340
|
+
data: { source: srcPath, destination: result },
|
|
174
341
|
}, null, 2));
|
|
175
342
|
}
|
|
176
343
|
else {
|
|
177
|
-
console.log(chalk_1.default.green(`✓ Copied file: ${
|
|
344
|
+
console.log(chalk_1.default.green(`✓ Copied file: ${srcPath} → ${result}`));
|
|
178
345
|
}
|
|
179
346
|
}
|
|
180
347
|
catch (error) {
|
|
@@ -184,25 +351,167 @@ function createFileCopyCommand() {
|
|
|
184
351
|
}
|
|
185
352
|
function createFileMoveCommand() {
|
|
186
353
|
return new commander_1.Command('move')
|
|
187
|
-
.description('Move a file')
|
|
188
|
-
.argument('<
|
|
189
|
-
.argument('<
|
|
354
|
+
.description('Move a file within storage')
|
|
355
|
+
.argument('<src-path>', 'Source path')
|
|
356
|
+
.argument('<dest-path>', 'Destination path')
|
|
357
|
+
.option('--source <name>', 'Named source from config')
|
|
358
|
+
.option('--json', 'Output as JSON')
|
|
359
|
+
.action(async (srcPath, destPath, options) => {
|
|
360
|
+
try {
|
|
361
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
362
|
+
const result = await fileManager.move(srcPath, destPath);
|
|
363
|
+
if (options.json) {
|
|
364
|
+
console.log(JSON.stringify({
|
|
365
|
+
status: 'success',
|
|
366
|
+
data: { source: srcPath, destination: result },
|
|
367
|
+
}, null, 2));
|
|
368
|
+
}
|
|
369
|
+
else {
|
|
370
|
+
console.log(chalk_1.default.green(`✓ Moved file: ${srcPath} → ${result}`));
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
catch (error) {
|
|
374
|
+
(0, errors_1.handleError)(error, options);
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
function createFileGetUrlCommand() {
|
|
379
|
+
return new commander_1.Command('get-url')
|
|
380
|
+
.description('Get a URL for a file in storage')
|
|
381
|
+
.argument('<path>', 'Storage path')
|
|
382
|
+
.option('--expires-in <seconds>', 'URL expiration in seconds')
|
|
383
|
+
.option('--source <name>', 'Named source from config')
|
|
384
|
+
.option('--json', 'Output as JSON')
|
|
385
|
+
.action(async (filePath, options) => {
|
|
386
|
+
try {
|
|
387
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
388
|
+
const expiresIn = options.expiresIn ? parseInt(options.expiresIn, 10) : undefined;
|
|
389
|
+
const url = await fileManager.getUrl(filePath, expiresIn);
|
|
390
|
+
if (options.json) {
|
|
391
|
+
console.log(JSON.stringify({
|
|
392
|
+
status: 'success',
|
|
393
|
+
data: { path: filePath, url, expiresIn: expiresIn || null },
|
|
394
|
+
}, null, 2));
|
|
395
|
+
}
|
|
396
|
+
else {
|
|
397
|
+
if (url) {
|
|
398
|
+
console.log(url);
|
|
399
|
+
}
|
|
400
|
+
else {
|
|
401
|
+
console.log(chalk_1.default.yellow('URL generation not supported by current storage backend'));
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
catch (error) {
|
|
406
|
+
(0, errors_1.handleError)(error, options);
|
|
407
|
+
}
|
|
408
|
+
});
|
|
409
|
+
}
|
|
410
|
+
function createFileShowConfigCommand() {
|
|
411
|
+
return new commander_1.Command('show-config')
|
|
412
|
+
.description('Show file plugin configuration')
|
|
413
|
+
.option('--json', 'Output as JSON')
|
|
414
|
+
.action(async (options) => {
|
|
415
|
+
try {
|
|
416
|
+
const { loadFileConfig } = await Promise.resolve().then(() => __importStar(require('@fractary/core/common/config')));
|
|
417
|
+
const fileConfig = loadFileConfig();
|
|
418
|
+
if (!fileConfig) {
|
|
419
|
+
if (options.json) {
|
|
420
|
+
console.log(JSON.stringify({
|
|
421
|
+
status: 'success',
|
|
422
|
+
data: {
|
|
423
|
+
configured: false,
|
|
424
|
+
message: 'No file configuration found. Using local storage defaults.',
|
|
425
|
+
},
|
|
426
|
+
}, null, 2));
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
console.log(chalk_1.default.yellow('No file configuration found.'));
|
|
430
|
+
console.log(chalk_1.default.gray('Using local storage defaults (.fractary/files)'));
|
|
431
|
+
}
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
const masked = maskFileConfig(fileConfig);
|
|
435
|
+
if (options.json) {
|
|
436
|
+
console.log(JSON.stringify({ status: 'success', data: masked }, null, 2));
|
|
437
|
+
}
|
|
438
|
+
else {
|
|
439
|
+
console.log(chalk_1.default.bold('File Plugin Configuration:\n'));
|
|
440
|
+
const sources = fileConfig.sources || {};
|
|
441
|
+
const sourceNames = Object.keys(sources);
|
|
442
|
+
if (sourceNames.length === 0) {
|
|
443
|
+
console.log(chalk_1.default.yellow(' No sources configured'));
|
|
444
|
+
}
|
|
445
|
+
else {
|
|
446
|
+
sourceNames.forEach((name) => {
|
|
447
|
+
const source = sources[name];
|
|
448
|
+
console.log(` ${chalk_1.default.cyan(name)}: ${source.type}`);
|
|
449
|
+
if (source.bucket)
|
|
450
|
+
console.log(chalk_1.default.gray(` Bucket: ${source.bucket}`));
|
|
451
|
+
if (source.prefix)
|
|
452
|
+
console.log(chalk_1.default.gray(` Prefix: ${source.prefix}`));
|
|
453
|
+
if (source.region)
|
|
454
|
+
console.log(chalk_1.default.gray(` Region: ${source.region}`));
|
|
455
|
+
if (source.local?.basePath)
|
|
456
|
+
console.log(chalk_1.default.gray(` Base path: ${source.local.basePath}`));
|
|
457
|
+
if (source.auth)
|
|
458
|
+
console.log(chalk_1.default.gray(` Auth: configured`));
|
|
459
|
+
});
|
|
460
|
+
}
|
|
461
|
+
if (fileConfig.globalSettings) {
|
|
462
|
+
console.log(chalk_1.default.bold('\nGlobal Settings:'));
|
|
463
|
+
const gs = fileConfig.globalSettings;
|
|
464
|
+
if (gs.retryAttempts)
|
|
465
|
+
console.log(chalk_1.default.gray(` Retry attempts: ${gs.retryAttempts}`));
|
|
466
|
+
if (gs.timeoutSeconds)
|
|
467
|
+
console.log(chalk_1.default.gray(` Timeout: ${gs.timeoutSeconds}s`));
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}
|
|
471
|
+
catch (error) {
|
|
472
|
+
(0, errors_1.handleError)(error, options);
|
|
473
|
+
}
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
function createFileTestConnectionCommand() {
|
|
477
|
+
return new commander_1.Command('test-connection')
|
|
478
|
+
.description('Test storage connection')
|
|
479
|
+
.option('--source <name>', 'Named source to test')
|
|
190
480
|
.option('--json', 'Output as JSON')
|
|
191
|
-
.action(async (
|
|
481
|
+
.action(async (options) => {
|
|
192
482
|
try {
|
|
193
|
-
const fileManager = await (0, factory_1.getFileManager)();
|
|
194
|
-
const
|
|
483
|
+
const fileManager = await (0, factory_1.getFileManager)(fileManagerOpts(options));
|
|
484
|
+
const startTime = Date.now();
|
|
485
|
+
await fileManager.list();
|
|
486
|
+
const elapsed = Date.now() - startTime;
|
|
195
487
|
if (options.json) {
|
|
196
488
|
console.log(JSON.stringify({
|
|
197
489
|
status: 'success',
|
|
198
|
-
data: {
|
|
490
|
+
data: {
|
|
491
|
+
source: options.source || 'default',
|
|
492
|
+
connected: true,
|
|
493
|
+
responseTimeMs: elapsed,
|
|
494
|
+
},
|
|
199
495
|
}, null, 2));
|
|
200
496
|
}
|
|
201
497
|
else {
|
|
202
|
-
console.log(chalk_1.default.green(`✓
|
|
498
|
+
console.log(chalk_1.default.green(`✓ Connection successful`));
|
|
499
|
+
console.log(chalk_1.default.gray(` Source: ${options.source || 'default (local)'}`));
|
|
500
|
+
console.log(chalk_1.default.gray(` Response time: ${elapsed}ms`));
|
|
203
501
|
}
|
|
204
502
|
}
|
|
205
503
|
catch (error) {
|
|
504
|
+
if (options.json) {
|
|
505
|
+
console.error(JSON.stringify({
|
|
506
|
+
status: 'error',
|
|
507
|
+
error: {
|
|
508
|
+
code: 'CONNECTION_FAILED',
|
|
509
|
+
message: error instanceof Error ? error.message : String(error),
|
|
510
|
+
source: options.source || 'default',
|
|
511
|
+
},
|
|
512
|
+
}, null, 2));
|
|
513
|
+
process.exit(1);
|
|
514
|
+
}
|
|
206
515
|
(0, errors_1.handleError)(error, options);
|
|
207
516
|
}
|
|
208
517
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/file/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/file/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCH,8CAoBC;AA1DD,yCAAoC;AACpC,kDAA0B;AAC1B,2BAAkF;AAClF,+BAAyC;AACzC,mCAAoC;AACpC,+CAAmD;AACnD,+CAA2D;AAE3D;;GAEG;AACH,SAAS,eAAe,CAAC,OAA4B;IACnD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAW;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAClD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAU,EAAE,CAAC;YAC5D,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAChB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3C,IAAI,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;oBAC9B,CAAC;gBACH,CAAC;YACH,CAAC;YACD,IAAI,MAAM,CAAC,SAAS;gBAAE,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC;QACpD,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,IAAI,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAExE,0BAA0B;IAC1B,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;IAC1C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,CAAC;IACzC,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAE3C,gCAAgC;IAChC,IAAI,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,UAAU,CAAC,+BAA+B,EAAE,CAAC,CAAC;IAEnD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,mBAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,gCAAgC,CAAC;SAC7C,QAAQ,CAAC,cAAc,EAAE,oBAAoB,CAAC;SAC9C,MAAM,CAAC,sBAAsB,EAAE,4CAA4C,CAAC;SAC5E,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,IAAI,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,iBAAQ,CAAC,WAAW,EAAE,yBAAyB,SAAS,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,SAAS,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAA,eAAQ,EAAC,SAAS,CAAC,CAAC;YAC7D,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;wBACnC,SAAS;wBACT,UAAU;wBACV,GAAG,EAAE,GAAG;wBACR,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,QAAQ,EAAE,UAAU,QAAQ,EAAE;wBAC9B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACrC;iBACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,eAAe,SAAS,MAAM,UAAU,EAAE,CAAC,CAAC,CAAC;gBACrE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,yBAAyB;IAChC,OAAO,IAAI,mBAAO,CAAC,UAAU,CAAC;SAC3B,WAAW,CAAC,4CAA4C,CAAC;SACzD,QAAQ,CAAC,eAAe,EAAE,qBAAqB,CAAC;SAChD,MAAM,CAAC,qBAAqB,EAAE,+CAA+C,CAAC;SAC9E,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAO,EAAE,EAAE;QAC5C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAEnD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,MAAM,IAAI,iBAAQ,CAAC,WAAW,EAAE,0BAA0B,UAAU,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,eAAQ,EAAC,UAAU,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,IAAA,cAAO,EAAC,SAAS,CAAC,CAAC;YAC/B,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,IAAA,eAAU,EAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,IAAA,cAAS,EAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,CAAC;YAED,IAAA,kBAAa,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAA,aAAQ,EAAC,SAAS,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,IAAA,mBAAU,EAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAEpE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;wBACnC,UAAU;wBACV,SAAS;wBACT,SAAS,EAAE,KAAK,CAAC,IAAI;wBACrB,QAAQ,EAAE,UAAU,QAAQ,EAAE;wBAC9B,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACvC;iBACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,UAAU,MAAM,SAAS,EAAE,CAAC,CAAC,CAAC;gBACvE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;YAChF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,IAAI,mBAAO,CAAC,OAAO,CAAC;SACxB,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,cAAc,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;SACtD,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;YAElE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,MAAM,EAAE,CAAC,CAAC,CAAC;YACtD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAEjD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBACrB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,KAAK,CACX,IAAI,CAAC,SAAS,CACZ;wBACE,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,mBAAmB,QAAQ,EAAE,EAAE;qBAC1E,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAClF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,uBAAuB,CAAC;SACpC,MAAM,CAAC,mBAAmB,EAAE,kBAAkB,CAAC;SAC/C,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAErD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACrF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,KAAK,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;wBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;oBAC3B,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,mBAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAEnC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,mBAAO,CAAC,QAAQ,CAAC;SACzB,WAAW,CAAC,mCAAmC,CAAC;SAChD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAElD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CACjF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,MAAM,EAAE,CAAC;oBACX,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBACzD,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,wBAAwB,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC/C,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kBAAkB,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,qBAAqB;IAC5B,OAAO,IAAI,mBAAO,CAAC,MAAM,CAAC;SACvB,WAAW,CAAC,4BAA4B,CAAC;SACzC,QAAQ,CAAC,YAAY,EAAE,aAAa,CAAC;SACrC,QAAQ,CAAC,aAAa,EAAE,kBAAkB,CAAC;SAC3C,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEzD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE;iBAC/C,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iBAAiB,OAAO,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC;YACnE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB;IAC9B,OAAO,IAAI,mBAAO,CAAC,SAAS,CAAC;SAC1B,WAAW,CAAC,iCAAiC,CAAC;SAC9C,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;SAClC,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;SAC7D,MAAM,CAAC,iBAAiB,EAAE,0BAA0B,CAAC;SACrD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,QAAgB,EAAE,OAAO,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YACnE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAE1D,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE;iBAC5D,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACnB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yDAAyD,CAAC,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,2BAA2B;IAClC,OAAO,IAAI,mBAAO,CAAC,aAAa,CAAC;SAC9B,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,EAAE,cAAc,EAAE,GAAG,wDAAa,8BAA8B,GAAC,CAAC;YACxE,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;YAEpC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;wBACE,MAAM,EAAE,SAAS;wBACjB,IAAI,EAAE;4BACJ,UAAU,EAAE,KAAK;4BACjB,OAAO,EAAE,4DAA4D;yBACtE;qBACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;oBAC1D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;YAE1C,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC,CAAC;gBACxD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;gBACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBACzC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACvD,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,OAAO,CAAC,CAAC,IAAY,EAAE,EAAE;wBACnC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;wBACrD,IAAI,MAAM,CAAC,MAAM;4BAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAC3E,IAAI,MAAM,CAAC,MAAM;4BAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAC3E,IAAI,MAAM,CAAC,MAAM;4BAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;wBAC3E,IAAI,MAAM,CAAC,KAAK,EAAE,QAAQ;4BACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;wBACrE,IAAI,MAAM,CAAC,IAAI;4BAAE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBACnE,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;oBAC9B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;oBAC9C,MAAM,EAAE,GAAG,UAAU,CAAC,cAAc,CAAC;oBACrC,IAAI,EAAE,CAAC,aAAa;wBAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC;oBACnE,IAAI,EAAE,CAAC,cAAc;wBACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;gBAChE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,+BAA+B;IACtC,OAAO,IAAI,mBAAO,CAAC,iBAAiB,CAAC;SAClC,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;SACjD,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,IAAA,wBAAc,EAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;YAEnE,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YAEvC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,GAAG,CACT,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,SAAS;oBACjB,IAAI,EAAE;wBACJ,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;wBACnC,SAAS,EAAE,IAAI;wBACf,cAAc,EAAE,OAAO;qBACxB;iBACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,CAAC;gBACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC;gBAC5E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,OAAO,IAAI,CAAC,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,OAAO,CAAC,KAAK,CACX,IAAI,CAAC,SAAS,CACZ;oBACE,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE;wBACL,IAAI,EAAE,mBAAmB;wBACzB,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;wBAC/D,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,SAAS;qBACpC;iBACF,EACD,IAAI,EACJ,CAAC,CACF,CACF,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAA,oBAAW,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -2,6 +2,25 @@
|
|
|
2
2
|
* Logs subcommand - Log management
|
|
3
3
|
*
|
|
4
4
|
* Provides capture, write, search, list, archive operations via @fractary/core LogManager.
|
|
5
|
+
*
|
|
6
|
+
* Commands mirror plugin naming for alignment:
|
|
7
|
+
* CLI: fractary-core logs write Plugin: /fractary-logs:write
|
|
8
|
+
* CLI: fractary-core logs read Plugin: /fractary-logs:read
|
|
9
|
+
* CLI: fractary-core logs list Plugin: /fractary-logs:list
|
|
10
|
+
* CLI: fractary-core logs delete Plugin: /fractary-logs:delete
|
|
11
|
+
* CLI: fractary-core logs search Plugin: /fractary-logs:search
|
|
12
|
+
* CLI: fractary-core logs capture Plugin: /fractary-logs:capture
|
|
13
|
+
* CLI: fractary-core logs stop Plugin: /fractary-logs:stop
|
|
14
|
+
* CLI: fractary-core logs archive Plugin: /fractary-logs:archive
|
|
15
|
+
* CLI: fractary-core logs types Plugin: /fractary-logs:types
|
|
16
|
+
* CLI: fractary-core logs type-info Plugin: /fractary-logs:type-info
|
|
17
|
+
* CLI: fractary-core logs validate Plugin: /fractary-logs:validate
|
|
18
|
+
*
|
|
19
|
+
* Agent-backed commands (no direct CLI equivalent):
|
|
20
|
+
* /fractary-logs:log -> logs-log agent (orchestrates type selection + write)
|
|
21
|
+
* /fractary-logs:analyze -> logs-analyze agent (AI pattern analysis)
|
|
22
|
+
* /fractary-logs:audit -> logs-audit agent (AI compliance analysis)
|
|
23
|
+
* /fractary-logs:cleanup -> logs-cleanup agent (composite archive + delete)
|
|
5
24
|
*/
|
|
6
25
|
import { Command } from 'commander';
|
|
7
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/logs/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/logs/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAqB3C"}
|
|
@@ -3,6 +3,25 @@
|
|
|
3
3
|
* Logs subcommand - Log management
|
|
4
4
|
*
|
|
5
5
|
* Provides capture, write, search, list, archive operations via @fractary/core LogManager.
|
|
6
|
+
*
|
|
7
|
+
* Commands mirror plugin naming for alignment:
|
|
8
|
+
* CLI: fractary-core logs write Plugin: /fractary-logs:write
|
|
9
|
+
* CLI: fractary-core logs read Plugin: /fractary-logs:read
|
|
10
|
+
* CLI: fractary-core logs list Plugin: /fractary-logs:list
|
|
11
|
+
* CLI: fractary-core logs delete Plugin: /fractary-logs:delete
|
|
12
|
+
* CLI: fractary-core logs search Plugin: /fractary-logs:search
|
|
13
|
+
* CLI: fractary-core logs capture Plugin: /fractary-logs:capture
|
|
14
|
+
* CLI: fractary-core logs stop Plugin: /fractary-logs:stop
|
|
15
|
+
* CLI: fractary-core logs archive Plugin: /fractary-logs:archive
|
|
16
|
+
* CLI: fractary-core logs types Plugin: /fractary-logs:types
|
|
17
|
+
* CLI: fractary-core logs type-info Plugin: /fractary-logs:type-info
|
|
18
|
+
* CLI: fractary-core logs validate Plugin: /fractary-logs:validate
|
|
19
|
+
*
|
|
20
|
+
* Agent-backed commands (no direct CLI equivalent):
|
|
21
|
+
* /fractary-logs:log -> logs-log agent (orchestrates type selection + write)
|
|
22
|
+
* /fractary-logs:analyze -> logs-analyze agent (AI pattern analysis)
|
|
23
|
+
* /fractary-logs:audit -> logs-audit agent (AI compliance analysis)
|
|
24
|
+
* /fractary-logs:cleanup -> logs-cleanup agent (composite archive + delete)
|
|
6
25
|
*/
|
|
7
26
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
27
|
if (k2 === undefined) k2 = k;
|
|
@@ -52,13 +71,14 @@ const utils_1 = require("./utils");
|
|
|
52
71
|
*/
|
|
53
72
|
function createLogsCommand() {
|
|
54
73
|
const logs = new commander_1.Command('logs').description('Log management');
|
|
55
|
-
// Type management commands
|
|
74
|
+
// Type management commands
|
|
56
75
|
logs.addCommand(createLogsTypesCommand());
|
|
57
76
|
logs.addCommand(createLogsTypeInfoCommand());
|
|
58
77
|
logs.addCommand(createLogsValidateCommand());
|
|
59
|
-
//
|
|
78
|
+
// Session capture commands
|
|
60
79
|
logs.addCommand(createLogsCaptureCommand());
|
|
61
80
|
logs.addCommand(createLogsStopCommand());
|
|
81
|
+
// CRUD commands
|
|
62
82
|
logs.addCommand(createLogsWriteCommand());
|
|
63
83
|
logs.addCommand(createLogsReadCommand());
|
|
64
84
|
logs.addCommand(createLogsSearchCommand());
|