@prompd/cli 0.3.3
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/README.md +162 -0
- package/bin/prompd.js +23 -0
- package/dist/commands/cache.d.ts +3 -0
- package/dist/commands/cache.d.ts.map +1 -0
- package/dist/commands/cache.js +199 -0
- package/dist/commands/cache.js.map +1 -0
- package/dist/commands/compile.d.ts +9 -0
- package/dist/commands/compile.d.ts.map +1 -0
- package/dist/commands/compile.js +104 -0
- package/dist/commands/compile.js.map +1 -0
- package/dist/commands/config.d.ts +7 -0
- package/dist/commands/config.d.ts.map +1 -0
- package/dist/commands/config.js +212 -0
- package/dist/commands/config.js.map +1 -0
- package/dist/commands/create.d.ts +3 -0
- package/dist/commands/create.d.ts.map +1 -0
- package/dist/commands/create.js +183 -0
- package/dist/commands/create.js.map +1 -0
- package/dist/commands/deps.d.ts +3 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +192 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/explain.d.ts +3 -0
- package/dist/commands/explain.d.ts.map +1 -0
- package/dist/commands/explain.js +227 -0
- package/dist/commands/explain.js.map +1 -0
- package/dist/commands/git.d.ts +3 -0
- package/dist/commands/git.d.ts.map +1 -0
- package/dist/commands/git.js +306 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/init.d.ts +3 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +177 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +3 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +126 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/mcp.d.ts +3 -0
- package/dist/commands/mcp.d.ts.map +1 -0
- package/dist/commands/mcp.js +326 -0
- package/dist/commands/mcp.js.map +1 -0
- package/dist/commands/namespace.d.ts +3 -0
- package/dist/commands/namespace.d.ts.map +1 -0
- package/dist/commands/namespace.js +113 -0
- package/dist/commands/namespace.js.map +1 -0
- package/dist/commands/package.d.ts +23 -0
- package/dist/commands/package.d.ts.map +1 -0
- package/dist/commands/package.js +746 -0
- package/dist/commands/package.js.map +1 -0
- package/dist/commands/provider.d.ts +3 -0
- package/dist/commands/provider.d.ts.map +1 -0
- package/dist/commands/provider.js +285 -0
- package/dist/commands/provider.js.map +1 -0
- package/dist/commands/registry.d.ts +9 -0
- package/dist/commands/registry.d.ts.map +1 -0
- package/dist/commands/registry.js +361 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/run.d.ts +3 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +157 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/show.d.ts +3 -0
- package/dist/commands/show.d.ts.map +1 -0
- package/dist/commands/show.js +90 -0
- package/dist/commands/show.js.map +1 -0
- package/dist/commands/uninstall.d.ts +3 -0
- package/dist/commands/uninstall.d.ts.map +1 -0
- package/dist/commands/uninstall.js +95 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/commands/validate.d.ts +3 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +57 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/commands/version.d.ts +3 -0
- package/dist/commands/version.d.ts.map +1 -0
- package/dist/commands/version.js +166 -0
- package/dist/commands/version.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +388 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/auth.d.ts +164 -0
- package/dist/lib/auth.d.ts.map +1 -0
- package/dist/lib/auth.js +388 -0
- package/dist/lib/auth.js.map +1 -0
- package/dist/lib/compiler/file-system.d.ts +178 -0
- package/dist/lib/compiler/file-system.d.ts.map +1 -0
- package/dist/lib/compiler/file-system.js +440 -0
- package/dist/lib/compiler/file-system.js.map +1 -0
- package/dist/lib/compiler/formatters/anthropic.d.ts +21 -0
- package/dist/lib/compiler/formatters/anthropic.d.ts.map +1 -0
- package/dist/lib/compiler/formatters/anthropic.js +95 -0
- package/dist/lib/compiler/formatters/anthropic.js.map +1 -0
- package/dist/lib/compiler/formatters/markdown.d.ts +17 -0
- package/dist/lib/compiler/formatters/markdown.d.ts.map +1 -0
- package/dist/lib/compiler/formatters/markdown.js +114 -0
- package/dist/lib/compiler/formatters/markdown.js.map +1 -0
- package/dist/lib/compiler/formatters/openai.d.ts +21 -0
- package/dist/lib/compiler/formatters/openai.d.ts.map +1 -0
- package/dist/lib/compiler/formatters/openai.js +98 -0
- package/dist/lib/compiler/formatters/openai.js.map +1 -0
- package/dist/lib/compiler/index.d.ts +56 -0
- package/dist/lib/compiler/index.d.ts.map +1 -0
- package/dist/lib/compiler/index.js +165 -0
- package/dist/lib/compiler/index.js.map +1 -0
- package/dist/lib/compiler/language-map.d.ts +31 -0
- package/dist/lib/compiler/language-map.d.ts.map +1 -0
- package/dist/lib/compiler/language-map.js +156 -0
- package/dist/lib/compiler/language-map.js.map +1 -0
- package/dist/lib/compiler/package-resolver.d.ts +68 -0
- package/dist/lib/compiler/package-resolver.d.ts.map +1 -0
- package/dist/lib/compiler/package-resolver.js +254 -0
- package/dist/lib/compiler/package-resolver.js.map +1 -0
- package/dist/lib/compiler/pipeline.d.ts +53 -0
- package/dist/lib/compiler/pipeline.d.ts.map +1 -0
- package/dist/lib/compiler/pipeline.js +209 -0
- package/dist/lib/compiler/pipeline.js.map +1 -0
- package/dist/lib/compiler/prompd-loader.d.ts +108 -0
- package/dist/lib/compiler/prompd-loader.d.ts.map +1 -0
- package/dist/lib/compiler/prompd-loader.js +270 -0
- package/dist/lib/compiler/prompd-loader.js.map +1 -0
- package/dist/lib/compiler/section-override.d.ts +40 -0
- package/dist/lib/compiler/section-override.d.ts.map +1 -0
- package/dist/lib/compiler/section-override.js +296 -0
- package/dist/lib/compiler/section-override.js.map +1 -0
- package/dist/lib/compiler/stages/assets.d.ts +71 -0
- package/dist/lib/compiler/stages/assets.d.ts.map +1 -0
- package/dist/lib/compiler/stages/assets.js +456 -0
- package/dist/lib/compiler/stages/assets.js.map +1 -0
- package/dist/lib/compiler/stages/codegen.d.ts +17 -0
- package/dist/lib/compiler/stages/codegen.d.ts.map +1 -0
- package/dist/lib/compiler/stages/codegen.js +64 -0
- package/dist/lib/compiler/stages/codegen.js.map +1 -0
- package/dist/lib/compiler/stages/dependency.d.ts +38 -0
- package/dist/lib/compiler/stages/dependency.d.ts.map +1 -0
- package/dist/lib/compiler/stages/dependency.js +307 -0
- package/dist/lib/compiler/stages/dependency.js.map +1 -0
- package/dist/lib/compiler/stages/lexical.d.ts +19 -0
- package/dist/lib/compiler/stages/lexical.d.ts.map +1 -0
- package/dist/lib/compiler/stages/lexical.js +92 -0
- package/dist/lib/compiler/stages/lexical.js.map +1 -0
- package/dist/lib/compiler/stages/semantic.d.ts +20 -0
- package/dist/lib/compiler/stages/semantic.d.ts.map +1 -0
- package/dist/lib/compiler/stages/semantic.js +166 -0
- package/dist/lib/compiler/stages/semantic.js.map +1 -0
- package/dist/lib/compiler/stages/template.d.ts +94 -0
- package/dist/lib/compiler/stages/template.d.ts.map +1 -0
- package/dist/lib/compiler/stages/template.js +1044 -0
- package/dist/lib/compiler/stages/template.js.map +1 -0
- package/dist/lib/compiler/types.d.ts +200 -0
- package/dist/lib/compiler/types.d.ts.map +1 -0
- package/dist/lib/compiler/types.js +137 -0
- package/dist/lib/compiler/types.js.map +1 -0
- package/dist/lib/config.d.ts +29 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/config.js +375 -0
- package/dist/lib/config.js.map +1 -0
- package/dist/lib/errors.d.ts +19 -0
- package/dist/lib/errors.d.ts.map +1 -0
- package/dist/lib/errors.js +47 -0
- package/dist/lib/errors.js.map +1 -0
- package/dist/lib/executor.d.ts +18 -0
- package/dist/lib/executor.d.ts.map +1 -0
- package/dist/lib/executor.js +372 -0
- package/dist/lib/executor.js.map +1 -0
- package/dist/lib/git.d.ts +74 -0
- package/dist/lib/git.d.ts.map +1 -0
- package/dist/lib/git.js +254 -0
- package/dist/lib/git.js.map +1 -0
- package/dist/lib/index.d.ts +43 -0
- package/dist/lib/index.d.ts.map +1 -0
- package/dist/lib/index.js +108 -0
- package/dist/lib/index.js.map +1 -0
- package/dist/lib/mcp.d.ts +42 -0
- package/dist/lib/mcp.d.ts.map +1 -0
- package/dist/lib/mcp.js +477 -0
- package/dist/lib/mcp.js.map +1 -0
- package/dist/lib/model-updater.d.ts +51 -0
- package/dist/lib/model-updater.d.ts.map +1 -0
- package/dist/lib/model-updater.js +275 -0
- package/dist/lib/model-updater.js.map +1 -0
- package/dist/lib/parser.d.ts +9 -0
- package/dist/lib/parser.d.ts.map +1 -0
- package/dist/lib/parser.js +197 -0
- package/dist/lib/parser.js.map +1 -0
- package/dist/lib/registry.d.ts +183 -0
- package/dist/lib/registry.d.ts.map +1 -0
- package/dist/lib/registry.js +786 -0
- package/dist/lib/registry.js.map +1 -0
- package/dist/lib/rpc-server.d.ts +78 -0
- package/dist/lib/rpc-server.d.ts.map +1 -0
- package/dist/lib/rpc-server.js +404 -0
- package/dist/lib/rpc-server.js.map +1 -0
- package/dist/lib/security.d.ts +120 -0
- package/dist/lib/security.d.ts.map +1 -0
- package/dist/lib/security.js +478 -0
- package/dist/lib/security.js.map +1 -0
- package/dist/lib/validation.d.ts +106 -0
- package/dist/lib/validation.d.ts.map +1 -0
- package/dist/lib/validation.js +398 -0
- package/dist/lib/validation.js.map +1 -0
- package/dist/lib/version.d.ts +29 -0
- package/dist/lib/version.d.ts.map +1 -0
- package/dist/lib/version.js +202 -0
- package/dist/lib/version.js.map +1 -0
- package/dist/lib/workflow-engine.d.ts +161 -0
- package/dist/lib/workflow-engine.d.ts.map +1 -0
- package/dist/lib/workflow-engine.js +422 -0
- package/dist/lib/workflow-engine.js.map +1 -0
- package/dist/lib/workflow.d.ts +102 -0
- package/dist/lib/workflow.d.ts.map +1 -0
- package/dist/lib/workflow.js +228 -0
- package/dist/lib/workflow.js.map +1 -0
- package/dist/server.d.ts +8 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +134 -0
- package/dist/server.js.map +1 -0
- package/dist/types/index.d.ts +116 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +144 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +104 -0
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createRegistryCommand = createRegistryCommand;
|
|
40
|
+
exports.createPublishCommand = createPublishCommand;
|
|
41
|
+
exports.createSearchCommand = createSearchCommand;
|
|
42
|
+
exports.createInstallCommand = createInstallCommand;
|
|
43
|
+
exports.createLoginCommand = createLoginCommand;
|
|
44
|
+
exports.createLogoutCommand = createLogoutCommand;
|
|
45
|
+
exports.createVersionsCommand = createVersionsCommand;
|
|
46
|
+
const commander_1 = require("commander");
|
|
47
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
const registry_1 = require("../lib/registry");
|
|
50
|
+
const config_1 = require("../lib/config");
|
|
51
|
+
function createRegistryCommand() {
|
|
52
|
+
const command = new commander_1.Command('registry');
|
|
53
|
+
command.description('Manage package registries');
|
|
54
|
+
// Registry list command
|
|
55
|
+
const listCommand = new commander_1.Command('list');
|
|
56
|
+
listCommand
|
|
57
|
+
.description('List all configured registries')
|
|
58
|
+
.action(async () => {
|
|
59
|
+
try {
|
|
60
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
61
|
+
const config = await configManager.loadConfig();
|
|
62
|
+
const registries = config.registry.registries;
|
|
63
|
+
const defaultRegistry = config.registry.default;
|
|
64
|
+
if (Object.keys(registries).length === 0) {
|
|
65
|
+
console.log(chalk_1.default.yellow('No registries configured'));
|
|
66
|
+
console.log(chalk_1.default.dim("Use 'prompd registry add' to add a registry"));
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
console.log(chalk_1.default.bold('Configured Registries:'));
|
|
70
|
+
for (const [name, registryConfig] of Object.entries(registries)) {
|
|
71
|
+
const defaultMark = name === defaultRegistry ? chalk_1.default.green(' (default)') : '';
|
|
72
|
+
const url = registryConfig.url || 'N/A';
|
|
73
|
+
const username = registryConfig.username || 'Not logged in';
|
|
74
|
+
console.log(` • ${chalk_1.default.cyan(name)}${defaultMark}`);
|
|
75
|
+
console.log(` URL: ${url}`);
|
|
76
|
+
console.log(` User: ${username}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
console.error(chalk_1.default.red(`Error listing registries: ${error}`));
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
// Registry add command
|
|
85
|
+
const addCommand = new commander_1.Command('add');
|
|
86
|
+
addCommand
|
|
87
|
+
.description('Add a new registry')
|
|
88
|
+
.argument('<name>', 'Registry name')
|
|
89
|
+
.argument('<url>', 'Registry URL')
|
|
90
|
+
.action(async (name, url) => {
|
|
91
|
+
try {
|
|
92
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
93
|
+
await configManager.addRegistry(name, url);
|
|
94
|
+
console.log(chalk_1.default.green(`Added registry '${chalk_1.default.cyan(name)}' at ${url}`));
|
|
95
|
+
}
|
|
96
|
+
catch (error) {
|
|
97
|
+
console.error(chalk_1.default.red(`Error adding registry: ${error}`));
|
|
98
|
+
process.exit(1);
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
// Registry remove command
|
|
102
|
+
const removeCommand = new commander_1.Command('remove');
|
|
103
|
+
removeCommand
|
|
104
|
+
.description('Remove a registry')
|
|
105
|
+
.argument('<name>', 'Registry name')
|
|
106
|
+
.option('--force', 'Force removal of default prompdhub registry')
|
|
107
|
+
.action(async (name, options) => {
|
|
108
|
+
try {
|
|
109
|
+
// Warn about removing prompdhub unless forced
|
|
110
|
+
if (name === 'prompdhub' && !options.force) {
|
|
111
|
+
console.log(chalk_1.default.yellow('Warning:') + ' Removing the main prompdhub registry');
|
|
112
|
+
console.log('Use --force to confirm, or consider setting a different default instead');
|
|
113
|
+
process.exit(1);
|
|
114
|
+
}
|
|
115
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
116
|
+
await configManager.removeRegistry(name);
|
|
117
|
+
console.log(chalk_1.default.green(`Removed registry '${chalk_1.default.cyan(name)}'`));
|
|
118
|
+
}
|
|
119
|
+
catch (error) {
|
|
120
|
+
console.error(chalk_1.default.red(`Error removing registry: ${error}`));
|
|
121
|
+
process.exit(1);
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
// Registry set-default command
|
|
125
|
+
const setDefaultCommand = new commander_1.Command('set-default');
|
|
126
|
+
setDefaultCommand
|
|
127
|
+
.description('Set the default registry')
|
|
128
|
+
.argument('<name>', 'Registry name')
|
|
129
|
+
.action(async (name) => {
|
|
130
|
+
try {
|
|
131
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
132
|
+
await configManager.setDefaultRegistry(name);
|
|
133
|
+
console.log(chalk_1.default.green(`Set '${chalk_1.default.cyan(name)}' as default registry`));
|
|
134
|
+
}
|
|
135
|
+
catch (error) {
|
|
136
|
+
console.error(chalk_1.default.red(`Error setting default registry: ${error}`));
|
|
137
|
+
process.exit(1);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
// Add all registry management commands
|
|
141
|
+
command.addCommand(listCommand);
|
|
142
|
+
command.addCommand(addCommand);
|
|
143
|
+
command.addCommand(removeCommand);
|
|
144
|
+
command.addCommand(setDefaultCommand);
|
|
145
|
+
return command;
|
|
146
|
+
}
|
|
147
|
+
// Legacy publish command (to be integrated with main CLI)
|
|
148
|
+
function createPublishCommand() {
|
|
149
|
+
const publishCommand = new commander_1.Command('publish');
|
|
150
|
+
publishCommand
|
|
151
|
+
.description('Publish a package to the registry')
|
|
152
|
+
.argument('[directory]', 'Directory containing project.prmdproj file', '.')
|
|
153
|
+
.option('--access <access>', 'Package access level', 'public')
|
|
154
|
+
.option('--tag <tag>', 'Package tag', 'latest')
|
|
155
|
+
.option('--dry-run', 'Show what would be published without actually publishing')
|
|
156
|
+
.option('--force', 'Force publish even if version exists')
|
|
157
|
+
.option('--registry <registry>', 'Registry name to publish to')
|
|
158
|
+
.action(async (directory, options) => {
|
|
159
|
+
try {
|
|
160
|
+
console.log(chalk_1.default.cyan(`📦 Publishing package from ${directory}...`));
|
|
161
|
+
// Resolve registry
|
|
162
|
+
const registryName = options.registry;
|
|
163
|
+
const client = new registry_1.RegistryClient(registryName);
|
|
164
|
+
// Event listeners for progress
|
|
165
|
+
client.on('publishStart', ({ packageDir, options }) => {
|
|
166
|
+
console.log(chalk_1.default.blue(`🚀 Starting publish from ${packageDir}`));
|
|
167
|
+
});
|
|
168
|
+
client.on('publishComplete', ({ name, version, access }) => {
|
|
169
|
+
console.log(chalk_1.default.green(`✅ Successfully published ${name}@${version} (${access})`));
|
|
170
|
+
console.log(chalk_1.default.gray(` Registry: ${client.registryUrl}`));
|
|
171
|
+
console.log(chalk_1.default.gray(` Install: prompd install ${name}@${version}`));
|
|
172
|
+
});
|
|
173
|
+
client.on('publishError', ({ packageDir, error }) => {
|
|
174
|
+
console.error(chalk_1.default.red(`❌ Publish failed: ${error.message}`));
|
|
175
|
+
});
|
|
176
|
+
await client.publish(path.resolve(directory), {
|
|
177
|
+
access: options.access,
|
|
178
|
+
tag: options.tag,
|
|
179
|
+
dryRun: options.dryRun,
|
|
180
|
+
force: options.force
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
console.error(chalk_1.default.red(`Publish failed: ${error}`));
|
|
185
|
+
process.exit(1);
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
return publishCommand;
|
|
189
|
+
}
|
|
190
|
+
// Legacy search command (to be integrated with main CLI)
|
|
191
|
+
function createSearchCommand() {
|
|
192
|
+
const searchCommand = new commander_1.Command('search');
|
|
193
|
+
searchCommand
|
|
194
|
+
.description('Search for packages in the registry')
|
|
195
|
+
.argument('<query>', 'Search query')
|
|
196
|
+
.option('-l, --limit <limit>', 'Maximum number of results', '20')
|
|
197
|
+
.option('-r, --registry <registry>', 'Search specific registry')
|
|
198
|
+
.action(async (query, options) => {
|
|
199
|
+
try {
|
|
200
|
+
const limit = parseInt(options.limit, 10);
|
|
201
|
+
const registryName = options.registry;
|
|
202
|
+
const client = new registry_1.RegistryClient(registryName);
|
|
203
|
+
const results = await client.search({ query, limit });
|
|
204
|
+
if (results.packages.length === 0) {
|
|
205
|
+
console.log(`No packages found for: ${chalk_1.default.cyan(query)}`);
|
|
206
|
+
if (registryName) {
|
|
207
|
+
console.log(chalk_1.default.dim(`Searched in registry: ${registryName}`));
|
|
208
|
+
}
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
211
|
+
const registryDisplayName = registryName || 'default registry';
|
|
212
|
+
console.log(`Found ${results.packages.length} package(s) for ${chalk_1.default.cyan(query)} in ${chalk_1.default.yellow(registryDisplayName)}:`);
|
|
213
|
+
console.log();
|
|
214
|
+
for (const pkg of results.packages) {
|
|
215
|
+
console.log(`${chalk_1.default.bold.cyan(pkg.name)} - ${chalk_1.default.green(`v${pkg.version}`)}`);
|
|
216
|
+
console.log(` ${pkg.description || 'No description available'}`);
|
|
217
|
+
if (pkg.author) {
|
|
218
|
+
console.log(` Author: ${pkg.author}`);
|
|
219
|
+
}
|
|
220
|
+
console.log();
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
catch (error) {
|
|
224
|
+
console.error(chalk_1.default.red(`Search failed: ${error}`));
|
|
225
|
+
process.exit(1);
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
return searchCommand;
|
|
229
|
+
}
|
|
230
|
+
// Legacy install command (to be integrated with main CLI)
|
|
231
|
+
function createInstallCommand() {
|
|
232
|
+
const installCommand = new commander_1.Command('install');
|
|
233
|
+
installCommand
|
|
234
|
+
.description('Install a package from the registry')
|
|
235
|
+
.argument('<package>', 'Package name')
|
|
236
|
+
.option('--version <version>', 'Specific version to install')
|
|
237
|
+
.option('--global', 'Install globally')
|
|
238
|
+
.option('--registry <registry>', 'Install from specific registry (overrides scope resolution)')
|
|
239
|
+
.action(async (packageName, options) => {
|
|
240
|
+
try {
|
|
241
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
242
|
+
// Resolve which registry to use
|
|
243
|
+
let registryName;
|
|
244
|
+
if (options.registry) {
|
|
245
|
+
// Explicit registry override
|
|
246
|
+
registryName = options.registry;
|
|
247
|
+
}
|
|
248
|
+
else {
|
|
249
|
+
// Auto-resolve based on package scope
|
|
250
|
+
registryName = configManager.resolveRegistryForPackage(packageName);
|
|
251
|
+
}
|
|
252
|
+
const client = new registry_1.RegistryClient(registryName);
|
|
253
|
+
console.log(`Installing package: ${chalk_1.default.cyan(packageName)}`);
|
|
254
|
+
console.log(` Registry: ${chalk_1.default.yellow(registryName)}`);
|
|
255
|
+
if (options.version) {
|
|
256
|
+
console.log(` Version: ${chalk_1.default.green(options.version)}`);
|
|
257
|
+
}
|
|
258
|
+
await client.install(packageName, {
|
|
259
|
+
version: options.version,
|
|
260
|
+
global: options.global
|
|
261
|
+
});
|
|
262
|
+
console.log(chalk_1.default.green('Package installed successfully!'));
|
|
263
|
+
}
|
|
264
|
+
catch (error) {
|
|
265
|
+
console.error(chalk_1.default.red(`Installation failed: ${error}`));
|
|
266
|
+
process.exit(1);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
return installCommand;
|
|
270
|
+
}
|
|
271
|
+
// Login command (to be integrated with main CLI)
|
|
272
|
+
function createLoginCommand() {
|
|
273
|
+
const loginCommand = new commander_1.Command('login');
|
|
274
|
+
loginCommand
|
|
275
|
+
.description('Authenticate with a Prompd registry')
|
|
276
|
+
.option('-t, --token <token>', 'Use API token instead of interactive login')
|
|
277
|
+
.option('-r, --registry <registry>', 'Login to specific registry')
|
|
278
|
+
.action(async (options) => {
|
|
279
|
+
try {
|
|
280
|
+
const registryName = options.registry;
|
|
281
|
+
const client = new registry_1.RegistryClient(registryName);
|
|
282
|
+
const actualRegistryName = registryName || 'default';
|
|
283
|
+
if (options.token) {
|
|
284
|
+
// Token-based login
|
|
285
|
+
console.log(chalk_1.default.dim(`Authenticating with ${actualRegistryName}...`));
|
|
286
|
+
const userData = await client.loginWithToken(options.token);
|
|
287
|
+
console.log(chalk_1.default.green(`Successfully authenticated as ${userData.username}`));
|
|
288
|
+
console.log(` Registry: ${actualRegistryName} (${client.registryUrl})`);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// Interactive login not implemented yet
|
|
292
|
+
console.log(chalk_1.default.yellow('Interactive login not yet implemented. Use --token option.'));
|
|
293
|
+
process.exit(1);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
catch (error) {
|
|
297
|
+
console.error(chalk_1.default.red(`Authentication failed: ${error}`));
|
|
298
|
+
process.exit(1);
|
|
299
|
+
}
|
|
300
|
+
});
|
|
301
|
+
return loginCommand;
|
|
302
|
+
}
|
|
303
|
+
// Logout command (to be integrated with main CLI)
|
|
304
|
+
function createLogoutCommand() {
|
|
305
|
+
const logoutCommand = new commander_1.Command('logout');
|
|
306
|
+
logoutCommand
|
|
307
|
+
.description('Clear registry authentication credentials')
|
|
308
|
+
.option('-r, --registry <registry>', 'Logout from specific registry')
|
|
309
|
+
.action(async (options) => {
|
|
310
|
+
try {
|
|
311
|
+
const registryName = options.registry;
|
|
312
|
+
const client = new registry_1.RegistryClient(registryName);
|
|
313
|
+
await client.logout();
|
|
314
|
+
const actualRegistryName = registryName || 'default';
|
|
315
|
+
console.log(chalk_1.default.green(`Successfully logged out from ${actualRegistryName}`));
|
|
316
|
+
}
|
|
317
|
+
catch (error) {
|
|
318
|
+
console.error(chalk_1.default.red(`Logout failed: ${error}`));
|
|
319
|
+
process.exit(1);
|
|
320
|
+
}
|
|
321
|
+
});
|
|
322
|
+
return logoutCommand;
|
|
323
|
+
}
|
|
324
|
+
// Versions command - list package versions
|
|
325
|
+
function createVersionsCommand() {
|
|
326
|
+
const versionsCommand = new commander_1.Command('versions');
|
|
327
|
+
versionsCommand
|
|
328
|
+
.description('List available versions of a package')
|
|
329
|
+
.argument('<package>', 'Package name (@namespace/name)')
|
|
330
|
+
.option('-r, --registry <registry>', 'Registry to query')
|
|
331
|
+
.action(async (packageName, options) => {
|
|
332
|
+
try {
|
|
333
|
+
const client = new registry_1.RegistryClient(options.registry);
|
|
334
|
+
// Call registry API to get versions
|
|
335
|
+
const versions = await client.getPackageVersions(packageName);
|
|
336
|
+
if (!versions || versions.length === 0) {
|
|
337
|
+
console.log(chalk_1.default.yellow(`No versions found for ${packageName}`));
|
|
338
|
+
return;
|
|
339
|
+
}
|
|
340
|
+
console.log(chalk_1.default.bold(`\nVersions for ${packageName}:`));
|
|
341
|
+
console.log();
|
|
342
|
+
// Sort versions in descending order (newest first)
|
|
343
|
+
const sortedVersions = versions.sort((a, b) => {
|
|
344
|
+
return b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' });
|
|
345
|
+
});
|
|
346
|
+
sortedVersions.forEach((version, index) => {
|
|
347
|
+
const isLatest = index === 0;
|
|
348
|
+
const marker = isLatest ? chalk_1.default.green('(latest)') : '';
|
|
349
|
+
console.log(` ${chalk_1.default.cyan(version)} ${marker}`);
|
|
350
|
+
});
|
|
351
|
+
console.log();
|
|
352
|
+
console.log(chalk_1.default.dim(`Total: ${sortedVersions.length} version(s)`));
|
|
353
|
+
}
|
|
354
|
+
catch (error) {
|
|
355
|
+
console.error(chalk_1.default.red(`Failed to fetch versions: ${error}`));
|
|
356
|
+
process.exit(1);
|
|
357
|
+
}
|
|
358
|
+
});
|
|
359
|
+
return versionsCommand;
|
|
360
|
+
}
|
|
361
|
+
//# sourceMappingURL=registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/commands/registry.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,sDAoGC;AAGD,oDA+CC;AAGD,kDA6CC;AAGD,oDA4CC;AAGD,gDAgCC;AAGD,kDAsBC;AAGD,sDA0CC;AArWD,yCAAoC;AACpC,kDAA0B;AAE1B,2CAA6B;AAC7B,8CAAiD;AACjD,0CAA8C;AAE9C,SAAgB,qBAAqB;IACnC,MAAM,OAAO,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,CAAC;IACxC,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAEjD,wBAAwB;IACxB,MAAM,WAAW,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC,CAAC;IACxC,WAAW;SACR,WAAW,CAAC,gCAAgC,CAAC;SAC7C,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAC9C,MAAM,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;YAEhD,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC;gBACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC,CAAC;gBACtE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,KAAK,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChE,MAAM,WAAW,GAAG,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,IAAI,KAAK,CAAC;gBACxC,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,IAAI,eAAe,CAAC;gBAC5D,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,CAAC;gBACrD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,QAAQ,EAAE,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uBAAuB;IACvB,MAAM,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC,CAAC;IACtC,UAAU;SACP,WAAW,CAAC,oBAAoB,CAAC;SACjC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;SACjC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,GAAW,EAAE,EAAE;QAC1C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,aAAa,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;YAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;QAC7E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,MAAM,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa;SACV,WAAW,CAAC,mBAAmB,CAAC;SAChC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,SAAS,EAAE,6CAA6C,CAAC;SAChE,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC;YACH,8CAA8C;YAC9C,IAAI,IAAI,KAAK,WAAW,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC3C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,uCAAuC,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,yEAAyE,CAAC,CAAC;gBACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,IAAI,mBAAO,CAAC,aAAa,CAAC,CAAC;IACrD,iBAAiB;SACd,WAAW,CAAC,0BAA0B,CAAC;SACvC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;YAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,QAAQ,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC5E,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,uCAAuC;IACvC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAChC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAClC,OAAO,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAEtC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,0DAA0D;AAC1D,SAAgB,oBAAoB;IAClC,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,cAAc;SACX,WAAW,CAAC,mCAAmC,CAAC;SAChD,QAAQ,CAAC,aAAa,EAAE,4CAA4C,EAAE,GAAG,CAAC;SAC1E,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,QAAQ,CAAC;SAC7D,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC;SAC9C,MAAM,CAAC,WAAW,EAAE,0DAA0D,CAAC;SAC/E,MAAM,CAAC,SAAS,EAAE,sCAAsC,CAAC;SACzD,MAAM,CAAC,uBAAuB,EAAE,6BAA6B,CAAC;SAC9D,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,OAAO,EAAE,EAAE;QAC3C,IAAI,CAAC;YACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,SAAS,KAAK,CAAC,CAAC,CAAC;YAEtE,mBAAmB;YACnB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,+BAA+B;YAC/B,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE,EAAE;gBACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,UAAU,EAAE,CAAC,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE;gBACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,IAAI,IAAI,OAAO,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,IAAI,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE;gBAClD,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5C,MAAM,EAAE,OAAO,CAAC,MAA8B;gBAC9C,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,KAAK,EAAE,OAAO,CAAC,KAAK;aACrB,CAAC,CAAC;QAEL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,yDAAyD;AACzD,SAAgB,mBAAmB;IACjC,MAAM,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa;SACV,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SACnC,MAAM,CAAC,qBAAqB,EAAE,2BAA2B,EAAE,IAAI,CAAC;SAChE,MAAM,CAAC,2BAA2B,EAAE,0BAA0B,CAAC;SAC/D,MAAM,CAAC,KAAK,EAAE,KAAa,EAAE,OAAO,EAAE,EAAE;QACvC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAEtD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,CAAC,GAAG,CAAC,0BAA0B,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC3D,IAAI,YAAY,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,mBAAmB,GAAG,YAAY,IAAI,kBAAkB,CAAC;YAC/D,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,QAAQ,CAAC,MAAM,mBAAmB,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,eAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC7H,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,eAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;gBAChF,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,WAAW,IAAI,0BAA0B,EAAE,CAAC,CAAC;gBAElE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,aAAa,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;gBACzC,CAAC;gBAED,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,0DAA0D;AAC1D,SAAgB,oBAAoB;IAClC,MAAM,cAAc,GAAG,IAAI,mBAAO,CAAC,SAAS,CAAC,CAAC;IAC9C,cAAc;SACX,WAAW,CAAC,qCAAqC,CAAC;SAClD,QAAQ,CAAC,WAAW,EAAE,cAAc,CAAC;SACrC,MAAM,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;SAC5D,MAAM,CAAC,UAAU,EAAE,kBAAkB,CAAC;SACtC,MAAM,CAAC,uBAAuB,EAAE,6DAA6D,CAAC;SAC9F,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAO,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,sBAAa,CAAC,WAAW,EAAE,CAAC;YAElD,gCAAgC;YAChC,IAAI,YAAoB,CAAC;YACzB,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACrB,6BAA6B;gBAC7B,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,YAAY,GAAG,aAAa,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,OAAO,CAAC,GAAG,CAAC,uBAAuB,eAAK,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9D,OAAO,CAAC,GAAG,CAAC,gBAAgB,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAC1D,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAe,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC7D,CAAC;YAED,MAAM,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE;gBAChC,OAAO,EAAE,OAAO,CAAC,OAAO;gBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC,CAAC;QAE9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,iDAAiD;AACjD,SAAgB,kBAAkB;IAChC,MAAM,YAAY,GAAG,IAAI,mBAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,YAAY;SACT,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,qBAAqB,EAAE,4CAA4C,CAAC;SAC3E,MAAM,CAAC,2BAA2B,EAAE,4BAA4B,CAAC;SACjE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,YAAY,CAAC,CAAC;YAChD,MAAM,kBAAkB,GAAG,YAAY,IAAI,SAAS,CAAC;YAErD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBAClB,oBAAoB;gBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,uBAAuB,kBAAkB,KAAK,CAAC,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAE5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,iCAAiC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC/E,OAAO,CAAC,GAAG,CAAC,gBAAgB,kBAAkB,KAAK,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,wCAAwC;gBACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4DAA4D,CAAC,CAAC,CAAC;gBACxF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QAEH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0BAA0B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,kDAAkD;AAClD,SAAgB,mBAAmB;IACjC,MAAM,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,aAAa;SACV,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,2BAA2B,EAAE,+BAA+B,CAAC;SACpE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC;YACtC,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,YAAY,CAAC,CAAC;YAEhD,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;YAEtB,MAAM,kBAAkB,GAAG,YAAY,IAAI,SAAS,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gCAAgC,kBAAkB,EAAE,CAAC,CAAC,CAAC;QAEjF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,2CAA2C;AAC3C,SAAgB,qBAAqB;IACnC,MAAM,eAAe,GAAG,IAAI,mBAAO,CAAC,UAAU,CAAC,CAAC;IAChD,eAAe;SACZ,WAAW,CAAC,sCAAsC,CAAC;SACnD,QAAQ,CAAC,WAAW,EAAE,gCAAgC,CAAC;SACvD,MAAM,CAAC,2BAA2B,EAAE,mBAAmB,CAAC;SACxD,MAAM,CAAC,KAAK,EAAE,WAAmB,EAAE,OAAO,EAAE,EAAE;QAC7C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,yBAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEpD,oCAAoC;YACpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;YAE9D,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC,CAAC;gBAClE,OAAO;YACT,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,WAAW,GAAG,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;YAEd,mDAAmD;YACnD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;gBAC5D,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,CAAC;YAC/E,CAAC,CAAC,CAAC;YAEH,cAAc,CAAC,OAAO,CAAC,CAAC,OAAe,EAAE,KAAa,EAAE,EAAE;gBACxD,MAAM,QAAQ,GAAG,KAAK,KAAK,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,OAAO,CAAC,GAAG,CAAC,KAAK,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,cAAc,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC;QAEvE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,eAAe,CAAC;AACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,gBAAgB,IAAI,OAAO,CAqH1C"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.createRunCommand = createRunCommand;
|
|
40
|
+
const commander_1 = require("commander");
|
|
41
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
42
|
+
const fs = __importStar(require("fs-extra"));
|
|
43
|
+
const path = __importStar(require("path"));
|
|
44
|
+
const executor_1 = require("../lib/executor");
|
|
45
|
+
const config_1 = require("../lib/config");
|
|
46
|
+
function createRunCommand() {
|
|
47
|
+
const command = new commander_1.Command('run');
|
|
48
|
+
command
|
|
49
|
+
.description('Run a .prmd file with an LLM provider')
|
|
50
|
+
.argument('<file>', 'Path to the .prmd file')
|
|
51
|
+
.option('--provider <provider>', 'LLM provider (openai, anthropic, ollama)')
|
|
52
|
+
.option('--model <model>', 'Model name')
|
|
53
|
+
.option('-p, --param <param>', 'Parameter in format key=value', (value, previous) => {
|
|
54
|
+
const params = previous || {};
|
|
55
|
+
const [key, val] = value.split('=', 2);
|
|
56
|
+
params[key] = val;
|
|
57
|
+
return params;
|
|
58
|
+
}, {})
|
|
59
|
+
.option('-f, --param-file <file>', 'JSON parameter file', (value, previous) => {
|
|
60
|
+
return (previous || []).concat([value]);
|
|
61
|
+
}, [])
|
|
62
|
+
.option('--api-key <key>', 'API key override')
|
|
63
|
+
.option('-o, --output <file>', 'Output file path')
|
|
64
|
+
.option('--format <format>', 'Output format (text, json)', 'text')
|
|
65
|
+
.option('--version <version>', 'Execute a specific version (e.g., "1.2.3", "HEAD", commit hash)')
|
|
66
|
+
.option('--meta-system <text>', 'Override system section (text or file path like ./file.txt)')
|
|
67
|
+
.option('--meta-context <text>', 'Override context section (text or file path like ./file.txt)')
|
|
68
|
+
.option('--meta-user <text>', 'Override user section (text or file path like ./file.txt)')
|
|
69
|
+
.option('-v, --verbose', 'Verbose output')
|
|
70
|
+
.option('--show-usage', 'Show token usage statistics')
|
|
71
|
+
.action(async (file, options) => {
|
|
72
|
+
try {
|
|
73
|
+
const executor = new executor_1.PrompdExecutor();
|
|
74
|
+
const configManager = config_1.ConfigManager.getInstance();
|
|
75
|
+
const config = await configManager.loadConfig();
|
|
76
|
+
// Use config defaults if not specified
|
|
77
|
+
const provider = options.provider || configManager.getDefaultProvider(config);
|
|
78
|
+
const model = options.model || configManager.getDefaultModel(provider, config);
|
|
79
|
+
// Validate format option
|
|
80
|
+
if (options.format && !['text', 'json'].includes(options.format)) {
|
|
81
|
+
console.error(chalk_1.default.red('Error: format must be "text" or "json"'));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
// Support meta alias flags with colon syntax: --meta:system|context|user
|
|
85
|
+
const argv = process.argv;
|
|
86
|
+
const aliasMeta = {};
|
|
87
|
+
for (let i = 0; i < argv.length; i++) {
|
|
88
|
+
const a = argv[i];
|
|
89
|
+
if (a === '--meta:system' && i + 1 < argv.length)
|
|
90
|
+
aliasMeta.metaSystem = argv[i + 1];
|
|
91
|
+
if (a === '--meta:context' && i + 1 < argv.length)
|
|
92
|
+
aliasMeta.metaContext = argv[i + 1];
|
|
93
|
+
if (a === '--meta:user' && i + 1 < argv.length)
|
|
94
|
+
aliasMeta.metaUser = argv[i + 1];
|
|
95
|
+
}
|
|
96
|
+
const executeOptions = {
|
|
97
|
+
provider,
|
|
98
|
+
model,
|
|
99
|
+
apiKey: options.apiKey,
|
|
100
|
+
output: options.output,
|
|
101
|
+
format: options.format,
|
|
102
|
+
params: options.param,
|
|
103
|
+
paramFiles: options.paramFile,
|
|
104
|
+
version: options.version,
|
|
105
|
+
metaSystem: aliasMeta.metaSystem || options['metaSystem'],
|
|
106
|
+
metaContext: aliasMeta.metaContext || options['metaContext'],
|
|
107
|
+
metaUser: aliasMeta.metaUser || options['metaUser'],
|
|
108
|
+
verbose: options.verbose
|
|
109
|
+
};
|
|
110
|
+
const response = await executor.execute(file, executeOptions);
|
|
111
|
+
// Output result based on format
|
|
112
|
+
const responseText = response.response || response.content || 'No response received';
|
|
113
|
+
if (options.format === 'json') {
|
|
114
|
+
// JSON output format
|
|
115
|
+
const result = {
|
|
116
|
+
response: responseText,
|
|
117
|
+
provider,
|
|
118
|
+
model,
|
|
119
|
+
file: path.resolve(file)
|
|
120
|
+
};
|
|
121
|
+
if (response.usage) {
|
|
122
|
+
result.usage = response.usage;
|
|
123
|
+
}
|
|
124
|
+
const jsonOutput = JSON.stringify(result, null, 2);
|
|
125
|
+
if (options.output) {
|
|
126
|
+
await fs.writeFile(options.output, jsonOutput, 'utf-8');
|
|
127
|
+
console.log(chalk_1.default.green(`✓ JSON response written to ${options.output}`));
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
console.log(jsonOutput);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
// Text output format (default)
|
|
135
|
+
if (options.output) {
|
|
136
|
+
await fs.writeFile(options.output, responseText, 'utf-8');
|
|
137
|
+
console.log(chalk_1.default.green(`✓ Response written to ${options.output}`));
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
console.log('\n' + chalk_1.default.cyan('Response:'));
|
|
141
|
+
console.log('-'.repeat(50));
|
|
142
|
+
console.log(responseText);
|
|
143
|
+
console.log('-'.repeat(50));
|
|
144
|
+
}
|
|
145
|
+
if ((options.verbose || options.showUsage) && response.usage) {
|
|
146
|
+
console.log(chalk_1.default.gray(`\nUsage: ${response.usage.promptTokens} prompt + ${response.usage.completionTokens} completion = ${response.usage.totalTokens} total tokens`));
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
console.error(chalk_1.default.red('Error executing file:'), error instanceof Error ? error.message : error);
|
|
152
|
+
process.exit(1);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
return command;
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../src/commands/show.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,wBAAgB,iBAAiB,IAAI,OAAO,CAsF3C"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.createShowCommand = createShowCommand;
|
|
7
|
+
const commander_1 = require("commander");
|
|
8
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
9
|
+
const parser_1 = require("../lib/parser");
|
|
10
|
+
function createShowCommand() {
|
|
11
|
+
const command = new commander_1.Command('show');
|
|
12
|
+
command
|
|
13
|
+
.description('Show the structure and parameters of a .prmd file')
|
|
14
|
+
.argument('<file>', 'Path to the .prmd file')
|
|
15
|
+
.action(async (file) => {
|
|
16
|
+
try {
|
|
17
|
+
const parser = new parser_1.PrompdParser();
|
|
18
|
+
const prompd = await parser.parseFile(file);
|
|
19
|
+
const metadata = prompd.metadata;
|
|
20
|
+
console.log(chalk_1.default.cyan.bold(`=== ${metadata.name || 'Unnamed'} ===`));
|
|
21
|
+
if (metadata.version) {
|
|
22
|
+
console.log(chalk_1.default.gray(`Version: ${metadata.version}`));
|
|
23
|
+
}
|
|
24
|
+
if (metadata.description) {
|
|
25
|
+
console.log(`\n${chalk_1.default.bold('Description:')}\n ${metadata.description}\n`);
|
|
26
|
+
}
|
|
27
|
+
// Merge parameters and variables for backward compatibility
|
|
28
|
+
const allParams = [
|
|
29
|
+
...(metadata.parameters || []),
|
|
30
|
+
...(metadata.variables || [])
|
|
31
|
+
];
|
|
32
|
+
if (allParams.length > 0) {
|
|
33
|
+
console.log(chalk_1.default.bold('Parameters:'));
|
|
34
|
+
for (const param of allParams) {
|
|
35
|
+
const required = param.required ? chalk_1.default.red(' (required)') : '';
|
|
36
|
+
const typeStr = chalk_1.default.green(`(${param.type})`);
|
|
37
|
+
console.log(` • ${chalk_1.default.cyan(param.name)} ${typeStr}${required}`);
|
|
38
|
+
if (param.description) {
|
|
39
|
+
console.log(chalk_1.default.gray(` ${param.description}`));
|
|
40
|
+
}
|
|
41
|
+
if (param.default !== undefined) {
|
|
42
|
+
const defaultStr = typeof param.default === 'object'
|
|
43
|
+
? JSON.stringify(param.default)
|
|
44
|
+
: String(param.default);
|
|
45
|
+
console.log(chalk_1.default.gray(` Default: ${defaultStr}`));
|
|
46
|
+
}
|
|
47
|
+
if (param.pattern) {
|
|
48
|
+
console.log(chalk_1.default.gray(` Pattern: ${param.pattern}`));
|
|
49
|
+
}
|
|
50
|
+
if (param.minimum !== undefined || param.maximum !== undefined) {
|
|
51
|
+
const range = `${param.minimum ?? '∞'} - ${param.maximum ?? '∞'}`;
|
|
52
|
+
console.log(chalk_1.default.gray(` Range: ${range}`));
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Show content structure
|
|
57
|
+
const contentInfo = [];
|
|
58
|
+
if (metadata.system)
|
|
59
|
+
contentInfo.push(`System: ${metadata.system}`);
|
|
60
|
+
if (metadata.context)
|
|
61
|
+
contentInfo.push(`Context: ${metadata.context}`);
|
|
62
|
+
if (metadata.user)
|
|
63
|
+
contentInfo.push(`User: ${metadata.user}`);
|
|
64
|
+
if (metadata.response)
|
|
65
|
+
contentInfo.push(`Response: ${metadata.response}`);
|
|
66
|
+
if (contentInfo.length > 0) {
|
|
67
|
+
console.log(`\n${chalk_1.default.bold('Content Structure:')}`);
|
|
68
|
+
for (const info of contentInfo) {
|
|
69
|
+
console.log(` • ${info}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Show sections found in file
|
|
73
|
+
if (Object.keys(prompd.sections).length > 0) {
|
|
74
|
+
console.log(`\n${chalk_1.default.bold('Available Sections:')}`);
|
|
75
|
+
for (const sectionName of Object.keys(prompd.sections)) {
|
|
76
|
+
console.log(` • #${sectionName}`);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (metadata.requires && metadata.requires.length > 0) {
|
|
80
|
+
console.log(`\n${chalk_1.default.bold('Requirements:')} ${metadata.requires.join(', ')}`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.error(chalk_1.default.red('Error reading file:'), error instanceof Error ? error.message : error);
|
|
85
|
+
process.exit(1);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
return command;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=show.js.map
|