@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.
Files changed (223) hide show
  1. package/README.md +162 -0
  2. package/bin/prompd.js +23 -0
  3. package/dist/commands/cache.d.ts +3 -0
  4. package/dist/commands/cache.d.ts.map +1 -0
  5. package/dist/commands/cache.js +199 -0
  6. package/dist/commands/cache.js.map +1 -0
  7. package/dist/commands/compile.d.ts +9 -0
  8. package/dist/commands/compile.d.ts.map +1 -0
  9. package/dist/commands/compile.js +104 -0
  10. package/dist/commands/compile.js.map +1 -0
  11. package/dist/commands/config.d.ts +7 -0
  12. package/dist/commands/config.d.ts.map +1 -0
  13. package/dist/commands/config.js +212 -0
  14. package/dist/commands/config.js.map +1 -0
  15. package/dist/commands/create.d.ts +3 -0
  16. package/dist/commands/create.d.ts.map +1 -0
  17. package/dist/commands/create.js +183 -0
  18. package/dist/commands/create.js.map +1 -0
  19. package/dist/commands/deps.d.ts +3 -0
  20. package/dist/commands/deps.d.ts.map +1 -0
  21. package/dist/commands/deps.js +192 -0
  22. package/dist/commands/deps.js.map +1 -0
  23. package/dist/commands/explain.d.ts +3 -0
  24. package/dist/commands/explain.d.ts.map +1 -0
  25. package/dist/commands/explain.js +227 -0
  26. package/dist/commands/explain.js.map +1 -0
  27. package/dist/commands/git.d.ts +3 -0
  28. package/dist/commands/git.d.ts.map +1 -0
  29. package/dist/commands/git.js +306 -0
  30. package/dist/commands/git.js.map +1 -0
  31. package/dist/commands/init.d.ts +3 -0
  32. package/dist/commands/init.d.ts.map +1 -0
  33. package/dist/commands/init.js +177 -0
  34. package/dist/commands/init.js.map +1 -0
  35. package/dist/commands/list.d.ts +3 -0
  36. package/dist/commands/list.d.ts.map +1 -0
  37. package/dist/commands/list.js +126 -0
  38. package/dist/commands/list.js.map +1 -0
  39. package/dist/commands/mcp.d.ts +3 -0
  40. package/dist/commands/mcp.d.ts.map +1 -0
  41. package/dist/commands/mcp.js +326 -0
  42. package/dist/commands/mcp.js.map +1 -0
  43. package/dist/commands/namespace.d.ts +3 -0
  44. package/dist/commands/namespace.d.ts.map +1 -0
  45. package/dist/commands/namespace.js +113 -0
  46. package/dist/commands/namespace.js.map +1 -0
  47. package/dist/commands/package.d.ts +23 -0
  48. package/dist/commands/package.d.ts.map +1 -0
  49. package/dist/commands/package.js +746 -0
  50. package/dist/commands/package.js.map +1 -0
  51. package/dist/commands/provider.d.ts +3 -0
  52. package/dist/commands/provider.d.ts.map +1 -0
  53. package/dist/commands/provider.js +285 -0
  54. package/dist/commands/provider.js.map +1 -0
  55. package/dist/commands/registry.d.ts +9 -0
  56. package/dist/commands/registry.d.ts.map +1 -0
  57. package/dist/commands/registry.js +361 -0
  58. package/dist/commands/registry.js.map +1 -0
  59. package/dist/commands/run.d.ts +3 -0
  60. package/dist/commands/run.d.ts.map +1 -0
  61. package/dist/commands/run.js +157 -0
  62. package/dist/commands/run.js.map +1 -0
  63. package/dist/commands/show.d.ts +3 -0
  64. package/dist/commands/show.d.ts.map +1 -0
  65. package/dist/commands/show.js +90 -0
  66. package/dist/commands/show.js.map +1 -0
  67. package/dist/commands/uninstall.d.ts +3 -0
  68. package/dist/commands/uninstall.d.ts.map +1 -0
  69. package/dist/commands/uninstall.js +95 -0
  70. package/dist/commands/uninstall.js.map +1 -0
  71. package/dist/commands/validate.d.ts +3 -0
  72. package/dist/commands/validate.d.ts.map +1 -0
  73. package/dist/commands/validate.js +57 -0
  74. package/dist/commands/validate.js.map +1 -0
  75. package/dist/commands/version.d.ts +3 -0
  76. package/dist/commands/version.d.ts.map +1 -0
  77. package/dist/commands/version.js +166 -0
  78. package/dist/commands/version.js.map +1 -0
  79. package/dist/index.d.ts +5 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +388 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/lib/auth.d.ts +164 -0
  84. package/dist/lib/auth.d.ts.map +1 -0
  85. package/dist/lib/auth.js +388 -0
  86. package/dist/lib/auth.js.map +1 -0
  87. package/dist/lib/compiler/file-system.d.ts +178 -0
  88. package/dist/lib/compiler/file-system.d.ts.map +1 -0
  89. package/dist/lib/compiler/file-system.js +440 -0
  90. package/dist/lib/compiler/file-system.js.map +1 -0
  91. package/dist/lib/compiler/formatters/anthropic.d.ts +21 -0
  92. package/dist/lib/compiler/formatters/anthropic.d.ts.map +1 -0
  93. package/dist/lib/compiler/formatters/anthropic.js +95 -0
  94. package/dist/lib/compiler/formatters/anthropic.js.map +1 -0
  95. package/dist/lib/compiler/formatters/markdown.d.ts +17 -0
  96. package/dist/lib/compiler/formatters/markdown.d.ts.map +1 -0
  97. package/dist/lib/compiler/formatters/markdown.js +114 -0
  98. package/dist/lib/compiler/formatters/markdown.js.map +1 -0
  99. package/dist/lib/compiler/formatters/openai.d.ts +21 -0
  100. package/dist/lib/compiler/formatters/openai.d.ts.map +1 -0
  101. package/dist/lib/compiler/formatters/openai.js +98 -0
  102. package/dist/lib/compiler/formatters/openai.js.map +1 -0
  103. package/dist/lib/compiler/index.d.ts +56 -0
  104. package/dist/lib/compiler/index.d.ts.map +1 -0
  105. package/dist/lib/compiler/index.js +165 -0
  106. package/dist/lib/compiler/index.js.map +1 -0
  107. package/dist/lib/compiler/language-map.d.ts +31 -0
  108. package/dist/lib/compiler/language-map.d.ts.map +1 -0
  109. package/dist/lib/compiler/language-map.js +156 -0
  110. package/dist/lib/compiler/language-map.js.map +1 -0
  111. package/dist/lib/compiler/package-resolver.d.ts +68 -0
  112. package/dist/lib/compiler/package-resolver.d.ts.map +1 -0
  113. package/dist/lib/compiler/package-resolver.js +254 -0
  114. package/dist/lib/compiler/package-resolver.js.map +1 -0
  115. package/dist/lib/compiler/pipeline.d.ts +53 -0
  116. package/dist/lib/compiler/pipeline.d.ts.map +1 -0
  117. package/dist/lib/compiler/pipeline.js +209 -0
  118. package/dist/lib/compiler/pipeline.js.map +1 -0
  119. package/dist/lib/compiler/prompd-loader.d.ts +108 -0
  120. package/dist/lib/compiler/prompd-loader.d.ts.map +1 -0
  121. package/dist/lib/compiler/prompd-loader.js +270 -0
  122. package/dist/lib/compiler/prompd-loader.js.map +1 -0
  123. package/dist/lib/compiler/section-override.d.ts +40 -0
  124. package/dist/lib/compiler/section-override.d.ts.map +1 -0
  125. package/dist/lib/compiler/section-override.js +296 -0
  126. package/dist/lib/compiler/section-override.js.map +1 -0
  127. package/dist/lib/compiler/stages/assets.d.ts +71 -0
  128. package/dist/lib/compiler/stages/assets.d.ts.map +1 -0
  129. package/dist/lib/compiler/stages/assets.js +456 -0
  130. package/dist/lib/compiler/stages/assets.js.map +1 -0
  131. package/dist/lib/compiler/stages/codegen.d.ts +17 -0
  132. package/dist/lib/compiler/stages/codegen.d.ts.map +1 -0
  133. package/dist/lib/compiler/stages/codegen.js +64 -0
  134. package/dist/lib/compiler/stages/codegen.js.map +1 -0
  135. package/dist/lib/compiler/stages/dependency.d.ts +38 -0
  136. package/dist/lib/compiler/stages/dependency.d.ts.map +1 -0
  137. package/dist/lib/compiler/stages/dependency.js +307 -0
  138. package/dist/lib/compiler/stages/dependency.js.map +1 -0
  139. package/dist/lib/compiler/stages/lexical.d.ts +19 -0
  140. package/dist/lib/compiler/stages/lexical.d.ts.map +1 -0
  141. package/dist/lib/compiler/stages/lexical.js +92 -0
  142. package/dist/lib/compiler/stages/lexical.js.map +1 -0
  143. package/dist/lib/compiler/stages/semantic.d.ts +20 -0
  144. package/dist/lib/compiler/stages/semantic.d.ts.map +1 -0
  145. package/dist/lib/compiler/stages/semantic.js +166 -0
  146. package/dist/lib/compiler/stages/semantic.js.map +1 -0
  147. package/dist/lib/compiler/stages/template.d.ts +94 -0
  148. package/dist/lib/compiler/stages/template.d.ts.map +1 -0
  149. package/dist/lib/compiler/stages/template.js +1044 -0
  150. package/dist/lib/compiler/stages/template.js.map +1 -0
  151. package/dist/lib/compiler/types.d.ts +200 -0
  152. package/dist/lib/compiler/types.d.ts.map +1 -0
  153. package/dist/lib/compiler/types.js +137 -0
  154. package/dist/lib/compiler/types.js.map +1 -0
  155. package/dist/lib/config.d.ts +29 -0
  156. package/dist/lib/config.d.ts.map +1 -0
  157. package/dist/lib/config.js +375 -0
  158. package/dist/lib/config.js.map +1 -0
  159. package/dist/lib/errors.d.ts +19 -0
  160. package/dist/lib/errors.d.ts.map +1 -0
  161. package/dist/lib/errors.js +47 -0
  162. package/dist/lib/errors.js.map +1 -0
  163. package/dist/lib/executor.d.ts +18 -0
  164. package/dist/lib/executor.d.ts.map +1 -0
  165. package/dist/lib/executor.js +372 -0
  166. package/dist/lib/executor.js.map +1 -0
  167. package/dist/lib/git.d.ts +74 -0
  168. package/dist/lib/git.d.ts.map +1 -0
  169. package/dist/lib/git.js +254 -0
  170. package/dist/lib/git.js.map +1 -0
  171. package/dist/lib/index.d.ts +43 -0
  172. package/dist/lib/index.d.ts.map +1 -0
  173. package/dist/lib/index.js +108 -0
  174. package/dist/lib/index.js.map +1 -0
  175. package/dist/lib/mcp.d.ts +42 -0
  176. package/dist/lib/mcp.d.ts.map +1 -0
  177. package/dist/lib/mcp.js +477 -0
  178. package/dist/lib/mcp.js.map +1 -0
  179. package/dist/lib/model-updater.d.ts +51 -0
  180. package/dist/lib/model-updater.d.ts.map +1 -0
  181. package/dist/lib/model-updater.js +275 -0
  182. package/dist/lib/model-updater.js.map +1 -0
  183. package/dist/lib/parser.d.ts +9 -0
  184. package/dist/lib/parser.d.ts.map +1 -0
  185. package/dist/lib/parser.js +197 -0
  186. package/dist/lib/parser.js.map +1 -0
  187. package/dist/lib/registry.d.ts +183 -0
  188. package/dist/lib/registry.d.ts.map +1 -0
  189. package/dist/lib/registry.js +786 -0
  190. package/dist/lib/registry.js.map +1 -0
  191. package/dist/lib/rpc-server.d.ts +78 -0
  192. package/dist/lib/rpc-server.d.ts.map +1 -0
  193. package/dist/lib/rpc-server.js +404 -0
  194. package/dist/lib/rpc-server.js.map +1 -0
  195. package/dist/lib/security.d.ts +120 -0
  196. package/dist/lib/security.d.ts.map +1 -0
  197. package/dist/lib/security.js +478 -0
  198. package/dist/lib/security.js.map +1 -0
  199. package/dist/lib/validation.d.ts +106 -0
  200. package/dist/lib/validation.d.ts.map +1 -0
  201. package/dist/lib/validation.js +398 -0
  202. package/dist/lib/validation.js.map +1 -0
  203. package/dist/lib/version.d.ts +29 -0
  204. package/dist/lib/version.d.ts.map +1 -0
  205. package/dist/lib/version.js +202 -0
  206. package/dist/lib/version.js.map +1 -0
  207. package/dist/lib/workflow-engine.d.ts +161 -0
  208. package/dist/lib/workflow-engine.d.ts.map +1 -0
  209. package/dist/lib/workflow-engine.js +422 -0
  210. package/dist/lib/workflow-engine.js.map +1 -0
  211. package/dist/lib/workflow.d.ts +102 -0
  212. package/dist/lib/workflow.d.ts.map +1 -0
  213. package/dist/lib/workflow.js +228 -0
  214. package/dist/lib/workflow.js.map +1 -0
  215. package/dist/server.d.ts +8 -0
  216. package/dist/server.d.ts.map +1 -0
  217. package/dist/server.js +134 -0
  218. package/dist/server.js.map +1 -0
  219. package/dist/types/index.d.ts +116 -0
  220. package/dist/types/index.d.ts.map +1 -0
  221. package/dist/types/index.js +144 -0
  222. package/dist/types/index.js.map +1 -0
  223. package/package.json +104 -0
