@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,227 @@
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.createExplainCommand = createExplainCommand;
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 parser_1 = require("../lib/parser");
45
+ const registry_1 = require("../lib/registry");
46
+ function createExplainCommand() {
47
+ const explainCommand = new commander_1.Command('explain');
48
+ explainCommand
49
+ .description('Detailed information about files and packages')
50
+ .argument('<target>', '.prmd file, .pdpkg package, or registry package (@namespace/name)')
51
+ .option('-d, --detailed', 'Show detailed information')
52
+ .option('-s, --sections', 'Show section content previews (for .prmd files)')
53
+ .option('-h, --history', 'Show git version history (for .prmd files)')
54
+ .option('-r, --registry <name>', 'Specify registry for package lookup')
55
+ .option('-v, --verbose', 'Enable verbose logging')
56
+ .action(async (target, options) => {
57
+ try {
58
+ // Determine target type
59
+ if (target.endsWith('.prmd')) {
60
+ await explainPrompdFile(target, options);
61
+ }
62
+ else if (target.endsWith('.pdpkg')) {
63
+ await explainPackageFile(target, options);
64
+ }
65
+ else if (target.startsWith('@') && target.includes('/')) {
66
+ await explainRegistryPackage(target, options);
67
+ }
68
+ else {
69
+ console.error(chalk_1.default.red('Invalid target. Must be a .prmd file, .pdpkg package, or registry package (@namespace/name)'));
70
+ process.exit(1);
71
+ }
72
+ }
73
+ catch (error) {
74
+ console.error(chalk_1.default.red(`Explain failed: ${error}`));
75
+ if (options.verbose) {
76
+ console.error(error);
77
+ }
78
+ process.exit(1);
79
+ }
80
+ });
81
+ return explainCommand;
82
+ }
83
+ async function explainPrompdFile(filePath, options) {
84
+ if (!await fs.pathExists(filePath)) {
85
+ throw new Error(`File not found: ${filePath}`);
86
+ }
87
+ const parser = new parser_1.PrompdParser();
88
+ const prompd = await parser.parseFile(filePath);
89
+ const stats = await fs.stat(filePath);
90
+ console.log(chalk_1.default.bold(`\n📄 ${path.basename(filePath)}`));
91
+ console.log(chalk_1.default.dim(` ${path.resolve(filePath)}`));
92
+ console.log();
93
+ // Basic metadata
94
+ console.log(chalk_1.default.bold('Metadata:'));
95
+ console.log(` ID: ${chalk_1.default.cyan(prompd.metadata.id)}`);
96
+ if (prompd.metadata.name) {
97
+ console.log(` Name: ${prompd.metadata.name}`);
98
+ }
99
+ if (prompd.metadata.version) {
100
+ console.log(` Version: ${prompd.metadata.version}`);
101
+ }
102
+ if (prompd.metadata.description) {
103
+ console.log(` Description: ${prompd.metadata.description}`);
104
+ }
105
+ console.log();
106
+ // Parameters
107
+ const params = prompd.metadata.parameters || [];
108
+ if (params.length > 0) {
109
+ console.log(chalk_1.default.bold('Parameters:'));
110
+ params.forEach(param => {
111
+ const required = param.required ? chalk_1.default.red('required') : chalk_1.default.dim('optional');
112
+ const defaultVal = param.default !== undefined ? chalk_1.default.dim(` (default: ${JSON.stringify(param.default)})`) : '';
113
+ console.log(` • ${chalk_1.default.cyan(param.name)} (${param.type}) ${required}${defaultVal}`);
114
+ if (param.description) {
115
+ console.log(` ${chalk_1.default.dim(param.description)}`);
116
+ }
117
+ });
118
+ console.log();
119
+ }
120
+ // Sections
121
+ if (options.sections && Object.keys(prompd.sections).length > 0) {
122
+ console.log(chalk_1.default.bold('Sections:'));
123
+ Object.keys(prompd.sections).forEach(section => {
124
+ console.log(` • ${chalk_1.default.cyan(section)}`);
125
+ });
126
+ console.log();
127
+ }
128
+ // File stats
129
+ console.log(chalk_1.default.bold('File Info:'));
130
+ console.log(` Size: ${chalk_1.default.cyan(formatBytes(stats.size))}`);
131
+ console.log(` Modified: ${chalk_1.default.dim(stats.mtime.toLocaleString())}`);
132
+ console.log();
133
+ // Git history (if requested)
134
+ if (options.history) {
135
+ try {
136
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
137
+ const gitLog = await new Promise((resolve, reject) => {
138
+ const child = spawn('git', ['log', '--oneline', '-5', filePath]);
139
+ let output = '';
140
+ child.stdout.on('data', (data) => output += data.toString());
141
+ child.on('close', (code) => {
142
+ if (code === 0)
143
+ resolve(output);
144
+ else
145
+ reject(new Error('Git log failed'));
146
+ });
147
+ });
148
+ if (gitLog.trim()) {
149
+ console.log(chalk_1.default.bold('Recent Git History:'));
150
+ gitLog.trim().split('\n').forEach(line => {
151
+ console.log(` ${chalk_1.default.dim(line)}`);
152
+ });
153
+ console.log();
154
+ }
155
+ }
156
+ catch (error) {
157
+ console.log(chalk_1.default.yellow('Git history not available'));
158
+ console.log();
159
+ }
160
+ }
161
+ }
162
+ async function explainPackageFile(filePath, options) {
163
+ if (!await fs.pathExists(filePath)) {
164
+ throw new Error(`Package not found: ${filePath}`);
165
+ }
166
+ const stats = await fs.stat(filePath);
167
+ console.log(chalk_1.default.bold(`\n📦 ${path.basename(filePath)}`));
168
+ console.log(chalk_1.default.dim(` ${path.resolve(filePath)}`));
169
+ console.log();
170
+ console.log(chalk_1.default.bold('Package Info:'));
171
+ console.log(` Size: ${chalk_1.default.cyan(formatBytes(stats.size))}`);
172
+ console.log(` Modified: ${chalk_1.default.dim(stats.mtime.toLocaleString())}`);
173
+ console.log();
174
+ if (options.detailed) {
175
+ console.log(chalk_1.default.yellow('Use "prompd package validate" for detailed package inspection'));
176
+ console.log();
177
+ }
178
+ }
179
+ async function explainRegistryPackage(packageName, options) {
180
+ const client = new registry_1.RegistryClient(options.registry);
181
+ console.log(chalk_1.default.dim(`Fetching package info for ${packageName}...`));
182
+ console.log();
183
+ const info = await client.getPackageInfo(packageName);
184
+ const versions = await client.getPackageVersions(packageName);
185
+ console.log(chalk_1.default.bold(`\n📦 ${packageName}`));
186
+ console.log();
187
+ if (info.description) {
188
+ console.log(info.description);
189
+ console.log();
190
+ }
191
+ console.log(chalk_1.default.bold('Package Info:'));
192
+ console.log(` Name: ${chalk_1.default.cyan(info.name)}`);
193
+ if (info.version) {
194
+ console.log(` Version: ${chalk_1.default.cyan(info.version)}`);
195
+ }
196
+ console.log();
197
+ if (versions && versions.length > 0) {
198
+ console.log(chalk_1.default.bold('Available Versions:'));
199
+ const sortedVersions = versions.sort((a, b) => {
200
+ return b.localeCompare(a, undefined, { numeric: true, sensitivity: 'base' });
201
+ });
202
+ const displayVersions = options.detailed ? sortedVersions : sortedVersions.slice(0, 5);
203
+ displayVersions.forEach((version, index) => {
204
+ const isLatest = index === 0;
205
+ const marker = isLatest ? chalk_1.default.green(' (latest)') : '';
206
+ console.log(` • ${chalk_1.default.cyan(version)}${marker}`);
207
+ });
208
+ if (!options.detailed && sortedVersions.length > 5) {
209
+ console.log(` ${chalk_1.default.dim(`... and ${sortedVersions.length - 5} more (use --detailed to see all)`)}`);
210
+ }
211
+ console.log();
212
+ }
213
+ if (info.author) {
214
+ console.log(chalk_1.default.bold('Author:'));
215
+ console.log(` ${info.author}`);
216
+ console.log();
217
+ }
218
+ }
219
+ function formatBytes(bytes) {
220
+ if (bytes === 0)
221
+ return '0 Bytes';
222
+ const k = 1024;
223
+ const sizes = ['Bytes', 'KB', 'MB', 'GB'];
224
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
225
+ return Math.round((bytes / Math.pow(k, i)) * 100) / 100 + ' ' + sizes[i];
226
+ }
227
+ //# sourceMappingURL=explain.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../src/commands/explain.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createGitCommand(): Command;
3
+ //# sourceMappingURL=git.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,gBAAgB,IAAI,OAAO,CAqP1C"}
@@ -0,0 +1,306 @@
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.createGitCommand = createGitCommand;
37
+ const commander_1 = require("commander");
38
+ const child_process_1 = require("child_process");
39
+ const path_1 = require("path");
40
+ const security_1 = require("../lib/security");
41
+ function createGitCommand() {
42
+ const cmd = new commander_1.Command('git');
43
+ cmd.description('Git operations for .prmd files');
44
+ // Add subcommand
45
+ cmd
46
+ .command('add <files...>')
47
+ .description('Add .prmd files to git staging area')
48
+ .action(async (files) => {
49
+ for (const file of files) {
50
+ if (!file.endsWith('.prmd') && !file.endsWith('.pdflow')) {
51
+ console.warn(`Warning: Skipping non-prompd file: ${file}`);
52
+ continue;
53
+ }
54
+ try {
55
+ const safePath = (0, security_1.validateGitFilePath)(file);
56
+ await execGitCommand(['add', safePath]);
57
+ console.log(`Added ${safePath}`);
58
+ }
59
+ catch (error) {
60
+ if (error instanceof security_1.GitSecurityError) {
61
+ console.error(`Security error: ${error.message}`);
62
+ }
63
+ else {
64
+ console.error(`Error adding ${file}: ${error}`);
65
+ }
66
+ }
67
+ }
68
+ });
69
+ // Commit subcommand
70
+ cmd
71
+ .command('commit')
72
+ .description('Commit staged .prmd files')
73
+ .requiredOption('-m, --message <message>', 'Commit message')
74
+ .option('--auto-add', 'Automatically add modified .prmd files before committing')
75
+ .action(async (options) => {
76
+ try {
77
+ // Auto-add .prmd files if requested
78
+ if (options.autoAdd) {
79
+ const statusOutput = await execGitCommand(['status', '--porcelain']);
80
+ const lines = statusOutput.split('\n').filter(line => line.trim());
81
+ for (const line of lines) {
82
+ // Check for modified but not staged files (space + M in first two chars)
83
+ if (line.length >= 3 && line[0] === ' ' && line[1] === 'M') {
84
+ const filePath = line.substring(3).trim();
85
+ if (filePath.endsWith('.prmd') || filePath.endsWith('.pdflow')) {
86
+ try {
87
+ const safePath = (0, security_1.validateGitFilePath)(filePath);
88
+ await execGitCommand(['add', safePath]);
89
+ console.log(`Auto-staging: ${safePath}`);
90
+ }
91
+ catch (secError) {
92
+ if (secError instanceof security_1.GitSecurityError) {
93
+ console.warn(`Security warning: Skipping unsafe file path: ${secError.message}`);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ // Validate and commit
101
+ const safeMessage = (0, security_1.validateGitMessage)(options.message);
102
+ await execGitCommand(['commit', '-m', safeMessage]);
103
+ console.log(`Committed with message: ${safeMessage}`);
104
+ }
105
+ catch (error) {
106
+ if (error instanceof security_1.GitSecurityError) {
107
+ console.error(`Security error: ${error.message}`);
108
+ }
109
+ else if (error instanceof Error && error.message.includes('nothing to commit')) {
110
+ console.log('Nothing to commit');
111
+ }
112
+ else {
113
+ console.error(`Error committing: ${error}`);
114
+ }
115
+ }
116
+ });
117
+ // Status subcommand
118
+ cmd
119
+ .command('status')
120
+ .description('Show git status for .prmd files')
121
+ .action(async () => {
122
+ try {
123
+ const output = await execGitCommand(['status', '--porcelain']);
124
+ console.log('Git status for prompd files:');
125
+ const lines = output.split('\n').filter(line => (line.includes('.prmd') || line.includes('.pdflow')) && line.trim());
126
+ let found = false;
127
+ for (const line of lines) {
128
+ found = true;
129
+ const status = line.substring(0, 2);
130
+ const file = line.substring(3).trim();
131
+ let statusText = 'Modified';
132
+ if (status.includes('A'))
133
+ statusText = 'Added';
134
+ else if (status.includes('D'))
135
+ statusText = 'Deleted';
136
+ else if (status === '??')
137
+ statusText = 'Untracked';
138
+ else if (status[0] === 'M')
139
+ statusText = 'Staged';
140
+ else if (status[1] === 'M')
141
+ statusText = 'Modified';
142
+ console.log(` ${statusText}: ${file}`);
143
+ }
144
+ if (!found) {
145
+ console.log(' No prompd file changes');
146
+ }
147
+ }
148
+ catch (error) {
149
+ console.error(`Error checking git status: ${error}`);
150
+ }
151
+ });
152
+ // Checkout subcommand
153
+ cmd
154
+ .command('checkout <file> <version>')
155
+ .description('Checkout a specific version of a .prmd file')
156
+ .action(async (file, version) => {
157
+ if (!file.endsWith('.prmd') && !file.endsWith('.pdflow')) {
158
+ console.error(`Error: ${file} is not a prompd file`);
159
+ process.exit(1);
160
+ }
161
+ try {
162
+ // Validate inputs
163
+ const safeFile = (0, security_1.validateGitFilePath)(file);
164
+ let safeVersion = version;
165
+ // Validate version if it looks like semver
166
+ if (version.match(/^\d+\.\d+\.\d+/)) {
167
+ safeVersion = (0, security_1.validateVersionString)(version);
168
+ }
169
+ // Try semantic version tag first
170
+ let versionRef = safeVersion;
171
+ if (isValidSemver(safeVersion)) {
172
+ const baseName = safeFile.split('/').pop()?.replace('.prmd', '').replace('.pdflow', '') || 'file';
173
+ const tagName = `${baseName}-v${safeVersion}`;
174
+ // Check if tag exists
175
+ try {
176
+ const tags = await execGitCommand(['tag', '-l', tagName]);
177
+ if (tags.trim()) {
178
+ versionRef = tagName;
179
+ }
180
+ }
181
+ catch {
182
+ // Tag doesn't exist, use version as-is
183
+ }
184
+ }
185
+ // Get file content at version
186
+ const content = await execGitCommand(['show', `${versionRef}:${safeFile}`]);
187
+ // Write to file
188
+ const fs = await Promise.resolve().then(() => __importStar(require('fs')));
189
+ fs.writeFileSync((0, path_1.resolve)(safeFile), content, 'utf8');
190
+ console.log(`Checked out ${safeFile} @ ${version}`);
191
+ }
192
+ catch (error) {
193
+ if (error instanceof security_1.GitSecurityError) {
194
+ console.error(`Security error: ${error.message}`);
195
+ }
196
+ else {
197
+ console.error(`Error: Version '${version}' not found for ${file}`);
198
+ }
199
+ }
200
+ });
201
+ // Remove subcommand
202
+ cmd
203
+ .command('remove <files...>')
204
+ .description('Remove .prmd files from git tracking')
205
+ .option('--cached', 'Remove from index but keep in working directory')
206
+ .action(async (files, options) => {
207
+ for (const file of files) {
208
+ if (!file.endsWith('.prmd') && !file.endsWith('.pdflow')) {
209
+ console.warn(`Warning: Skipping non-prompd file: ${file}`);
210
+ continue;
211
+ }
212
+ try {
213
+ const safePath = (0, security_1.validateGitFilePath)(file);
214
+ const args = options.cached ? ['rm', '--cached', safePath] : ['rm', safePath];
215
+ await execGitCommand(args);
216
+ if (options.cached) {
217
+ console.log(`Removed ${safePath} from git index (kept in working directory)`);
218
+ }
219
+ else {
220
+ console.log(`Removed ${safePath} from git tracking`);
221
+ }
222
+ }
223
+ catch (error) {
224
+ if (error instanceof security_1.GitSecurityError) {
225
+ console.error(`Security error: ${error.message}`);
226
+ }
227
+ else {
228
+ console.error(`Error removing ${file}: ${error}`);
229
+ }
230
+ }
231
+ }
232
+ });
233
+ // Log subcommand - show version history for a file
234
+ cmd
235
+ .command('log <file>')
236
+ .description('Show version history for a .prmd file')
237
+ .option('-n, --limit <count>', 'Limit number of commits', '10')
238
+ .action(async (file, options) => {
239
+ if (!file.endsWith('.prmd') && !file.endsWith('.pdflow')) {
240
+ console.error(`Error: ${file} is not a prompd file`);
241
+ process.exit(1);
242
+ }
243
+ try {
244
+ const safePath = (0, security_1.validateGitFilePath)(file);
245
+ const limit = Math.min(parseInt(options.limit, 10) || 10, 100);
246
+ const output = await execGitCommand([
247
+ 'log',
248
+ `--max-count=${limit}`,
249
+ '--format=%h | %ad | %an | %s',
250
+ '--date=short',
251
+ '--',
252
+ safePath
253
+ ]);
254
+ if (!output.trim()) {
255
+ console.log(`No commits found for ${safePath}`);
256
+ return;
257
+ }
258
+ console.log(`Version history for ${safePath}:`);
259
+ console.log('----------------------------------------');
260
+ const lines = output.trim().split('\n');
261
+ for (const line of lines) {
262
+ console.log(` ${line}`);
263
+ }
264
+ }
265
+ catch (error) {
266
+ if (error instanceof security_1.GitSecurityError) {
267
+ console.error(`Security error: ${error.message}`);
268
+ }
269
+ else {
270
+ console.error(`Error getting log: ${error}`);
271
+ }
272
+ }
273
+ });
274
+ return cmd;
275
+ }
276
+ // Helper function to execute git commands securely
277
+ function execGitCommand(args) {
278
+ return new Promise((resolvePromise, reject) => {
279
+ const gitProcess = (0, child_process_1.spawn)('git', args, { stdio: 'pipe' });
280
+ let stdout = '';
281
+ let stderr = '';
282
+ gitProcess.stdout?.on('data', (data) => {
283
+ stdout += data.toString();
284
+ });
285
+ gitProcess.stderr?.on('data', (data) => {
286
+ stderr += data.toString();
287
+ });
288
+ gitProcess.on('close', (code) => {
289
+ if (code === 0) {
290
+ resolvePromise(stdout);
291
+ }
292
+ else {
293
+ reject(new Error(stderr || `Git command failed with code ${code}`));
294
+ }
295
+ });
296
+ gitProcess.on('error', (err) => {
297
+ reject(new Error(`Failed to spawn git: ${err.message}`));
298
+ });
299
+ });
300
+ }
301
+ // Helper function to validate semantic version
302
+ function isValidSemver(version) {
303
+ const semverRegex = /^\d+\.\d+\.\d+$/;
304
+ return semverRegex.test(version);
305
+ }
306
+ //# sourceMappingURL=git.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/commands/git.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare function createInitCommand(): Command;
3
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,wBAAgB,iBAAiB,IAAI,OAAO,CAwB3C"}