pupt 2.2.1 → 2.3.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.
- package/dist/cli.js +94 -58
- package/dist/cli.js.map +1 -1
- package/dist/commands/add.d.ts +4 -1
- package/dist/commands/add.d.ts.map +1 -1
- package/dist/commands/add.js +60 -11
- package/dist/commands/add.js.map +1 -1
- package/dist/commands/cache.d.ts +9 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +31 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/config.d.ts +1 -2
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +30 -57
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +5 -2
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/init-refactored.d.ts.map +1 -1
- package/dist/commands/init-refactored.js +0 -3
- package/dist/commands/init-refactored.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +59 -68
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/install.d.ts +9 -9
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +76 -178
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +3 -1
- package/dist/commands/review.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +13 -9
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/uninstall.d.ts +2 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +45 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/update.d.ts +2 -0
- package/dist/commands/update.d.ts.map +1 -0
- package/dist/commands/update.js +113 -0
- package/dist/commands/update.js.map +1 -0
- package/dist/config/config-manager.d.ts +3 -10
- package/dist/config/config-manager.d.ts.map +1 -1
- package/dist/config/config-manager.js +23 -140
- package/dist/config/config-manager.js.map +1 -1
- package/dist/config/global-paths.d.ts +5 -0
- package/dist/config/global-paths.d.ts.map +1 -0
- package/dist/config/global-paths.js +16 -0
- package/dist/config/global-paths.js.map +1 -0
- package/dist/config/migration.d.ts.map +1 -1
- package/dist/config/migration.js +69 -1
- package/dist/config/migration.js.map +1 -1
- package/dist/schemas/config-schema.d.ts +863 -196
- package/dist/schemas/config-schema.d.ts.map +1 -1
- package/dist/schemas/config-schema.js +51 -27
- package/dist/schemas/config-schema.js.map +1 -1
- package/dist/services/input-collector.d.ts.map +1 -1
- package/dist/services/input-collector.js +7 -1
- package/dist/services/input-collector.js.map +1 -1
- package/dist/services/module-cache.d.ts +42 -0
- package/dist/services/module-cache.d.ts.map +1 -0
- package/dist/services/module-cache.js +205 -0
- package/dist/services/module-cache.js.map +1 -0
- package/dist/services/module-entry-builder.d.ts +20 -0
- package/dist/services/module-entry-builder.d.ts.map +1 -0
- package/dist/services/module-entry-builder.js +67 -0
- package/dist/services/module-entry-builder.js.map +1 -0
- package/dist/services/output-capture-service.d.ts.map +1 -1
- package/dist/services/output-capture-service.js +2 -1
- package/dist/services/output-capture-service.js.map +1 -1
- package/dist/services/package-manager.d.ts +18 -0
- package/dist/services/package-manager.d.ts.map +1 -0
- package/dist/services/package-manager.js +141 -0
- package/dist/services/package-manager.js.map +1 -0
- package/dist/services/prompt-resolver.d.ts +2 -2
- package/dist/services/prompt-resolver.d.ts.map +1 -1
- package/dist/services/prompt-resolver.js +9 -10
- package/dist/services/prompt-resolver.js.map +1 -1
- package/dist/services/pupt-prompt-source.d.ts +16 -0
- package/dist/services/pupt-prompt-source.d.ts.map +1 -0
- package/dist/services/pupt-prompt-source.js +73 -0
- package/dist/services/pupt-prompt-source.js.map +1 -0
- package/dist/services/pupt-service.d.ts +11 -25
- package/dist/services/pupt-service.d.ts.map +1 -1
- package/dist/services/pupt-service.js +31 -179
- package/dist/services/pupt-service.js.map +1 -1
- package/dist/services/review-data-builder.d.ts +4 -1
- package/dist/services/review-data-builder.d.ts.map +1 -1
- package/dist/services/review-data-builder.js +4 -2
- package/dist/services/review-data-builder.js.map +1 -1
- package/dist/types/config.d.ts +35 -19
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +3 -4
- package/dist/types/config.js.map +1 -1
- package/dist/utils/prompt-dir-resolver.d.ts +5 -0
- package/dist/utils/prompt-dir-resolver.d.ts.map +1 -0
- package/dist/utils/prompt-dir-resolver.js +24 -0
- package/dist/utils/prompt-dir-resolver.js.map +1 -0
- package/package.json +3 -2
- package/dist/utils/path-utils.d.ts +0 -42
- package/dist/utils/path-utils.d.ts.map +0 -1
- package/dist/utils/path-utils.js +0 -139
- package/dist/utils/path-utils.js.map +0 -1
- package/dist/utils/prompt-format.d.ts +0 -27
- package/dist/utils/prompt-format.d.ts.map +0 -1
- package/dist/utils/prompt-format.js +0 -28
- package/dist/utils/prompt-format.js.map +0 -1
package/dist/cli.js
CHANGED
|
@@ -3,7 +3,6 @@ import { program } from 'commander';
|
|
|
3
3
|
import { readFileSync } from 'node:fs';
|
|
4
4
|
import { fileURLToPath } from 'node:url';
|
|
5
5
|
import { dirname, join } from 'node:path';
|
|
6
|
-
import * as path from 'node:path';
|
|
7
6
|
import chalk from 'chalk';
|
|
8
7
|
import { ConfigManager } from './config/config-manager.js';
|
|
9
8
|
import { HistoryManager } from './history/history-manager.js';
|
|
@@ -15,16 +14,24 @@ import { editCommand } from './commands/edit.js';
|
|
|
15
14
|
import { runCommand } from './commands/run.js';
|
|
16
15
|
import { annotateCommand } from './commands/annotate.js';
|
|
17
16
|
import { installCommand } from './commands/install.js';
|
|
17
|
+
import { updateCommand } from './commands/update.js';
|
|
18
|
+
import { uninstallCommand } from './commands/uninstall.js';
|
|
18
19
|
import { helpCommand } from './commands/help.js';
|
|
19
20
|
import { reviewCommand } from './commands/review.js';
|
|
20
21
|
import { configCommand } from './commands/config.js';
|
|
22
|
+
import { cacheCommand } from './commands/cache.js';
|
|
21
23
|
import { logger } from './utils/logger.js';
|
|
22
24
|
import { errors, displayError } from './utils/errors.js';
|
|
25
|
+
import { buildModuleEntries } from './services/module-entry-builder.js';
|
|
26
|
+
// Commander.js helper for repeatable options (e.g. -d path1 -d path2)
|
|
27
|
+
function collect(val, acc) {
|
|
28
|
+
return [...acc, val];
|
|
29
|
+
}
|
|
23
30
|
const __filename = fileURLToPath(import.meta.url);
|
|
24
31
|
const __dirname = dirname(__filename);
|
|
25
32
|
const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
26
33
|
// List of valid commands for suggestions
|
|
27
|
-
const VALID_COMMANDS = ['init', 'config', 'history', 'add', 'edit', 'run', 'annotate', 'install', 'review', 'help'];
|
|
34
|
+
const VALID_COMMANDS = ['init', 'config', 'cache', 'history', 'add', 'edit', 'run', 'annotate', 'install', 'update', 'uninstall', 'review', 'help'];
|
|
28
35
|
// Calculate Levenshtein distance between two strings
|
|
29
36
|
function levenshteinDistance(a, b) {
|
|
30
37
|
const matrix = [];
|
|
@@ -78,48 +85,14 @@ process.on('SIGTERM', () => {
|
|
|
78
85
|
ensureTerminalCleanup();
|
|
79
86
|
process.exit(143); // Standard exit code for SIGTERM
|
|
80
87
|
});
|
|
81
|
-
async function checkAndMigrateOldConfig() {
|
|
82
|
-
// Skip the check in test environment or non-TTY (non-interactive) mode
|
|
83
|
-
if (process.env.NODE_ENV === 'test' || !process.stdin.isTTY) {
|
|
84
|
-
return;
|
|
85
|
-
}
|
|
86
|
-
// Check for old config files in current directory
|
|
87
|
-
const oldFiles = await ConfigManager.checkForOldConfigFiles();
|
|
88
|
-
if (oldFiles.length > 0) {
|
|
89
|
-
logger.warn(chalk.yellow('\n⚠️ Warning: Found old config file(s):'));
|
|
90
|
-
oldFiles.forEach(file => {
|
|
91
|
-
logger.warn(chalk.yellow(` - ${path.basename(file)}`));
|
|
92
|
-
});
|
|
93
|
-
logger.warn(chalk.yellow('\nThe config file naming has changed from .ptrc to .pt-config'));
|
|
94
|
-
logger.warn(chalk.yellow('Would you like to rename your config file(s)? (y/n): '));
|
|
95
|
-
// Get user input
|
|
96
|
-
const { confirm } = await import('@inquirer/prompts');
|
|
97
|
-
const shouldRename = await confirm({
|
|
98
|
-
message: 'Rename config file(s) to new format?',
|
|
99
|
-
default: true
|
|
100
|
-
});
|
|
101
|
-
if (shouldRename) {
|
|
102
|
-
for (const oldFile of oldFiles) {
|
|
103
|
-
try {
|
|
104
|
-
const newPath = await ConfigManager.renameOldConfigFile(oldFile);
|
|
105
|
-
logger.log(chalk.green(`✓ Renamed ${path.basename(oldFile)} to ${path.basename(newPath)}`));
|
|
106
|
-
}
|
|
107
|
-
catch (error) {
|
|
108
|
-
logger.error(chalk.red(`✗ Failed to rename ${path.basename(oldFile)}: ${error instanceof Error ? error.message : String(error)}`));
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
// Check for old config files before running commands
|
|
115
|
-
await checkAndMigrateOldConfig();
|
|
116
88
|
program
|
|
117
89
|
.name('pt')
|
|
118
90
|
.description('CLI tool for managing AI prompts')
|
|
119
91
|
.version(packageJson.version)
|
|
120
92
|
.argument('[command]', 'command to run')
|
|
93
|
+
.option('-d, --prompt-dir <path>', 'Additional prompt directory (repeatable)', collect, [])
|
|
121
94
|
.allowUnknownOption(true)
|
|
122
|
-
.action(async (command) => {
|
|
95
|
+
.action(async (command, options) => {
|
|
123
96
|
// If a command-like argument is provided, it's likely a typo
|
|
124
97
|
if (command && VALID_COMMANDS.length > 0) {
|
|
125
98
|
// Check if it looks like a command (not a flag)
|
|
@@ -135,10 +108,14 @@ program
|
|
|
135
108
|
const config = configResult.config;
|
|
136
109
|
// Capture timestamp at start of prompt processing
|
|
137
110
|
const startTimestamp = new Date();
|
|
111
|
+
// Build module entries from config + CLI overrides
|
|
112
|
+
const modules = await buildModuleEntries({
|
|
113
|
+
config,
|
|
114
|
+
cliPromptDirs: options.promptDir,
|
|
115
|
+
});
|
|
138
116
|
// Discover, select, collect inputs, and render
|
|
139
117
|
const resolved = await resolvePrompt({
|
|
140
|
-
|
|
141
|
-
libraries: config.libraries,
|
|
118
|
+
modules,
|
|
142
119
|
startTimestamp,
|
|
143
120
|
environment: config.environment,
|
|
144
121
|
});
|
|
@@ -170,7 +147,8 @@ program
|
|
|
170
147
|
await runCommand([], {
|
|
171
148
|
prompt: result,
|
|
172
149
|
templateInfo: resolved.templateInfo,
|
|
173
|
-
isAutoRun: true
|
|
150
|
+
isAutoRun: true,
|
|
151
|
+
promptDirOverrides: options.promptDir,
|
|
174
152
|
});
|
|
175
153
|
}
|
|
176
154
|
}
|
|
@@ -199,25 +177,17 @@ program
|
|
|
199
177
|
// Config command
|
|
200
178
|
program
|
|
201
179
|
.command('config')
|
|
202
|
-
.description('Show
|
|
180
|
+
.description('Show current configuration')
|
|
203
181
|
.option('-s, --show', 'Show current configuration with resolved paths')
|
|
204
|
-
.option('--fix-paths', 'Convert absolute paths to portable format (${projectRoot}/...)')
|
|
205
182
|
.addHelpText('after', `
|
|
206
183
|
Examples:
|
|
207
184
|
pt config # Show current configuration
|
|
208
185
|
pt config --show # Same as above
|
|
209
|
-
pt config --fix-paths # Convert absolute paths to portable format
|
|
210
|
-
|
|
211
|
-
The --fix-paths option converts:
|
|
212
|
-
- Absolute paths under project root → \${projectRoot}/...
|
|
213
|
-
- Absolute paths under home → ~/...
|
|
214
|
-
- Relative paths (node_modules/...) → kept as-is
|
|
215
186
|
`)
|
|
216
187
|
.action(async (options) => {
|
|
217
188
|
try {
|
|
218
189
|
await configCommand({
|
|
219
190
|
show: options.show,
|
|
220
|
-
fixPaths: options.fixPaths
|
|
221
191
|
});
|
|
222
192
|
}
|
|
223
193
|
catch (error) {
|
|
@@ -256,9 +226,10 @@ program
|
|
|
256
226
|
program
|
|
257
227
|
.command('add')
|
|
258
228
|
.description('Create a new prompt interactively')
|
|
259
|
-
.
|
|
229
|
+
.option('-g, --global', 'Save to global prompt directory instead of local .prompts/')
|
|
230
|
+
.action(async (options) => {
|
|
260
231
|
try {
|
|
261
|
-
await addCommand();
|
|
232
|
+
await addCommand({ global: options.global });
|
|
262
233
|
}
|
|
263
234
|
catch (error) {
|
|
264
235
|
displayError(error);
|
|
@@ -285,7 +256,9 @@ program
|
|
|
285
256
|
.usage('[tool] [args...] [-- tool-specific-args]')
|
|
286
257
|
.option('-h, --history <number>', 'Use prompt from history by number')
|
|
287
258
|
.option('-p, --prompt <name>', 'Use specified prompt by title or filename')
|
|
259
|
+
.option('-d, --prompt-dir <path>', 'Additional prompt directory (repeatable)', collect, [])
|
|
288
260
|
.option('--no-interactive', 'Use default values for all prompt inputs')
|
|
261
|
+
.option('--no-cache', 'Bypass module cache for URL/GitHub imports')
|
|
289
262
|
.helpOption('--help', 'Display help for run command')
|
|
290
263
|
.addHelpText('after', `
|
|
291
264
|
Examples:
|
|
@@ -307,7 +280,9 @@ Examples:
|
|
|
307
280
|
await runCommand(allArgs, {
|
|
308
281
|
historyIndex: options.history ? parseInt(options.history) : undefined,
|
|
309
282
|
promptName: options.prompt,
|
|
310
|
-
|
|
283
|
+
promptDirOverrides: options.promptDir,
|
|
284
|
+
noInteractive: options.interactive === false,
|
|
285
|
+
noCache: options.cache === false,
|
|
311
286
|
});
|
|
312
287
|
}
|
|
313
288
|
catch (error) {
|
|
@@ -332,15 +307,76 @@ program
|
|
|
332
307
|
program
|
|
333
308
|
.command('install <source>')
|
|
334
309
|
.description('Install prompts from a git repository or npm package')
|
|
310
|
+
.option('-n, --name <name>', 'Custom name for the installed library')
|
|
311
|
+
.addHelpText('after', `
|
|
312
|
+
Examples:
|
|
313
|
+
pt install https://github.com/user/prompts # Install from GitHub
|
|
314
|
+
pt install git@github.com:user/prompts.git # Install via SSH
|
|
315
|
+
pt install https://github.com/user/repo -n mylib # Install with custom name
|
|
316
|
+
pt install @org/prompts # Install from npm
|
|
317
|
+
`)
|
|
318
|
+
.action(async (source, options) => {
|
|
319
|
+
try {
|
|
320
|
+
await installCommand(source, { name: options.name });
|
|
321
|
+
}
|
|
322
|
+
catch (error) {
|
|
323
|
+
displayError(error);
|
|
324
|
+
process.exit(1);
|
|
325
|
+
}
|
|
326
|
+
});
|
|
327
|
+
// Update command
|
|
328
|
+
program
|
|
329
|
+
.command('update [name]')
|
|
330
|
+
.description('Update installed prompt libraries')
|
|
331
|
+
.addHelpText('after', `
|
|
332
|
+
Examples:
|
|
333
|
+
pt update # Update all installed libraries
|
|
334
|
+
pt update my-prompts # Update a specific library
|
|
335
|
+
`)
|
|
336
|
+
.action(async (name) => {
|
|
337
|
+
try {
|
|
338
|
+
await updateCommand(name);
|
|
339
|
+
}
|
|
340
|
+
catch (error) {
|
|
341
|
+
displayError(error);
|
|
342
|
+
process.exit(1);
|
|
343
|
+
}
|
|
344
|
+
});
|
|
345
|
+
// Uninstall command
|
|
346
|
+
program
|
|
347
|
+
.command('uninstall <name>')
|
|
348
|
+
.description('Remove an installed prompt library')
|
|
335
349
|
.addHelpText('after', `
|
|
336
350
|
Examples:
|
|
337
|
-
pt
|
|
338
|
-
pt install git@github.com:user/prompts.git # Install via SSH
|
|
339
|
-
pt install @org/prompts # Install from npm (coming soon)
|
|
351
|
+
pt uninstall my-prompts # Remove a library
|
|
340
352
|
`)
|
|
341
|
-
.action(async (
|
|
353
|
+
.action(async (name) => {
|
|
342
354
|
try {
|
|
343
|
-
await
|
|
355
|
+
await uninstallCommand(name);
|
|
356
|
+
}
|
|
357
|
+
catch (error) {
|
|
358
|
+
displayError(error);
|
|
359
|
+
process.exit(1);
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
// Cache command
|
|
363
|
+
program
|
|
364
|
+
.command('cache')
|
|
365
|
+
.description('Manage the module cache for URL/GitHub imports')
|
|
366
|
+
.option('-c, --clear', 'Clear all cached modules')
|
|
367
|
+
.option('-u, --url <url>', 'Target a specific URL (use with --clear)')
|
|
368
|
+
.addHelpText('after', `
|
|
369
|
+
Examples:
|
|
370
|
+
pt cache # Show cache statistics
|
|
371
|
+
pt cache --clear # Clear all cached modules
|
|
372
|
+
pt cache --clear --url <url> # Clear cache for a specific URL
|
|
373
|
+
`)
|
|
374
|
+
.action(async (options) => {
|
|
375
|
+
try {
|
|
376
|
+
await cacheCommand({
|
|
377
|
+
clear: options.clear,
|
|
378
|
+
url: options.url,
|
|
379
|
+
});
|
|
344
380
|
}
|
|
345
381
|
catch (error) {
|
|
346
382
|
displayError(error);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/add.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAWA,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAsB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA0H/E"}
|
package/dist/commands/add.js
CHANGED
|
@@ -6,12 +6,69 @@ import chalk from 'chalk';
|
|
|
6
6
|
import { editorLauncher } from '../utils/editor.js';
|
|
7
7
|
import { errors } from '../utils/errors.js';
|
|
8
8
|
import { logger } from '../utils/logger.js';
|
|
9
|
-
|
|
9
|
+
import { findLocalPromptsDir } from '../utils/prompt-dir-resolver.js';
|
|
10
|
+
import { findProjectRoot } from '../utils/project-root.js';
|
|
11
|
+
export async function addCommand(options = {}) {
|
|
10
12
|
// Load configuration
|
|
11
13
|
const config = await ConfigManager.load();
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
// Determine target directory based on --global flag and local .prompts/
|
|
15
|
+
let targetDir;
|
|
16
|
+
if (options.global) {
|
|
17
|
+
// --global: use global config promptDirs
|
|
18
|
+
if (!config.promptDirs || config.promptDirs.length === 0) {
|
|
19
|
+
throw errors.noPromptsFound([]);
|
|
20
|
+
}
|
|
21
|
+
targetDir = config.promptDirs[0];
|
|
22
|
+
if (config.promptDirs.length > 1) {
|
|
23
|
+
targetDir = await select({
|
|
24
|
+
message: 'Save to global directory:',
|
|
25
|
+
choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
|
|
26
|
+
});
|
|
27
|
+
}
|
|
14
28
|
}
|
|
29
|
+
else {
|
|
30
|
+
// Default: prefer local .prompts/ if it exists or can be created
|
|
31
|
+
const localDir = await findLocalPromptsDir();
|
|
32
|
+
if (localDir) {
|
|
33
|
+
targetDir = localDir;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
// Check if we're in a project root where we could create .prompts/
|
|
37
|
+
const projectRoot = findProjectRoot(process.cwd());
|
|
38
|
+
if (projectRoot) {
|
|
39
|
+
const potentialLocal = path.join(projectRoot, '.prompts');
|
|
40
|
+
// Fall back to global if available, but offer local as option
|
|
41
|
+
if (config.promptDirs && config.promptDirs.length > 0) {
|
|
42
|
+
const allDirs = [potentialLocal, ...config.promptDirs];
|
|
43
|
+
targetDir = await select({
|
|
44
|
+
message: 'Save to directory:',
|
|
45
|
+
choices: allDirs.map(dir => ({
|
|
46
|
+
value: dir,
|
|
47
|
+
name: dir === potentialLocal ? `${dir} (local project)` : dir
|
|
48
|
+
}))
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
targetDir = potentialLocal;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else if (config.promptDirs && config.promptDirs.length > 0) {
|
|
56
|
+
// No project root; use global config dirs
|
|
57
|
+
targetDir = config.promptDirs[0];
|
|
58
|
+
if (config.promptDirs.length > 1) {
|
|
59
|
+
targetDir = await select({
|
|
60
|
+
message: 'Save to directory:',
|
|
61
|
+
choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
throw errors.noPromptsFound([]);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
// Ensure target directory exists
|
|
71
|
+
await fs.ensureDir(targetDir);
|
|
15
72
|
// Get prompt title
|
|
16
73
|
const title = await input({
|
|
17
74
|
message: 'Prompt title:',
|
|
@@ -31,14 +88,6 @@ export async function addCommand() {
|
|
|
31
88
|
.split(',')
|
|
32
89
|
.map(l => l.trim())
|
|
33
90
|
.filter(l => l.length > 0);
|
|
34
|
-
// Select directory if multiple
|
|
35
|
-
let targetDir = config.promptDirs[0];
|
|
36
|
-
if (config.promptDirs.length > 1) {
|
|
37
|
-
targetDir = await select({
|
|
38
|
-
message: 'Save to directory:',
|
|
39
|
-
choices: config.promptDirs.map(dir => ({ value: dir, name: dir }))
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
91
|
const ext = '.prompt';
|
|
43
92
|
// Generate filename
|
|
44
93
|
const filename = await generateFilename(title, targetDir, ext);
|
package/dist/commands/add.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface CacheCommandOptions {
|
|
2
|
+
clear?: boolean;
|
|
3
|
+
url?: string;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Cache command - manage the module cache for URL/GitHub imports.
|
|
7
|
+
*/
|
|
8
|
+
export declare function cacheCommand(options: CacheCommandOptions): Promise<void>;
|
|
9
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuB9E"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
import { ModuleCache } from '../services/module-cache.js';
|
|
3
|
+
import { getCacheDir } from '../config/global-paths.js';
|
|
4
|
+
import { logger } from '../utils/logger.js';
|
|
5
|
+
/**
|
|
6
|
+
* Cache command - manage the module cache for URL/GitHub imports.
|
|
7
|
+
*/
|
|
8
|
+
export async function cacheCommand(options) {
|
|
9
|
+
const cacheDir = getCacheDir();
|
|
10
|
+
const cache = new ModuleCache(cacheDir);
|
|
11
|
+
if (options.clear) {
|
|
12
|
+
if (options.url) {
|
|
13
|
+
await cache.clear(options.url);
|
|
14
|
+
logger.log(chalk.green(`Cleared cache for: ${options.url}`));
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
await cache.clear();
|
|
18
|
+
logger.log(chalk.green('Cleared all cached modules'));
|
|
19
|
+
}
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
// Default: show cache statistics
|
|
23
|
+
const stats = await cache.getStats();
|
|
24
|
+
logger.log(chalk.bold('\nModule Cache'));
|
|
25
|
+
logger.log(chalk.dim('\u2500'.repeat(40)));
|
|
26
|
+
logger.log(`Cache directory: ${chalk.gray(cacheDir)}`);
|
|
27
|
+
logger.log(`Cached entries: ${stats.entryCount}`);
|
|
28
|
+
logger.log(`Total size: ${stats.totalSizeMB.toFixed(2)} MB`);
|
|
29
|
+
logger.log('');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/commands/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAO5C;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAA4B;IAC7D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;IAExC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;IACT,CAAC;IAED,iCAAiC;IACjC,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,GAAG,CAAC,oBAAoB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IAClD,MAAM,CAAC,GAAG,CAAC,eAAe,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
export interface ConfigCommandOptions {
|
|
2
2
|
show?: boolean;
|
|
3
|
-
fixPaths?: boolean;
|
|
4
3
|
}
|
|
5
4
|
/**
|
|
6
|
-
* Config command - show
|
|
5
|
+
* Config command - show configuration
|
|
7
6
|
*/
|
|
8
7
|
export declare function configCommand(options: ConfigCommandOptions): Promise<void>;
|
|
9
8
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAyFD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAOhF"}
|
package/dist/commands/config.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import path from 'node:path';
|
|
3
2
|
import fs from 'fs-extra';
|
|
4
3
|
import { ConfigManager } from '../config/config-manager.js';
|
|
5
4
|
import { logger } from '../utils/logger.js';
|
|
5
|
+
import { getConfigDir, getDataDir, getCacheDir } from '../config/global-paths.js';
|
|
6
6
|
/**
|
|
7
7
|
* Display the current configuration with resolved paths
|
|
8
8
|
*/
|
|
@@ -10,42 +10,56 @@ async function showConfig() {
|
|
|
10
10
|
const result = await ConfigManager.loadWithPath();
|
|
11
11
|
const config = result.config;
|
|
12
12
|
logger.log(chalk.bold('\nCurrent Configuration'));
|
|
13
|
-
logger.log(chalk.dim('
|
|
13
|
+
logger.log(chalk.dim('\u2500'.repeat(50)));
|
|
14
14
|
if (result.filepath) {
|
|
15
15
|
logger.log(chalk.gray(`Config file: ${result.filepath}`));
|
|
16
16
|
}
|
|
17
17
|
else {
|
|
18
18
|
logger.log(chalk.yellow('No config file found (using defaults)'));
|
|
19
19
|
}
|
|
20
|
+
// Show global paths
|
|
21
|
+
logger.log(chalk.gray(`Config dir: ${getConfigDir()}`));
|
|
22
|
+
logger.log(chalk.gray(`Data dir: ${getDataDir()}`));
|
|
23
|
+
logger.log(chalk.gray(`Cache dir: ${getCacheDir()}`));
|
|
24
|
+
if (config.version) {
|
|
25
|
+
logger.log(chalk.gray(`Version: ${config.version}`));
|
|
26
|
+
}
|
|
20
27
|
logger.log('');
|
|
21
28
|
// Display prompt directories
|
|
22
29
|
logger.log(chalk.bold('Prompt Directories:'));
|
|
23
30
|
if (config.promptDirs && config.promptDirs.length > 0) {
|
|
24
31
|
for (const dir of config.promptDirs) {
|
|
25
32
|
const exists = await fs.pathExists(dir);
|
|
26
|
-
const status = exists ? chalk.green('
|
|
33
|
+
const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
|
|
27
34
|
logger.log(` ${status} ${dir}`);
|
|
28
35
|
}
|
|
29
36
|
}
|
|
30
37
|
else {
|
|
31
38
|
logger.log(chalk.gray(' (none)'));
|
|
32
39
|
}
|
|
40
|
+
// Display installed libraries
|
|
41
|
+
if (config.libraries && config.libraries.length > 0) {
|
|
42
|
+
logger.log(`\n${chalk.bold('Installed Libraries:')}`);
|
|
43
|
+
for (const lib of config.libraries) {
|
|
44
|
+
const version = lib.version ? ` (${lib.version})` : '';
|
|
45
|
+
logger.log(` ${chalk.cyan(lib.name)} [${lib.type}]${version}`);
|
|
46
|
+
for (const dir of lib.promptDirs) {
|
|
47
|
+
logger.log(chalk.gray(` prompts: ${dir}`));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
33
51
|
// Display history directory
|
|
34
52
|
if (config.historyDir) {
|
|
35
53
|
const exists = await fs.pathExists(config.historyDir);
|
|
36
|
-
const status = exists ? chalk.green('
|
|
54
|
+
const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
|
|
37
55
|
logger.log(`\n${chalk.bold('History Directory:')} ${status} ${config.historyDir}`);
|
|
38
56
|
}
|
|
39
57
|
// Display annotation directory
|
|
40
58
|
if (config.annotationDir) {
|
|
41
59
|
const exists = await fs.pathExists(config.annotationDir);
|
|
42
|
-
const status = exists ? chalk.green('
|
|
60
|
+
const status = exists ? chalk.green('\u2713') : chalk.red('\u2717');
|
|
43
61
|
logger.log(`${chalk.bold('Annotation Directory:')} ${status} ${config.annotationDir}`);
|
|
44
62
|
}
|
|
45
|
-
// Display git prompt directory
|
|
46
|
-
if (config.gitPromptDir) {
|
|
47
|
-
logger.log(`${chalk.bold('Git Prompt Directory:')} ${config.gitPromptDir}`);
|
|
48
|
-
}
|
|
49
63
|
// Display default command
|
|
50
64
|
if (config.defaultCmd) {
|
|
51
65
|
logger.log(`\n${chalk.bold('Default Command:')} ${config.defaultCmd}`);
|
|
@@ -55,61 +69,20 @@ async function showConfig() {
|
|
|
55
69
|
}
|
|
56
70
|
// Display autoRun status
|
|
57
71
|
logger.log(`\n${chalk.bold('Auto Run:')} ${config.autoRun ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
async function fixPaths() {
|
|
64
|
-
const result = await ConfigManager.loadWithPath();
|
|
65
|
-
if (!result.filepath) {
|
|
66
|
-
logger.error(chalk.red('No config file found. Run "pt init" first.'));
|
|
67
|
-
process.exit(1);
|
|
68
|
-
}
|
|
69
|
-
const configDir = path.dirname(result.filepath);
|
|
70
|
-
// Contract paths to portable format
|
|
71
|
-
const portableConfig = ConfigManager.contractPaths(result.config, configDir);
|
|
72
|
-
// Read the original file to preserve any fields we don't know about
|
|
73
|
-
const originalContent = await fs.readJson(result.filepath);
|
|
74
|
-
// Merge portable paths into original content
|
|
75
|
-
const updatedConfig = {
|
|
76
|
-
...originalContent,
|
|
77
|
-
promptDirs: portableConfig.promptDirs,
|
|
78
|
-
...(portableConfig.historyDir && { historyDir: portableConfig.historyDir }),
|
|
79
|
-
...(portableConfig.annotationDir && { annotationDir: portableConfig.annotationDir }),
|
|
80
|
-
...(portableConfig.gitPromptDir && { gitPromptDir: portableConfig.gitPromptDir }),
|
|
81
|
-
};
|
|
82
|
-
// Write back to file
|
|
83
|
-
await fs.writeJson(result.filepath, updatedConfig, { spaces: 2 });
|
|
84
|
-
logger.log(chalk.green('✓ Config paths updated to portable format'));
|
|
85
|
-
logger.log(chalk.gray(` Updated: ${result.filepath}`));
|
|
86
|
-
// Show what was changed
|
|
87
|
-
logger.log(chalk.bold('\nUpdated paths:'));
|
|
88
|
-
if (updatedConfig.promptDirs) {
|
|
89
|
-
logger.log(chalk.bold(' promptDirs:'));
|
|
90
|
-
for (const dir of updatedConfig.promptDirs) {
|
|
91
|
-
logger.log(` - ${dir}`);
|
|
72
|
+
// Display output capture
|
|
73
|
+
if (config.outputCapture) {
|
|
74
|
+
logger.log(`${chalk.bold('Output Capture:')} ${config.outputCapture.enabled ? chalk.green('enabled') : chalk.gray('disabled')}`);
|
|
75
|
+
if (config.outputCapture.directory) {
|
|
76
|
+
logger.log(`${chalk.bold('Output Directory:')} ${config.outputCapture.directory}`);
|
|
92
77
|
}
|
|
93
78
|
}
|
|
94
|
-
if (updatedConfig.historyDir) {
|
|
95
|
-
logger.log(` ${chalk.bold('historyDir:')} ${updatedConfig.historyDir}`);
|
|
96
|
-
}
|
|
97
|
-
if (updatedConfig.annotationDir) {
|
|
98
|
-
logger.log(` ${chalk.bold('annotationDir:')} ${updatedConfig.annotationDir}`);
|
|
99
|
-
}
|
|
100
|
-
if (updatedConfig.gitPromptDir) {
|
|
101
|
-
logger.log(` ${chalk.bold('gitPromptDir:')} ${updatedConfig.gitPromptDir}`);
|
|
102
|
-
}
|
|
103
79
|
logger.log('');
|
|
104
80
|
}
|
|
105
81
|
/**
|
|
106
|
-
* Config command - show
|
|
82
|
+
* Config command - show configuration
|
|
107
83
|
*/
|
|
108
84
|
export async function configCommand(options) {
|
|
109
|
-
if (options.
|
|
110
|
-
await fixPaths();
|
|
111
|
-
}
|
|
112
|
-
else if (options.show) {
|
|
85
|
+
if (options.show) {
|
|
113
86
|
await showConfig();
|
|
114
87
|
}
|
|
115
88
|
else {
|