@portel/photon-core 1.0.0 → 1.0.1

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.
@@ -0,0 +1,92 @@
1
+ /**
2
+ * CLI Output Formatter
3
+ *
4
+ * Shared formatting utilities for beautiful CLI output.
5
+ * Used by photon CLI, lumina, ncp, and other projects.
6
+ *
7
+ * Structural formats:
8
+ * - primitive: Single values (string, number, boolean)
9
+ * - table: Flat objects or arrays of flat objects (bordered tables)
10
+ * - tree: Nested/hierarchical structures (indented)
11
+ * - list: Arrays of primitives (bullet points)
12
+ * - none: No data to display
13
+ *
14
+ * Content formats:
15
+ * - json: Pretty-printed JSON
16
+ * - markdown: Rendered markdown
17
+ * - yaml: YAML content
18
+ * - code / code:<lang>: Syntax highlighted code
19
+ */
20
+ import { OutputFormat } from './types.js';
21
+ /**
22
+ * Format and output data with optional format hint
23
+ */
24
+ export declare function formatOutput(data: any, hint?: OutputFormat): void;
25
+ /**
26
+ * Detect format type from data structure
27
+ */
28
+ export declare function detectFormat(data: any): OutputFormat;
29
+ /**
30
+ * Render primitive value
31
+ */
32
+ export declare function renderPrimitive(value: any): void;
33
+ /**
34
+ * Render list (array of primitives)
35
+ */
36
+ export declare function renderList(data: any[]): void;
37
+ /**
38
+ * Render table (flat object or array of flat objects)
39
+ */
40
+ export declare function renderTable(data: any): void;
41
+ /**
42
+ * Render tree (nested/hierarchical structure)
43
+ */
44
+ export declare function renderTree(data: any, indent?: string): void;
45
+ /**
46
+ * Render none format (operation with no data)
47
+ */
48
+ export declare function renderNone(): void;
49
+ /**
50
+ * Format a key for display (camelCase to Title Case)
51
+ */
52
+ export declare function formatKey(key: string): string;
53
+ /**
54
+ * Format a value for display
55
+ */
56
+ export declare function formatValue(value: any): string | number | boolean;
57
+ /**
58
+ * Status indicators for tables (ASCII only for proper alignment)
59
+ */
60
+ export declare const STATUS: {
61
+ readonly OK: "ok";
62
+ readonly UPDATE: "update";
63
+ readonly WARN: "warn";
64
+ readonly ERROR: "!";
65
+ readonly OFF: "off";
66
+ readonly UNKNOWN: "?";
67
+ };
68
+ /**
69
+ * Convert output format to MIME type (for MCP responses)
70
+ */
71
+ export declare function formatToMimeType(format: OutputFormat): string | undefined;
72
+ /**
73
+ * Print a success message
74
+ */
75
+ export declare function printSuccess(message: string): void;
76
+ /**
77
+ * Print an error message
78
+ */
79
+ export declare function printError(message: string): void;
80
+ /**
81
+ * Print an info message
82
+ */
83
+ export declare function printInfo(message: string): void;
84
+ /**
85
+ * Print a warning message
86
+ */
87
+ export declare function printWarning(message: string): void;
88
+ /**
89
+ * Print a section header
90
+ */
91
+ export declare function printHeader(title: string): void;
92
+ //# sourceMappingURL=cli-formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-formatter.d.ts","sourceRoot":"","sources":["../src/cli-formatter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAI1C;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,IAAI,CAWjE;AA2KD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,YAAY,CAmDpD;AAmBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI,CAMhD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAS5C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CA8G3C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAE,MAAW,GAAG,IAAI,CA6C/D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAQjE;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;;;;;;;CAOT,CAAC;AAEX;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM,GAAG,SAAS,CAuBzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAElD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAG/C"}
@@ -0,0 +1,486 @@
1
+ /**
2
+ * CLI Output Formatter
3
+ *
4
+ * Shared formatting utilities for beautiful CLI output.
5
+ * Used by photon CLI, lumina, ncp, and other projects.
6
+ *
7
+ * Structural formats:
8
+ * - primitive: Single values (string, number, boolean)
9
+ * - table: Flat objects or arrays of flat objects (bordered tables)
10
+ * - tree: Nested/hierarchical structures (indented)
11
+ * - list: Arrays of primitives (bullet points)
12
+ * - none: No data to display
13
+ *
14
+ * Content formats:
15
+ * - json: Pretty-printed JSON
16
+ * - markdown: Rendered markdown
17
+ * - yaml: YAML content
18
+ * - code / code:<lang>: Syntax highlighted code
19
+ */
20
+ import { highlight } from 'cli-highlight';
21
+ import chalk from 'chalk';
22
+ /**
23
+ * Format and output data with optional format hint
24
+ */
25
+ export function formatOutput(data, hint) {
26
+ const format = hint || detectFormat(data);
27
+ // Handle content formats (for string data)
28
+ if (typeof data === 'string' && isContentFormat(format)) {
29
+ renderContent(data, format);
30
+ return;
31
+ }
32
+ // Handle structural formats
33
+ formatDataWithHint(data, format);
34
+ }
35
+ /**
36
+ * Check if format is a content type format
37
+ */
38
+ function isContentFormat(format) {
39
+ return ['json', 'markdown', 'yaml', 'xml', 'html'].includes(format) ||
40
+ format === 'code' ||
41
+ format.startsWith('code:');
42
+ }
43
+ /**
44
+ * Render content with appropriate formatting
45
+ */
46
+ function renderContent(content, format) {
47
+ switch (format) {
48
+ case 'json':
49
+ renderJson(content);
50
+ break;
51
+ case 'markdown':
52
+ renderMarkdown(content);
53
+ break;
54
+ case 'yaml':
55
+ renderYaml(content);
56
+ break;
57
+ case 'xml':
58
+ case 'html':
59
+ renderXml(content);
60
+ break;
61
+ default:
62
+ if (format === 'code' || format.startsWith('code:')) {
63
+ const lang = format === 'code' ? undefined : format.split(':')[1];
64
+ renderCode(content, lang);
65
+ }
66
+ else {
67
+ console.log(content);
68
+ }
69
+ }
70
+ }
71
+ /**
72
+ * Render JSON with syntax highlighting
73
+ */
74
+ function renderJson(content) {
75
+ try {
76
+ const parsed = typeof content === 'string' ? JSON.parse(content) : content;
77
+ const formatted = JSON.stringify(parsed, null, 2);
78
+ console.log(highlight(formatted, { language: 'json', ignoreIllegals: true }));
79
+ }
80
+ catch {
81
+ console.log(content);
82
+ }
83
+ }
84
+ /**
85
+ * Render markdown with colored terminal output
86
+ */
87
+ function renderMarkdown(content) {
88
+ // Process markdown with colors for terminal
89
+ // Order matters: process block elements first, then inline elements
90
+ let rendered = content;
91
+ // 1. Code blocks - highlight with language if specified (must be first)
92
+ rendered = rendered.replace(/```(\w*)\n([\s\S]*?)```/g, (_match, lang, code) => {
93
+ const trimmedCode = code.trim();
94
+ if (lang && lang !== '') {
95
+ try {
96
+ return '\n' + highlight(trimmedCode, { language: lang, ignoreIllegals: true }) + '\n';
97
+ }
98
+ catch {
99
+ return '\n' + chalk.gray(trimmedCode) + '\n';
100
+ }
101
+ }
102
+ return '\n' + chalk.gray(trimmedCode) + '\n';
103
+ });
104
+ // 2. Links - convert to plain format first (before other inline processing)
105
+ // This prevents markdown link brackets from interfering with other processing
106
+ rendered = rendered.replace(/\[([^\]]+)\]\(([^)]+)\)/g, (_m, text, url) => chalk.blue.underline(text) + chalk.dim(` (${url})`));
107
+ // 3. Headers with colors
108
+ rendered = rendered
109
+ .replace(/^### (.+)$/gm, (_m, h) => '\n' + chalk.cyan(' ' + h) + '\n ' + chalk.dim('-'.repeat(20)))
110
+ .replace(/^## (.+)$/gm, (_m, h) => '\n' + chalk.yellow.bold(' ' + h) + '\n ' + chalk.dim('='.repeat(30)))
111
+ .replace(/^# (.+)$/gm, (_m, h) => '\n' + chalk.magenta.bold(h) + '\n' + chalk.dim('='.repeat(40)));
112
+ // 4. Blockquotes
113
+ rendered = rendered.replace(/^> (.+)$/gm, (_m, quote) => chalk.dim('│ ') + chalk.italic(quote));
114
+ // 5. Horizontal rules
115
+ rendered = rendered.replace(/^---+$/gm, chalk.dim('─'.repeat(40)));
116
+ // 6. Lists
117
+ rendered = rendered.replace(/^- /gm, chalk.dim(' • '));
118
+ rendered = rendered.replace(/^(\d+)\. /gm, (_m, num) => chalk.dim(` ${num}. `));
119
+ // 7. Bold (before italic to handle **text** before *text*)
120
+ rendered = rendered.replace(/\*\*(.+?)\*\*/g, (_m, text) => chalk.bold(text));
121
+ // 8. Italic
122
+ rendered = rendered.replace(/\*(.+?)\*/g, (_m, text) => chalk.italic(text));
123
+ rendered = rendered.replace(/_(.+?)_/g, (_m, text) => chalk.italic(text));
124
+ // 9. Inline code (last to avoid matching code in other elements)
125
+ rendered = rendered.replace(/`([^`]+)`/g, (_m, code) => chalk.cyan(code));
126
+ console.log(rendered);
127
+ }
128
+ /**
129
+ * Render YAML with syntax highlighting
130
+ */
131
+ function renderYaml(content) {
132
+ try {
133
+ console.log(highlight(content, { language: 'yaml', ignoreIllegals: true }));
134
+ }
135
+ catch {
136
+ console.log(content);
137
+ }
138
+ }
139
+ /**
140
+ * Render XML/HTML with syntax highlighting
141
+ */
142
+ function renderXml(content) {
143
+ try {
144
+ console.log(highlight(content, { language: 'xml', ignoreIllegals: true }));
145
+ }
146
+ catch {
147
+ console.log(content);
148
+ }
149
+ }
150
+ /**
151
+ * Render code with syntax highlighting
152
+ */
153
+ function renderCode(content, lang) {
154
+ try {
155
+ if (lang) {
156
+ console.log(highlight(content, { language: lang, ignoreIllegals: true }));
157
+ }
158
+ else {
159
+ // Auto-detect language
160
+ console.log(highlight(content, { ignoreIllegals: true }));
161
+ }
162
+ }
163
+ catch {
164
+ console.log(content);
165
+ }
166
+ }
167
+ /**
168
+ * Format data using specified or detected format
169
+ */
170
+ function formatDataWithHint(data, format) {
171
+ switch (format) {
172
+ case 'primitive':
173
+ renderPrimitive(data);
174
+ break;
175
+ case 'list':
176
+ renderList(Array.isArray(data) ? data : [data]);
177
+ break;
178
+ case 'table':
179
+ renderTable(data);
180
+ break;
181
+ case 'tree':
182
+ renderTree(data);
183
+ break;
184
+ case 'none':
185
+ renderNone();
186
+ break;
187
+ }
188
+ }
189
+ /**
190
+ * Detect format type from data structure
191
+ */
192
+ export function detectFormat(data) {
193
+ // null/undefined = none
194
+ if (data === null || data === undefined) {
195
+ return 'none';
196
+ }
197
+ // Primitive types
198
+ if (typeof data === 'string' ||
199
+ typeof data === 'number' ||
200
+ typeof data === 'boolean') {
201
+ return 'primitive';
202
+ }
203
+ // Array handling
204
+ if (Array.isArray(data)) {
205
+ if (data.length === 0) {
206
+ return 'list';
207
+ }
208
+ // Check first element to determine list vs table
209
+ const firstItem = data[0];
210
+ // Array of primitives = list
211
+ if (typeof firstItem !== 'object' || firstItem === null) {
212
+ return 'list';
213
+ }
214
+ // Array of flat objects = table
215
+ if (isFlatObject(firstItem)) {
216
+ return 'table';
217
+ }
218
+ // Array of nested objects = tree
219
+ return 'tree';
220
+ }
221
+ // Single object
222
+ if (typeof data === 'object') {
223
+ // Flat object = table
224
+ if (isFlatObject(data)) {
225
+ return 'table';
226
+ }
227
+ // Nested object = tree
228
+ return 'tree';
229
+ }
230
+ // Default fallback
231
+ return 'none';
232
+ }
233
+ /**
234
+ * Check if an object is flat (no nested objects or arrays)
235
+ */
236
+ function isFlatObject(obj) {
237
+ if (typeof obj !== 'object' || obj === null) {
238
+ return false;
239
+ }
240
+ for (const value of Object.values(obj)) {
241
+ if (typeof value === 'object' && value !== null) {
242
+ return false;
243
+ }
244
+ }
245
+ return true;
246
+ }
247
+ /**
248
+ * Render primitive value
249
+ */
250
+ export function renderPrimitive(value) {
251
+ if (typeof value === 'boolean') {
252
+ console.log(value ? 'yes' : 'no');
253
+ }
254
+ else {
255
+ console.log(value);
256
+ }
257
+ }
258
+ /**
259
+ * Render list (array of primitives)
260
+ */
261
+ export function renderList(data) {
262
+ if (data.length === 0) {
263
+ console.log('(empty)');
264
+ return;
265
+ }
266
+ data.forEach(item => {
267
+ console.log(` * ${item}`);
268
+ });
269
+ }
270
+ /**
271
+ * Render table (flat object or array of flat objects)
272
+ */
273
+ export function renderTable(data) {
274
+ // Single flat object - show as bordered key-value table
275
+ if (!Array.isArray(data)) {
276
+ const entries = Object.entries(data).filter(([key, value]) => !(key === 'returnValue' && value === true));
277
+ if (entries.length === 0) {
278
+ console.log('(empty)');
279
+ return;
280
+ }
281
+ const maxKeyLength = Math.max(...entries.map(([k]) => formatKey(k).length));
282
+ const maxValueLength = Math.max(...entries.map(([_, v]) => String(formatValue(v)).length));
283
+ // Top border
284
+ console.log(`┌─${'─'.repeat(maxKeyLength)}─┬─${'─'.repeat(maxValueLength)}─┐`);
285
+ // Rows
286
+ for (let i = 0; i < entries.length; i++) {
287
+ const [key, value] = entries[i];
288
+ const formattedKey = formatKey(key);
289
+ const formattedValue = String(formatValue(value));
290
+ const keyPadding = ' '.repeat(maxKeyLength - formattedKey.length);
291
+ const valuePadding = ' '.repeat(maxValueLength - formattedValue.length);
292
+ console.log(`| ${formattedKey}${keyPadding} | ${formattedValue}${valuePadding} |`);
293
+ // Add separator between rows (not after last row)
294
+ if (i < entries.length - 1) {
295
+ console.log(`├─${'─'.repeat(maxKeyLength)}─┼─${'─'.repeat(maxValueLength)}─┤`);
296
+ }
297
+ }
298
+ // Bottom border
299
+ console.log(`└─${'─'.repeat(maxKeyLength)}─┴─${'─'.repeat(maxValueLength)}─┘`);
300
+ return;
301
+ }
302
+ // Array of flat objects - show as bordered table
303
+ if (data.length === 0) {
304
+ console.log('(empty)');
305
+ return;
306
+ }
307
+ // Get all unique keys across all objects
308
+ const allKeys = Array.from(new Set(data.flatMap(obj => Object.keys(obj)))).filter(k => k !== 'returnValue');
309
+ if (allKeys.length === 0) {
310
+ console.log('(no data)');
311
+ return;
312
+ }
313
+ // Calculate column widths
314
+ const columnWidths = new Map();
315
+ for (const key of allKeys) {
316
+ const headerWidth = formatKey(key).length;
317
+ const maxValueWidth = Math.max(...data.map(obj => String(formatValue(obj[key] ?? '')).length));
318
+ columnWidths.set(key, Math.max(headerWidth, maxValueWidth));
319
+ }
320
+ // Top border
321
+ const topBorderParts = allKeys.map(key => '─'.repeat(columnWidths.get(key) + 2));
322
+ console.log('┌' + topBorderParts.join('┬') + '┐');
323
+ // Header
324
+ const headerParts = allKeys.map(key => {
325
+ const formattedKey = formatKey(key);
326
+ const width = columnWidths.get(key);
327
+ return ' ' + formattedKey.padEnd(width) + ' ';
328
+ });
329
+ console.log('│' + headerParts.join('│') + '│');
330
+ // Header separator
331
+ const separatorParts = allKeys.map(key => '─'.repeat(columnWidths.get(key) + 2));
332
+ console.log('├' + separatorParts.join('┼') + '┤');
333
+ // Rows
334
+ for (const row of data) {
335
+ const rowParts = allKeys.map(key => {
336
+ const value = formatValue(row[key] ?? '');
337
+ const width = columnWidths.get(key);
338
+ return ' ' + String(value).padEnd(width) + ' ';
339
+ });
340
+ console.log('│' + rowParts.join('│') + '│');
341
+ }
342
+ // Bottom border
343
+ const bottomBorderParts = allKeys.map(key => '─'.repeat(columnWidths.get(key) + 2));
344
+ console.log('└' + bottomBorderParts.join('┴') + '┘');
345
+ }
346
+ /**
347
+ * Render tree (nested/hierarchical structure)
348
+ */
349
+ export function renderTree(data, indent = '') {
350
+ // Array of objects
351
+ if (Array.isArray(data)) {
352
+ if (data.length === 0) {
353
+ console.log(`${indent}(empty)`);
354
+ return;
355
+ }
356
+ data.forEach((item, index) => {
357
+ if (typeof item === 'object' && item !== null) {
358
+ console.log(`${indent}[${index}]`);
359
+ renderTree(item, indent + ' ');
360
+ }
361
+ else {
362
+ console.log(`${indent}* ${item}`);
363
+ }
364
+ });
365
+ return;
366
+ }
367
+ // Object
368
+ if (typeof data === 'object' && data !== null) {
369
+ const entries = Object.entries(data).filter(([key, value]) => !(key === 'returnValue' && value === true));
370
+ for (const [key, value] of entries) {
371
+ const formattedKey = formatKey(key);
372
+ if (value === null || value === undefined) {
373
+ console.log(`${indent}${formattedKey}: (none)`);
374
+ }
375
+ else if (Array.isArray(value)) {
376
+ console.log(`${indent}${formattedKey}:`);
377
+ renderTree(value, indent + ' ');
378
+ }
379
+ else if (typeof value === 'object') {
380
+ console.log(`${indent}${formattedKey}:`);
381
+ renderTree(value, indent + ' ');
382
+ }
383
+ else {
384
+ console.log(`${indent}${formattedKey}: ${formatValue(value)}`);
385
+ }
386
+ }
387
+ return;
388
+ }
389
+ // Primitive (shouldn't happen but handle it)
390
+ console.log(`${indent}${formatValue(data)}`);
391
+ }
392
+ /**
393
+ * Render none format (operation with no data)
394
+ */
395
+ export function renderNone() {
396
+ console.log('Done');
397
+ }
398
+ /**
399
+ * Format a key for display (camelCase to Title Case)
400
+ */
401
+ export function formatKey(key) {
402
+ return key
403
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2')
404
+ .replace(/([a-z])([A-Z])/g, '$1 $2')
405
+ .replace(/_/g, ' ')
406
+ .replace(/^./, str => str.toUpperCase())
407
+ .trim();
408
+ }
409
+ /**
410
+ * Format a value for display
411
+ */
412
+ export function formatValue(value) {
413
+ if (value === null || value === undefined) {
414
+ return '-';
415
+ }
416
+ if (typeof value === 'boolean') {
417
+ return value ? 'yes' : 'no';
418
+ }
419
+ return value;
420
+ }
421
+ /**
422
+ * Status indicators for tables (ASCII only for proper alignment)
423
+ */
424
+ export const STATUS = {
425
+ OK: 'ok',
426
+ UPDATE: 'update',
427
+ WARN: 'warn',
428
+ ERROR: '!',
429
+ OFF: 'off',
430
+ UNKNOWN: '?',
431
+ };
432
+ /**
433
+ * Convert output format to MIME type (for MCP responses)
434
+ */
435
+ export function formatToMimeType(format) {
436
+ const mimeTypes = {
437
+ json: 'application/json',
438
+ markdown: 'text/markdown',
439
+ yaml: 'text/yaml',
440
+ xml: 'application/xml',
441
+ html: 'text/html',
442
+ };
443
+ if (mimeTypes[format]) {
444
+ return mimeTypes[format];
445
+ }
446
+ if (format === 'code') {
447
+ return 'text/plain';
448
+ }
449
+ if (format.startsWith('code:')) {
450
+ const lang = format.split(':')[1];
451
+ return `text/x-${lang}`;
452
+ }
453
+ return undefined;
454
+ }
455
+ /**
456
+ * Print a success message
457
+ */
458
+ export function printSuccess(message) {
459
+ console.error(`✓ ${message}`);
460
+ }
461
+ /**
462
+ * Print an error message
463
+ */
464
+ export function printError(message) {
465
+ console.error(`✗ ${message}`);
466
+ }
467
+ /**
468
+ * Print an info message
469
+ */
470
+ export function printInfo(message) {
471
+ console.error(`${message}`);
472
+ }
473
+ /**
474
+ * Print a warning message
475
+ */
476
+ export function printWarning(message) {
477
+ console.error(`! ${message}`);
478
+ }
479
+ /**
480
+ * Print a section header
481
+ */
482
+ export function printHeader(title) {
483
+ console.error(`\n${title}`);
484
+ console.error('─'.repeat(title.length));
485
+ }
486
+ //# sourceMappingURL=cli-formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-formatter.js","sourceRoot":"","sources":["../src/cli-formatter.ts"],"names":[],"mappings":"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"}
@@ -29,7 +29,7 @@ export class DependencyManager {
29
29
  const dependencies = [];
30
30
  // Match @dependencies tags in JSDoc comments
31
31
  // Regex: @dependencies package@version, package2@version2
32
- const dependencyRegex = /@dependencies\s+([\w@^~.,\s-]+)/g;
32
+ const dependencyRegex = /@dependencies\s+([\w@^~.,\s/-]+)/g;
33
33
  let match;
34
34
  while ((match = dependencyRegex.exec(content)) !== null) {
35
35
  const depString = match[1].trim();
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -35,5 +35,7 @@
35
35
  export { PhotonMCP } from './base.js';
36
36
  export { DependencyManager } from './dependency-manager.js';
37
37
  export { SchemaExtractor } from './schema-extractor.js';
38
+ export { formatOutput, detectFormat, renderPrimitive, renderList, renderTable, renderTree, renderNone, formatKey, formatValue, formatToMimeType, printSuccess, printError, printInfo, printWarning, printHeader, STATUS, } from './cli-formatter.js';
39
+ export { resolvePath, listFiles, ensureDir, resolvePhotonPath, listPhotonFiles, ensurePhotonDir, DEFAULT_PHOTON_DIR, type ResolverOptions, } from './path-resolver.js';
38
40
  export * from './types.js';
39
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAGtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,MAAM,GACP,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,KAAK,eAAe,GACrB,MAAM,oBAAoB,CAAC;AAG5B,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -38,6 +38,10 @@ export { PhotonMCP } from './base.js';
38
38
  export { DependencyManager } from './dependency-manager.js';
39
39
  // Schema extraction
40
40
  export { SchemaExtractor } from './schema-extractor.js';
41
+ // CLI formatting
42
+ export { formatOutput, detectFormat, renderPrimitive, renderList, renderTable, renderTree, renderNone, formatKey, formatValue, formatToMimeType, printSuccess, printError, printInfo, printWarning, printHeader, STATUS, } from './cli-formatter.js';
43
+ // Path resolution
44
+ export { resolvePath, listFiles, ensureDir, resolvePhotonPath, listPhotonFiles, ensurePhotonDir, DEFAULT_PHOTON_DIR, } from './path-resolver.js';
41
45
  // Types
42
46
  export * from './types.js';
43
47
  //# sourceMappingURL=index.js.map