@@ -0,0 +1,212 @@
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.createConfigCommand = createConfigCommand;
7
+ const commander_1 = require("commander");
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const config_1 = require("../lib/config");
10
+ const provider_1 = require("./provider");
11
+ const registry_1 = require("./registry");
12
+ /**
13
+ * Creates the unified config command structure
14
+ * Matches Python CLI organization: prompd config <subcommand>
15
+ */
16
+ function createConfigCommand() {
17
+ const command = new commander_1.Command('config');
18
+ command.description('Manage prompd configuration');
19
+ // Add subcommands
20
+ command.addCommand(createShowCommand());
21
+ command.addCommand(createRegistriesAliasCommand());
22
+ command.addCommand(createProvidersAliasCommand());
23
+ // Add provider and registry as subgroups under config
24
+ const providerCommand = (0, provider_1.createProviderCommand)();
25
+ providerCommand.name('provider');
26
+ command.addCommand(providerCommand);
27
+ const registryCommand = (0, registry_1.createRegistryCommand)();
28
+ registryCommand.name('registry');
29
+ command.addCommand(registryCommand);
30
+ return command;
31
+ }
32
+ /**
33
+ * config show - Display all configuration
34
+ */
35
+ function createShowCommand() {
36
+ const showCommand = new commander_1.Command('show');
37
+ showCommand
38
+ .description('Show all configuration settings')
39
+ .action(async () => {
40
+ try {
41
+ const configManager = config_1.ConfigManager.getInstance();
42
+ const config = await configManager.loadConfig();
43
+ console.log(chalk_1.default.bold.cyan('=== Prompd Configuration ===\n'));
44
+ // Defaults section
45
+ console.log(chalk_1.default.bold('Defaults:'));
46
+ console.log(` Provider: ${config.defaultProvider || chalk_1.default.gray('not set')}`);
47
+ console.log(` Model: ${config.defaultModel || chalk_1.default.gray('not set')}`);
48
+ console.log(` Registry: ${config.registry?.default || chalk_1.default.gray('prompdhub')}`);
49
+ console.log();
50
+ // API Keys section
51
+ console.log(chalk_1.default.bold('API Keys:'));
52
+ if (Object.keys(config.apiKeys || {}).length === 0) {
53
+ console.log(chalk_1.default.gray(' (none configured)'));
54
+ }
55
+ else {
56
+ Object.keys(config.apiKeys || {}).forEach(provider => {
57
+ const key = config.apiKeys[provider];
58
+ const masked = key && key.length > 4 ? '*'.repeat(key.length - 4) + key.slice(-4) : '***';
59
+ console.log(` ${provider}: ${masked}`);
60
+ });
61
+ }
62
+ console.log();
63
+ // Custom Providers section
64
+ console.log(chalk_1.default.bold('Custom Providers:'));
65
+ if (Object.keys(config.customProviders || {}).length === 0) {
66
+ console.log(chalk_1.default.gray(' (none configured)'));
67
+ }
68
+ else {
69
+ Object.entries(config.customProviders || {}).forEach(([name, provider]) => {
70
+ const enabled = provider.enabled !== false ? chalk_1.default.green('enabled') : chalk_1.default.red('disabled');
71
+ console.log(` ${chalk_1.default.cyan(name)} - ${enabled}`);
72
+ console.log(` Base URL: ${provider.baseUrl}`);
73
+ console.log(` Models: ${provider.models.join(', ')}`);
74
+ });
75
+ }
76
+ console.log();
77
+ // Registries section
78
+ console.log(chalk_1.default.bold('Registries:'));
79
+ const registries = config.registry?.registries || {};
80
+ if (Object.keys(registries).length === 0) {
81
+ console.log(chalk_1.default.gray(' (none configured)'));
82
+ }
83
+ else {
84
+ Object.entries(registries).forEach(([name, registry]) => {
85
+ const isDefault = name === config.registry?.default;
86
+ const defaultMark = isDefault ? chalk_1.default.green(' (default)') : '';
87
+ console.log(` ${chalk_1.default.cyan(name)}${defaultMark}`);
88
+ console.log(` URL: ${registry.url || 'N/A'}`);
89
+ console.log(` User: ${registry.username || chalk_1.default.gray('not logged in')}`);
90
+ });
91
+ }
92
+ console.log();
93
+ // Settings section
94
+ console.log(chalk_1.default.bold('Settings:'));
95
+ console.log(` Timeout: ${config.timeout || 30}s`);
96
+ console.log(` Max Retries: ${config.maxRetries || 3}`);
97
+ console.log(` Verbose: ${config.verbose ? 'yes' : 'no'}`);
98
+ console.log();
99
+ // Show config file location
100
+ const configPaths = [
101
+ require('path').join(require('os').homedir(), '.prmd', 'config.yaml'),
102
+ require('path').join(require('os').homedir(), '.prmd', 'config.json'),
103
+ ];
104
+ console.log(chalk_1.default.gray(`Config file: ${configPaths[0]}`));
105
+ console.log(chalk_1.default.gray(`Use 'prompd config provider' and 'prompd config registry' to manage settings`));
106
+ }
107
+ catch (error) {
108
+ console.error(chalk_1.default.red('Error displaying configuration:'), error instanceof Error ? error.message : error);
109
+ process.exit(1);
110
+ }
111
+ });
112
+ return showCommand;
113
+ }
114
+ /**
115
+ * config registries - Alias for 'config registry list'
116
+ */
117
+ function createRegistriesAliasCommand() {
118
+ const registriesCommand = new commander_1.Command('registries');
119
+ registriesCommand
120
+ .description('List configured registries (alias for "config registry list")')
121
+ .action(async () => {
122
+ try {
123
+ const configManager = config_1.ConfigManager.getInstance();
124
+ const config = await configManager.loadConfig();
125
+ const registries = config.registry?.registries || {};
126
+ const defaultRegistry = config.registry?.default || 'prompdhub';
127
+ if (Object.keys(registries).length === 0) {
128
+ console.log(chalk_1.default.yellow('No registries configured'));
129
+ console.log(chalk_1.default.dim("Use 'prompd config registry add' to add a registry"));
130
+ return;
131
+ }
132
+ console.log(chalk_1.default.bold('Configured Registries:'));
133
+ for (const [name, registryConfig] of Object.entries(registries)) {
134
+ const defaultMark = name === defaultRegistry ? chalk_1.default.green(' (default)') : '';
135
+ const url = registryConfig.url || 'N/A';
136
+ const username = registryConfig.username || 'Not logged in';
137
+ console.log(` • ${chalk_1.default.cyan(name)}${defaultMark}`);
138
+ console.log(` URL: ${url}`);
139
+ console.log(` User: ${username}`);
140
+ }
141
+ }
142
+ catch (error) {
143
+ console.error(chalk_1.default.red('Error listing registries:'), error instanceof Error ? error.message : error);
144
+ process.exit(1);
145
+ }
146
+ });
147
+ return registriesCommand;
148
+ }
149
+ /**
150
+ * config providers - Alias for 'config provider list'
151
+ */
152
+ function createProvidersAliasCommand() {
153
+ const providersCommand = new commander_1.Command('providers');
154
+ providersCommand
155
+ .description('List configured providers (alias for "config provider list")')
156
+ .action(async () => {
157
+ try {
158
+ const configManager = config_1.ConfigManager.getInstance();
159
+ const config = await configManager.loadConfig();
160
+ console.log(chalk_1.default.cyan('Available LLM Providers:\n'));
161
+ console.log(chalk_1.default.blue('🔧 Built-in Providers:'));
162
+ const builtinProviders = {
163
+ 'openai': ['gpt-4o', 'gpt-4o-mini', 'gpt-3.5-turbo', 'gpt-4-turbo'],
164
+ 'anthropic': ['claude-3-5-sonnet-20241022', 'claude-3-5-haiku-20241022', 'claude-3-opus-20240229'],
165
+ 'groq': ['llama3-8b-8192', 'mixtral-8x7b-32768'],
166
+ 'ollama': ['llama2', 'codellama', '(dynamic - depends on local installation)']
167
+ };
168
+ for (const [provider, models] of Object.entries(builtinProviders)) {
169
+ const hasKey = !!config.apiKeys?.[provider];
170
+ const status = hasKey ? '✓' : (provider === 'ollama' ? '✓' : chalk_1.default.yellow('⚠ (no API key)'));
171
+ console.log(` • ${chalk_1.default.cyan(provider)} ${status}`);
172
+ if (models.length > 0 && models[0] !== '(dynamic - depends on local installation)') {
173
+ const displayModels = models.slice(0, 3);
174
+ console.log(chalk_1.default.gray(` Models: ${displayModels.join(', ')}`));
175
+ if (models.length > 3) {
176
+ console.log(chalk_1.default.gray(' (and more...)'));
177
+ }
178
+ }
179
+ else if (models.length > 0) {
180
+ console.log(chalk_1.default.gray(` Models: ${models[0]}`));
181
+ }
182
+ }
183
+ console.log(`\n${chalk_1.default.blue('🏠 Custom Providers:')}`);
184
+ if (Object.keys(config.customProviders || {}).length === 0) {
185
+ console.log(chalk_1.default.gray(' (No custom providers configured)'));
186
+ }
187
+ else {
188
+ for (const [name, provider] of Object.entries(config.customProviders || {})) {
189
+ let status = '✓';
190
+ if (provider.enabled === false) {
191
+ status = chalk_1.default.yellow('⚠ (disabled)');
192
+ }
193
+ else if (!config.apiKeys?.[name]) {
194
+ status = chalk_1.default.yellow('⚠ (no API key)');
195
+ }
196
+ console.log(` • ${chalk_1.default.cyan(name)} ${status}`);
197
+ console.log(chalk_1.default.gray(` Base URL: ${provider.baseUrl}`));
198
+ if (provider.models.length > 0) {
199
+ console.log(chalk_1.default.gray(` Models: ${provider.models.join(', ')}`));
200
+ }
201
+ }
202
+ }
203
+ console.log(`\nUse 'prompd config provider show <name>' for details`);
204
+ }
205
+ catch (error) {
206
+ console.error(chalk_1.default.red('Error listing providers:'), error instanceof Error ? error.message : error);
207
+ process.exit(1);
208
+ }
209
+ });
210
+ return providersCommand;
211
+ }
212
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createCreateCommand(): Command;
3
+ //# sourceMappingURL=create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,wBAAgB,mBAAmB,IAAI,OAAO,CAwH7C"}
@@ -0,0 +1,183 @@
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.createCreateCommand = createCreateCommand;
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 readline = __importStar(require("readline"));
45
+ function createCreateCommand() {
46
+ const createCommand = new commander_1.Command('create');
47
+ createCommand
48
+ .description('Create a new .prmd file')
49
+ .argument('<file>', 'Path to the .prmd file to create')
50
+ .option('-i, --interactive', 'Interactive mode with prompts')
51
+ .option('-n, --name <name>', 'Prompt name')
52
+ .option('-d, --description <description>', 'Description')
53
+ .option('-a, --author <author>', 'Author name')
54
+ .option('-v, --version <version>', 'Version', '1.0.0')
55
+ .action(async (file, options) => {
56
+ try {
57
+ // Ensure .prmd extension
58
+ let filePath = file;
59
+ if (!filePath.endsWith('.prmd')) {
60
+ filePath += '.prmd';
61
+ }
62
+ // Check if file exists
63
+ if (await fs.pathExists(filePath)) {
64
+ console.error(chalk_1.default.red(`ERROR: File already exists: ${filePath}`));
65
+ process.exit(1);
66
+ }
67
+ const baseName = path.basename(filePath, '.prmd');
68
+ let name = options.name;
69
+ let description = options.description || '';
70
+ let author = options.author || '';
71
+ let version = options.version;
72
+ let parameters = [];
73
+ // Interactive mode
74
+ if (options.interactive) {
75
+ console.log(chalk_1.default.blue(`Creating new ${path.basename(filePath)} interactively\n`));
76
+ const defaultName = baseName.replace(/-/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
77
+ name = await promptWithDefault('Prompt name', name || defaultName);
78
+ description = await promptWithDefault('Description', description);
79
+ author = await promptWithDefault('Author', author);
80
+ version = await promptWithDefault('Version', version);
81
+ if (await promptYesNo('Add parameters?', false)) {
82
+ console.log('(Press Enter on empty name to finish)');
83
+ while (true) {
84
+ const paramName = await promptWithDefault('Parameter name (blank to finish)', '');
85
+ if (!paramName)
86
+ break;
87
+ const paramType = await promptWithDefault('Parameter type [string/integer/float/boolean]', 'string');
88
+ const paramDesc = await promptWithDefault('Parameter description', '');
89
+ const paramRequired = await promptYesNo('Required?', false);
90
+ parameters.push({
91
+ name: paramName,
92
+ type: paramType,
93
+ description: paramDesc,
94
+ required: paramRequired
95
+ });
96
+ }
97
+ }
98
+ }
99
+ else {
100
+ // Generate default name if not provided
101
+ if (!name) {
102
+ name = baseName.replace(/-/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
103
+ }
104
+ }
105
+ // Generate ID from filename
106
+ const id = baseName;
107
+ // Create file content
108
+ let content = `---
109
+ id: ${id}
110
+ name: ${name}
111
+ version: ${version}`;
112
+ if (description) {
113
+ content += `\ndescription: ${description}`;
114
+ }
115
+ if (author) {
116
+ content += `\nauthor: ${author}`;
117
+ }
118
+ if (parameters.length > 0) {
119
+ content += `\nparameters:`;
120
+ for (const param of parameters) {
121
+ content += `\n - name: ${param.name}`;
122
+ content += `\n type: ${param.type}`;
123
+ if (param.description) {
124
+ content += `\n description: ${param.description}`;
125
+ }
126
+ if (param.required) {
127
+ content += `\n required: true`;
128
+ }
129
+ }
130
+ }
131
+ content += `
132
+ ---
133
+
134
+ # System
135
+ You are a helpful assistant.
136
+
137
+ # User
138
+ {prompt}
139
+ `;
140
+ // Write file
141
+ await fs.writeFile(filePath, content, 'utf-8');
142
+ console.log(chalk_1.default.green(`✓ Created ${filePath}`));
143
+ }
144
+ catch (error) {
145
+ console.error(chalk_1.default.red(`Failed to create file: ${error}`));
146
+ process.exit(1);
147
+ }
148
+ });
149
+ return createCommand;
150
+ }
151
+ function promptWithDefault(prompt, defaultValue) {
152
+ const rl = readline.createInterface({
153
+ input: process.stdin,
154
+ output: process.stdout
155
+ });
156
+ return new Promise((resolve) => {
157
+ const question = defaultValue ? `${prompt} [${defaultValue}]: ` : `${prompt}: `;
158
+ rl.question(question, (answer) => {
159
+ rl.close();
160
+ resolve(answer.trim() || defaultValue);
161
+ });
162
+ });
163
+ }
164
+ function promptYesNo(prompt, defaultValue) {
165
+ const rl = readline.createInterface({
166
+ input: process.stdin,
167
+ output: process.stdout
168
+ });
169
+ return new Promise((resolve) => {
170
+ const defaultStr = defaultValue ? 'Y' : 'N';
171
+ rl.question(`${prompt} [y/N] (default: ${defaultStr}): `, (answer) => {
172
+ rl.close();
173
+ const input = answer.toLowerCase().trim();
174
+ if (input === '') {
175
+ resolve(defaultValue);
176
+ }
177
+ else {
178
+ resolve(input === 'y' || input === 'yes');
179
+ }
180
+ });
181
+ });
182
+ }
183
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/commands/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createDepsCommand(): Command;
3
+ //# sourceMappingURL=deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../src/commands/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,iBAAiB,IAAI,OAAO,CAsB3C"}
@@ -0,0 +1,192 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.createDepsCommand = createDepsCommand;
37
+ const commander_1 = require("commander");
38
+ const fs = __importStar(require("fs-extra"));
39
+ const path = __importStar(require("path"));
40
+ const yaml = __importStar(require("yaml"));
41
+ function createDepsCommand() {
42
+ const depsCommand = new commander_1.Command('deps');
43
+ depsCommand
44
+ .description('Analyze project dependencies')
45
+ .argument('<target>', 'File, directory, package, or package reference to analyze')
46
+ .option('--tree', 'Show dependency tree')
47
+ .option('--conflicts', 'Check for version conflicts')
48
+ .action(async (target, options) => {
49
+ try {
50
+ await analyzeDependencies(target, options.tree || false, options.conflicts || false);
51
+ }
52
+ catch (error) {
53
+ if (error instanceof Error) {
54
+ console.error(`ERROR: ${error.message}`);
55
+ }
56
+ else {
57
+ console.error('ERROR: Failed to analyze dependencies');
58
+ }
59
+ process.exit(1);
60
+ }
61
+ });
62
+ return depsCommand;
63
+ }
64
+ async function analyzeDependencies(target, showTree, showConflicts) {
65
+ // Check if target is a package reference
66
+ if (target.startsWith('@')) {
67
+ await analyzePackageDeps(target, showTree, showConflicts);
68
+ return;
69
+ }
70
+ // Check if it's a file or directory
71
+ const stats = await fs.stat(target);
72
+ if (stats.isDirectory()) {
73
+ await analyzeProjectDeps(target, showTree, showConflicts);
74
+ return;
75
+ }
76
+ if (target.endsWith('.prmd')) {
77
+ await analyzeFileDeps(target, showTree, showConflicts);
78
+ return;
79
+ }
80
+ if (target.endsWith('.pdpkg')) {
81
+ await analyzePackageFileDeps(target, showTree, showConflicts);
82
+ return;
83
+ }
84
+ throw new Error(`Unsupported target type: ${target}`);
85
+ }
86
+ async function analyzeProjectDeps(projectPath, showTree, showConflicts) {
87
+ const manifestPath = path.join(projectPath, 'prompd.json');
88
+ if (!await fs.pathExists(manifestPath)) {
89
+ throw new Error(`No prompd.json found in ${projectPath}`);
90
+ }
91
+ const manifest = await fs.readJSON(manifestPath);
92
+ console.log(`Dependencies for project: ${projectPath}`);
93
+ console.log();
94
+ const deps = manifest.dependencies || {};
95
+ const devDeps = manifest.devDependencies || {};
96
+ if (Object.keys(deps).length === 0 && Object.keys(devDeps).length === 0) {
97
+ console.log('No dependencies found');
98
+ return;
99
+ }
100
+ if (Object.keys(deps).length > 0) {
101
+ console.log('Dependencies:');
102
+ for (const [pkg, version] of Object.entries(deps)) {
103
+ console.log(` ${pkg}@${version}`);
104
+ }
105
+ console.log();
106
+ }
107
+ if (Object.keys(devDeps).length > 0) {
108
+ console.log('Dev Dependencies:');
109
+ for (const [pkg, version] of Object.entries(devDeps)) {
110
+ console.log(` ${pkg}@${version}`);
111
+ }
112
+ console.log();
113
+ }
114
+ if (showTree) {
115
+ console.log('Dependency Tree:');
116
+ for (const [pkg, version] of Object.entries(deps)) {
117
+ printDependencyTree(pkg, version, 0, new Set());
118
+ }
119
+ }
120
+ if (showConflicts) {
121
+ const conflicts = detectConflicts(deps, devDeps);
122
+ if (conflicts.length > 0) {
123
+ console.log('⚠️ Version Conflicts:');
124
+ for (const conflict of conflicts) {
125
+ console.log(` ${conflict}`);
126
+ }
127
+ }
128
+ else {
129
+ console.log('✓ No version conflicts detected');
130
+ }
131
+ }
132
+ }
133
+ async function analyzeFileDeps(filePath, showTree, showConflicts) {
134
+ const content = await fs.readFile(filePath, 'utf-8');
135
+ // Parse YAML frontmatter
136
+ const frontmatterMatch = content.match(/^---\n([\s\S]*?)\n---/);
137
+ if (!frontmatterMatch) {
138
+ console.log('No frontmatter found in file');
139
+ return;
140
+ }
141
+ const prompd = yaml.parse(frontmatterMatch[1]);
142
+ console.log(`Dependencies for file: ${filePath}`);
143
+ console.log();
144
+ if (!prompd.inherits) {
145
+ console.log('No inheritance dependencies');
146
+ return;
147
+ }
148
+ console.log(`Inherits: ${prompd.inherits}`);
149
+ if (showTree) {
150
+ console.log('\nInheritance Chain:');
151
+ printInheritanceChain(prompd.inherits, 0, new Set());
152
+ }
153
+ }
154
+ async function analyzePackageFileDeps(packagePath, showTree, showConflicts) {
155
+ console.log(`Analyzing package: ${packagePath}`);
156
+ console.log('(Package dependency analysis not yet implemented)');
157
+ }
158
+ async function analyzePackageDeps(packageRef, showTree, showConflicts) {
159
+ console.log(`Analyzing package reference: ${packageRef}`);
160
+ console.log('(Registry package analysis not yet implemented)');
161
+ }
162
+ function printDependencyTree(pkg, version, depth, visited) {
163
+ const indent = ' '.repeat(depth);
164
+ const key = `${pkg}@${version}`;
165
+ if (visited.has(key)) {
166
+ console.log(`${indent}└─ ${key} (circular)`);
167
+ return;
168
+ }
169
+ visited.add(key);
170
+ console.log(`${indent}└─ ${key}`);
171
+ // TODO: Fetch and analyze sub-dependencies
172
+ }
173
+ function printInheritanceChain(inherits, depth, visited) {
174
+ const indent = ' '.repeat(depth);
175
+ if (visited.has(inherits)) {
176
+ console.log(`${indent}└─ ${inherits} (circular reference)`);
177
+ return;
178
+ }
179
+ visited.add(inherits);
180
+ console.log(`${indent}└─ ${inherits}`);
181
+ // TODO: Fetch parent and continue chain
182
+ }
183
+ function detectConflicts(deps, devDeps) {
184
+ const conflicts = [];
185
+ for (const [pkg, version] of Object.entries(deps)) {
186
+ if (devDeps[pkg] && devDeps[pkg] !== version) {
187
+ conflicts.push(`${pkg}: dependency uses ${version}, devDependency uses ${devDeps[pkg]}`);
188
+ }
189
+ }
190
+ return conflicts;
191
+ }
192
+ //# sourceMappingURL=deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../src/commands/deps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createExplainCommand(): Command;
3
+ //# sourceMappingURL=explain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,oBAAoB,IAAI,OAAO,CAkC9C"}