@prompd/cli 0.4.9 → 0.4.11

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.
Files changed (60) hide show
  1. package/dist/commands/ask.d.ts +3 -0
  2. package/dist/commands/ask.d.ts.map +1 -0
  3. package/dist/commands/ask.js +121 -0
  4. package/dist/commands/ask.js.map +1 -0
  5. package/dist/commands/mcp.d.ts.map +1 -1
  6. package/dist/commands/mcp.js +192 -42
  7. package/dist/commands/mcp.js.map +1 -1
  8. package/dist/commands/run.d.ts.map +1 -1
  9. package/dist/commands/run.js +62 -4
  10. package/dist/commands/run.js.map +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +2 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/lib/compiler/package-resolver.d.ts.map +1 -1
  15. package/dist/lib/compiler/package-resolver.js +5 -1
  16. package/dist/lib/compiler/package-resolver.js.map +1 -1
  17. package/dist/lib/executor.d.ts +16 -6
  18. package/dist/lib/executor.d.ts.map +1 -1
  19. package/dist/lib/executor.js +121 -245
  20. package/dist/lib/executor.js.map +1 -1
  21. package/dist/lib/index.d.ts +4 -2
  22. package/dist/lib/index.d.ts.map +1 -1
  23. package/dist/lib/index.js +21 -4
  24. package/dist/lib/index.js.map +1 -1
  25. package/dist/lib/mcp.d.ts +13 -2
  26. package/dist/lib/mcp.d.ts.map +1 -1
  27. package/dist/lib/mcp.js +447 -77
  28. package/dist/lib/mcp.js.map +1 -1
  29. package/dist/lib/nodeTypeRegistry.d.ts.map +1 -1
  30. package/dist/lib/nodeTypeRegistry.js +5 -1
  31. package/dist/lib/nodeTypeRegistry.js.map +1 -1
  32. package/dist/lib/providers/base.d.ts +92 -0
  33. package/dist/lib/providers/base.d.ts.map +1 -0
  34. package/dist/lib/providers/base.js +741 -0
  35. package/dist/lib/providers/base.js.map +1 -0
  36. package/dist/lib/providers/factory.d.ts +37 -0
  37. package/dist/lib/providers/factory.d.ts.map +1 -0
  38. package/dist/lib/providers/factory.js +82 -0
  39. package/dist/lib/providers/factory.js.map +1 -0
  40. package/dist/lib/providers/index.d.ts +12 -0
  41. package/dist/lib/providers/index.d.ts.map +1 -0
  42. package/dist/lib/providers/index.js +25 -0
  43. package/dist/lib/providers/index.js.map +1 -0
  44. package/dist/lib/providers/types.d.ts +129 -0
  45. package/dist/lib/providers/types.d.ts.map +1 -0
  46. package/dist/lib/providers/types.js +156 -0
  47. package/dist/lib/providers/types.js.map +1 -0
  48. package/dist/lib/workflowExecutor.d.ts +12 -1
  49. package/dist/lib/workflowExecutor.d.ts.map +1 -1
  50. package/dist/lib/workflowExecutor.js +771 -304
  51. package/dist/lib/workflowExecutor.js.map +1 -1
  52. package/dist/lib/workflowParser.d.ts.map +1 -1
  53. package/dist/lib/workflowParser.js +2 -0
  54. package/dist/lib/workflowParser.js.map +1 -1
  55. package/dist/lib/workflowTypes.d.ts +19 -1
  56. package/dist/lib/workflowTypes.d.ts.map +1 -1
  57. package/dist/lib/workflowTypes.js.map +1 -1
  58. package/dist/types/index.d.ts +3 -0
  59. package/dist/types/index.d.ts.map +1 -1
  60. package/package.json +6 -1
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createAskCommand(): Command;
3
+ //# sourceMappingURL=ask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.d.ts","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,gBAAgB,IAAI,OAAO,CA+E1C"}
@@ -0,0 +1,121 @@
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.createAskCommand = createAskCommand;
40
+ const commander_1 = require("commander");
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const fs = __importStar(require("fs-extra"));
43
+ const executor_1 = require("../lib/executor");
44
+ const config_1 = require("../lib/config");
45
+ function createAskCommand() {
46
+ const command = new commander_1.Command('ask');
47
+ command
48
+ .description('Send raw text to an LLM through the Prompd compilation pipeline')
49
+ .argument('<prompt>', 'Raw prompt text to send to the LLM')
50
+ .option('--provider <provider>', 'LLM provider (openai, anthropic, google, etc.)')
51
+ .option('--model <model>', 'Model name')
52
+ .option('--api-key <key>', 'API key override')
53
+ .option('-o, --output <file>', 'Write response to a file')
54
+ .option('--format <format>', 'Output format (text, json)', 'text')
55
+ .option('-v, --verbose', 'Verbose output')
56
+ .option('-u, --show-usage', 'Show token usage statistics')
57
+ .action(async (prompt, options) => {
58
+ try {
59
+ if (options.format && !['text', 'json'].includes(options.format)) {
60
+ console.error(chalk_1.default.red('Error: format must be "text" or "json"'));
61
+ process.exit(1);
62
+ }
63
+ const configManager = config_1.ConfigManager.getInstance();
64
+ const config = await configManager.loadConfig();
65
+ const provider = options.provider || configManager.getDefaultProvider(config);
66
+ const model = options.model || configManager.getDefaultModel(provider, config);
67
+ if (options.verbose) {
68
+ console.log(chalk_1.default.gray(`Provider: ${provider}, Model: ${model}`));
69
+ console.log(chalk_1.default.gray(`Prompt: ${prompt.substring(0, 100)}${prompt.length > 100 ? '...' : ''}`));
70
+ console.log();
71
+ }
72
+ const executor = new executor_1.PrompdExecutor();
73
+ const response = await executor.executeRawText(prompt, {
74
+ provider,
75
+ model,
76
+ apiKey: options.apiKey,
77
+ verbose: options.verbose
78
+ });
79
+ const responseText = response.response || response.content || 'No response received';
80
+ if (options.format === 'json') {
81
+ const result = {
82
+ response: responseText,
83
+ provider,
84
+ model,
85
+ prompt: prompt.substring(0, 200)
86
+ };
87
+ if (response.usage)
88
+ result.usage = response.usage;
89
+ const jsonOutput = JSON.stringify(result, null, 2);
90
+ if (options.output) {
91
+ await fs.writeFile(options.output, jsonOutput, 'utf-8');
92
+ console.log(chalk_1.default.green(`Response written to ${options.output}`));
93
+ }
94
+ else {
95
+ console.log(jsonOutput);
96
+ }
97
+ }
98
+ else {
99
+ if (options.output) {
100
+ await fs.writeFile(options.output, responseText, 'utf-8');
101
+ console.log(chalk_1.default.green(`Response written to ${options.output}`));
102
+ }
103
+ else {
104
+ console.log('\n' + chalk_1.default.cyan('Response:'));
105
+ console.log('-'.repeat(50));
106
+ console.log(responseText);
107
+ console.log('-'.repeat(50));
108
+ }
109
+ if ((options.verbose || options.showUsage) && response.usage) {
110
+ console.log(chalk_1.default.gray(`\nUsage: ${response.usage.promptTokens} prompt + ${response.usage.completionTokens} completion = ${response.usage.totalTokens} total tokens`));
111
+ }
112
+ }
113
+ }
114
+ catch (error) {
115
+ console.error(chalk_1.default.red('Error:'), error instanceof Error ? error.message : error);
116
+ process.exit(1);
117
+ }
118
+ });
119
+ return command;
120
+ }
121
+ //# sourceMappingURL=ask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ask.js","sourceRoot":"","sources":["../../src/commands/ask.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,gBAAgB,IAAI,OAAO,CAkU1C"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA0EpC,wBAAgB,gBAAgB,IAAI,OAAO,CAoZ1C"}
@@ -42,9 +42,70 @@ const chalk_1 = __importDefault(require("chalk"));
42
42
  const fs = __importStar(require("fs-extra"));
43
43
  const path = __importStar(require("path"));
44
44
  const os = __importStar(require("os"));
45
+ const glob = __importStar(require("glob"));
45
46
  const mcp_1 = require("../lib/mcp");
46
47
  const config_1 = require("../lib/config");
47
48
  const security_1 = require("../lib/security");
49
+ /**
50
+ * Discover .prmd and .pdflow files from installed packages.
51
+ * Scans both local project cache (./.prompd/cache/) and global cache (~/.prompd/cache/).
52
+ * TODO: When cache/ is renamed to packages/, update these paths.
53
+ */
54
+ async function discoverInstalledPackages() {
55
+ const homeDir = os.homedir();
56
+ const cacheDirs = [
57
+ path.join(homeDir, '.prompd', 'cache'),
58
+ path.join(process.cwd(), '.prompd', 'cache'),
59
+ ];
60
+ const prompts = [];
61
+ const workflows = [];
62
+ const seen = new Set();
63
+ for (const cacheDir of cacheDirs) {
64
+ if (!await fs.pathExists(cacheDir))
65
+ continue;
66
+ const prmdFiles = glob.sync(path.join(cacheDir, '**/*.prmd').replace(/\\/g, '/'));
67
+ for (const f of prmdFiles) {
68
+ const resolved = path.resolve(f);
69
+ if (!seen.has(resolved)) {
70
+ seen.add(resolved);
71
+ prompts.push(resolved);
72
+ }
73
+ }
74
+ const flowFiles = [
75
+ ...glob.sync(path.join(cacheDir, '**/*.prmdflow').replace(/\\/g, '/')),
76
+ ...glob.sync(path.join(cacheDir, '**/*.pdflow').replace(/\\/g, '/')),
77
+ ];
78
+ for (const f of flowFiles) {
79
+ const resolved = path.resolve(f);
80
+ if (!seen.has(resolved)) {
81
+ seen.add(resolved);
82
+ workflows.push(resolved);
83
+ }
84
+ }
85
+ }
86
+ return { prompts, workflows };
87
+ }
88
+ /**
89
+ * Discover .prmd files registered in ~/.prmd/mcp-config.json
90
+ */
91
+ async function discoverConfiguredTools() {
92
+ const configPath = path.join(os.homedir(), '.prmd', 'mcp-config.json');
93
+ if (!await fs.pathExists(configPath))
94
+ return [];
95
+ try {
96
+ const config = await fs.readJson(configPath);
97
+ if (!config.tools)
98
+ return [];
99
+ return Object.entries(config.tools).map(([name, tool]) => ({
100
+ name,
101
+ file: tool.file,
102
+ type: tool.type || 'prompt',
103
+ }));
104
+ }
105
+ catch {
106
+ return [];
107
+ }
108
+ }
48
109
  function createMCPCommand() {
49
110
  const command = new commander_1.Command('mcp');
50
111
  command.description('Model Context Protocol (MCP) server operations');
@@ -52,8 +113,9 @@ function createMCPCommand() {
52
113
  const startCommand = new commander_1.Command('start');
53
114
  startCommand
54
115
  .description('Start MCP server to expose .prmd files as tools')
55
- .option('-d, --directory <dir>', 'Directory containing .prmd files', '.')
116
+ .option('-d, --directory <dir>', 'Directory containing .prmd files')
56
117
  .option('-t, --tool <name:file>', 'Register specific tool (format: name:file.prmd)', [])
118
+ .option('--no-auto-discover', 'Disable auto-discovery of installed packages')
57
119
  .option('--execute', 'Execute prompts with LLM (default: return templates)')
58
120
  .option('--provider <provider>', 'Default LLM provider when executing')
59
121
  .option('--model <model>', 'Default model when executing')
@@ -63,7 +125,7 @@ function createMCPCommand() {
63
125
  .option('-v, --verbose', 'Enable verbose logging')
64
126
  .action(async (options) => {
65
127
  try {
66
- console.log(chalk_1.default.cyan('Starting Prompd MCP Server...'));
128
+ console.error(chalk_1.default.cyan('Starting Prompd MCP Server...'));
67
129
  // Load configuration
68
130
  const configManager = config_1.ConfigManager.getInstance();
69
131
  const config = await configManager.loadConfig();
@@ -80,9 +142,48 @@ function createMCPCommand() {
80
142
  };
81
143
  // Create and configure server
82
144
  const server = new mcp_1.PrompdMCPServer(serverConfig);
83
- // Register tools from directory
145
+ // Auto-discover installed packages (unless --no-auto-discover)
146
+ if (options.autoDiscover !== false) {
147
+ console.error(chalk_1.default.blue('Auto-discovering installed packages...'));
148
+ const { prompts, workflows } = await discoverInstalledPackages();
149
+ for (const file of prompts) {
150
+ try {
151
+ const toolName = path.basename(file, '.prmd');
152
+ await server.registerTool(toolName, file);
153
+ }
154
+ catch (err) {
155
+ console.error(chalk_1.default.yellow(`Skipping ${file}: ${err instanceof Error ? err.message : err}`));
156
+ }
157
+ }
158
+ for (const file of workflows) {
159
+ try {
160
+ const ext = path.extname(file);
161
+ const toolName = path.basename(file, ext);
162
+ await server.registerWorkflow(toolName, file);
163
+ }
164
+ catch (err) {
165
+ console.error(chalk_1.default.yellow(`Skipping ${file}: ${err instanceof Error ? err.message : err}`));
166
+ }
167
+ }
168
+ // Also load tools from mcp-config.json
169
+ const configuredTools = await discoverConfiguredTools();
170
+ for (const tool of configuredTools) {
171
+ try {
172
+ if (tool.type === 'workflow') {
173
+ await server.registerWorkflow(tool.name, tool.file);
174
+ }
175
+ else {
176
+ await server.registerTool(tool.name, tool.file);
177
+ }
178
+ }
179
+ catch (err) {
180
+ console.error(chalk_1.default.yellow(`Skipping configured tool ${tool.name}: ${err instanceof Error ? err.message : err}`));
181
+ }
182
+ }
183
+ }
184
+ // Register tools from explicit directory
84
185
  if (options.directory) {
85
- console.log(chalk_1.default.blue(`Registering tools from: ${options.directory}`));
186
+ console.error(chalk_1.default.blue(`Registering tools from: ${options.directory}`));
86
187
  await server.registerDirectory(options.directory);
87
188
  }
88
189
  // Register specific tools
@@ -93,39 +194,39 @@ function createMCPCommand() {
93
194
  console.error(chalk_1.default.red(`Invalid tool specification: ${toolSpec}. Use format 'name:file.prmd'`));
94
195
  continue;
95
196
  }
96
- console.log(chalk_1.default.blue(`Registering tool: ${name} -> ${file}`));
197
+ console.error(chalk_1.default.blue(`Registering tool: ${name} -> ${file}`));
97
198
  await server.registerTool(name, file);
98
199
  }
99
200
  }
100
201
  const registeredPrompts = server.getRegisteredPrompts();
101
202
  const registeredWorkflows = server.getRegisteredWorkflows();
102
203
  const totalTools = registeredPrompts.length + registeredWorkflows.length;
103
- console.log(chalk_1.default.green(`✓ Registered ${totalTools} tools:`));
204
+ console.error(chalk_1.default.green(`Registered ${totalTools} tools:`));
104
205
  if (registeredPrompts.length > 0) {
105
- console.log(chalk_1.default.blue(' Prompts:'));
206
+ console.error(chalk_1.default.blue(' Prompts:'));
106
207
  for (const tool of registeredPrompts) {
107
- console.log(chalk_1.default.gray(` - ${tool}`));
208
+ console.error(chalk_1.default.gray(` - ${tool}`));
108
209
  }
109
210
  }
110
211
  if (registeredWorkflows.length > 0) {
111
- console.log(chalk_1.default.blue(' Workflows:'));
212
+ console.error(chalk_1.default.blue(' Workflows:'));
112
213
  for (const tool of registeredWorkflows) {
113
- console.log(chalk_1.default.gray(` - ${tool} (workflow)`));
214
+ console.error(chalk_1.default.gray(` - ${tool} (workflow)`));
114
215
  }
115
216
  }
116
217
  if (options.execute) {
117
- console.log(chalk_1.default.yellow(`⚡ Execution mode enabled (${serverConfig.provider}/${serverConfig.model})`));
218
+ console.error(chalk_1.default.yellow(`Execution mode enabled (${serverConfig.provider}/${serverConfig.model})`));
118
219
  }
119
220
  else {
120
- console.log(chalk_1.default.blue('📝 Template mode (returning rendered prompts)'));
221
+ console.error(chalk_1.default.blue('Template mode (returning rendered prompts)'));
121
222
  }
122
- console.log(chalk_1.default.cyan('MCP Server ready on stdio'));
123
- console.log(chalk_1.default.gray('Waiting for MCP client connections...'));
223
+ console.error(chalk_1.default.cyan('MCP Server ready on stdio'));
224
+ console.error(chalk_1.default.gray('Waiting for MCP client connections...'));
124
225
  if (options.verbose) {
125
- console.log(chalk_1.default.gray('Server configuration:'));
126
- console.log(chalk_1.default.gray(JSON.stringify(serverConfig, null, 2)));
226
+ console.error(chalk_1.default.gray('Server configuration:'));
227
+ console.error(chalk_1.default.gray(JSON.stringify(serverConfig, null, 2)));
127
228
  }
128
- // Start server
229
+ // Start server (stdio — stdout is reserved for MCP protocol)
129
230
  await server.start();
130
231
  }
131
232
  catch (error) {
@@ -272,43 +373,92 @@ function createMCPCommand() {
272
373
  process.exit(1);
273
374
  }
274
375
  });
275
- // Generate Claude Desktop config
376
+ // Generate MCP client configuration
276
377
  const configCommand = new commander_1.Command('config');
277
378
  configCommand
278
- .description('Generate Claude Desktop MCP configuration')
379
+ .description('Generate MCP configuration for Claude Desktop, OpenClaw, or other MCP clients')
279
380
  .option('--config-file <file>', 'MCP configuration file', path.join(os.homedir(), '.prmd', 'mcp-config.json'))
280
- .option('--output <file>', 'Output file for Claude Desktop config')
381
+ .option('--output <file>', 'Output file for generated config')
281
382
  .option('--server-name <name>', 'MCP server name', 'prompd')
383
+ .option('--format <format>', 'Config format: claude-desktop, openclaw', 'claude-desktop')
384
+ .option('--execute', 'Include --execute flag in server args')
385
+ .option('--provider <provider>', 'Include --provider in server args')
386
+ .option('--model <model>', 'Include --model in server args')
282
387
  .action(async (options) => {
283
388
  try {
284
- const configPath = options.configFile;
285
- if (!await fs.pathExists(configPath)) {
286
- console.error(chalk_1.default.red(`Config file not found: ${configPath}`));
287
- process.exit(1);
288
- }
289
- // Generate Claude Desktop MCP configuration
290
- const claudeConfig = {
291
- mcpServers: {
292
- [options.serverName]: {
293
- command: 'prompd',
294
- args: ['mcp', 'start'],
295
- env: {}
296
- }
389
+ // Build server args
390
+ const serverArgs = ['mcp', 'start'];
391
+ if (options.execute)
392
+ serverArgs.push('--execute');
393
+ if (options.provider)
394
+ serverArgs.push('--provider', options.provider);
395
+ if (options.model)
396
+ serverArgs.push('--model', options.model);
397
+ let generatedConfig;
398
+ let instructions;
399
+ switch (options.format) {
400
+ case 'openclaw': {
401
+ // OpenClaw uses standard MCP server config format
402
+ generatedConfig = {
403
+ mcpServers: {
404
+ [options.serverName]: {
405
+ command: 'npx',
406
+ args: ['-y', '@prompd/cli', ...serverArgs],
407
+ env: {}
408
+ }
409
+ }
410
+ };
411
+ instructions = [
412
+ 'To use with OpenClaw:',
413
+ '1. Add this to your OpenClaw MCP server configuration',
414
+ '2. Restart OpenClaw or reload MCP servers',
415
+ '3. Prompd prompts and workflows will be available as tools',
416
+ '',
417
+ 'Alternatively, add directly to your OpenClaw config:',
418
+ ` openclaw mcp add ${options.serverName} --command "npx" --args "-y @prompd/cli ${serverArgs.join(' ')}"`,
419
+ ];
420
+ break;
297
421
  }
298
- };
422
+ case 'claude-desktop':
423
+ default: {
424
+ generatedConfig = {
425
+ mcpServers: {
426
+ [options.serverName]: {
427
+ command: 'npx',
428
+ args: ['-y', '@prompd/cli', ...serverArgs],
429
+ env: {}
430
+ }
431
+ }
432
+ };
433
+ instructions = [
434
+ 'To use with Claude Desktop:',
435
+ '1. Add this configuration to your Claude Desktop settings',
436
+ '2. Restart Claude Desktop',
437
+ '3. Your .prmd files will be available as MCP tools',
438
+ ];
439
+ break;
440
+ }
441
+ }
299
442
  if (options.output) {
300
- await fs.writeJson(options.output, claudeConfig, { spaces: 2 });
301
- console.log(chalk_1.default.green(`✓ Claude Desktop config written to: ${options.output}`));
443
+ await fs.writeJson(options.output, generatedConfig, { spaces: 2 });
444
+ console.log(chalk_1.default.green(`Config written to: ${options.output}`));
302
445
  }
303
446
  else {
304
- console.log(chalk_1.default.cyan('Claude Desktop MCP Configuration:'));
305
- console.log(JSON.stringify(claudeConfig, null, 2));
447
+ console.log(chalk_1.default.cyan(`MCP Configuration (${options.format}):`));
448
+ console.log(JSON.stringify(generatedConfig, null, 2));
306
449
  }
307
450
  console.log();
308
- console.log(chalk_1.default.yellow('To use with Claude Desktop:'));
309
- console.log(chalk_1.default.gray('1. Add this configuration to your Claude Desktop settings'));
310
- console.log(chalk_1.default.gray('2. Restart Claude Desktop'));
311
- console.log(chalk_1.default.gray('3. Your .prmd files will be available as MCP tools'));
451
+ for (const line of instructions) {
452
+ if (line === '') {
453
+ console.log();
454
+ }
455
+ else if (line.startsWith('To use')) {
456
+ console.log(chalk_1.default.yellow(line));
457
+ }
458
+ else {
459
+ console.log(chalk_1.default.gray(line));
460
+ }
461
+ }
312
462
  }
313
463
  catch (error) {
314
464
  console.error(chalk_1.default.red('Error generating config:'), error instanceof Error ? error.message : error);
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../src/commands/mcp.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,gBAAgB,IAAI,OAAO,CAmI1C"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,gBAAgB,IAAI,OAAO,CAiM1C"}
@@ -50,8 +50,8 @@ const llmClient_1 = require("../lib/llmClient");
50
50
  function createRunCommand() {
51
51
  const command = new commander_1.Command('run');
52
52
  command
53
- .description('Run a .prmd or .pdflow file')
54
- .argument('<file>', 'Path to the .prmd or .pdflow file')
53
+ .description('Run a .prmd, .pdflow, .txt, or .md file')
54
+ .argument('<file>', 'Path to the .prmd, .pdflow, .txt, or .md file')
55
55
  .option('--provider <provider>', 'LLM provider (openai, anthropic, ollama) - for .prmd files')
56
56
  .option('--model <model>', 'Model name - for .prmd files')
57
57
  .option('-p, --param <param>', 'Parameter in format key=value', (value, previous) => {
@@ -81,12 +81,70 @@ function createRunCommand() {
81
81
  const ext = path.extname(file).toLowerCase();
82
82
  // Forward .pdflow files to workflow execution
83
83
  if (ext === '.pdflow') {
84
- console.log(chalk_1.default.blue('Detected workflow file, forwarding to workflow executor...'));
84
+ console.log(chalk_1.default.blue('Detected workflow file, forwarding to workflow executor...'));
85
85
  console.log();
86
86
  return await executeWorkflowFile(file, options);
87
87
  }
88
- // Continue with .prmd execution
89
88
  const executor = new executor_1.PrompdExecutor();
89
+ // For .txt, .md, or no-extension files: wrap with frontmatter and run through the prmd pipeline
90
+ const isRawText = ext === '.txt' || ext === '.md' || ext === '';
91
+ if (isRawText) {
92
+ if (options.verbose) {
93
+ console.log(chalk_1.default.gray(`Detected ${ext || 'no-extension'} file, wrapping as .prmd for execution...`));
94
+ }
95
+ const rawContent = await fs.readFile(file, 'utf-8');
96
+ const configManager = config_1.ConfigManager.getInstance();
97
+ const config = await configManager.loadConfig();
98
+ const provider = options.provider || configManager.getDefaultProvider(config);
99
+ const model = options.model || configManager.getDefaultModel(provider, config);
100
+ const executeOptions = {
101
+ provider,
102
+ model,
103
+ apiKey: options.apiKey,
104
+ output: options.output,
105
+ format: options.format,
106
+ params: options.param,
107
+ paramFiles: options.paramFile,
108
+ verbose: options.verbose
109
+ };
110
+ const response = await executor.executeRawText(rawContent, executeOptions);
111
+ const responseText = response.response || response.content || 'No response received';
112
+ if (options.format === 'json') {
113
+ const result = {
114
+ response: responseText,
115
+ provider,
116
+ model,
117
+ file: path.resolve(file)
118
+ };
119
+ if (response.usage)
120
+ result.usage = response.usage;
121
+ const jsonOutput = JSON.stringify(result, null, 2);
122
+ if (options.output) {
123
+ await fs.writeFile(options.output, jsonOutput, 'utf-8');
124
+ console.log(chalk_1.default.green(`Response written to ${options.output}`));
125
+ }
126
+ else {
127
+ console.log(jsonOutput);
128
+ }
129
+ }
130
+ else {
131
+ if (options.output) {
132
+ await fs.writeFile(options.output, responseText, 'utf-8');
133
+ console.log(chalk_1.default.green(`Response written to ${options.output}`));
134
+ }
135
+ else {
136
+ console.log('\n' + chalk_1.default.cyan('Response:'));
137
+ console.log('-'.repeat(50));
138
+ console.log(responseText);
139
+ console.log('-'.repeat(50));
140
+ }
141
+ if ((options.verbose || options.showUsage) && response.usage) {
142
+ console.log(chalk_1.default.gray(`\nUsage: ${response.usage.promptTokens} prompt + ${response.usage.completionTokens} completion = ${response.usage.totalTokens} total tokens`));
143
+ }
144
+ }
145
+ return;
146
+ }
147
+ // Continue with .prmd execution
90
148
  const configManager = config_1.ConfigManager.getInstance();
91
149
  const config = await configManager.loadConfig();
92
150
  // Use config defaults if not specified