@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
package/dist/index.js ADDED
@@ -0,0 +1,388 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ const commander_1 = require("commander");
38
+ const child_process_1 = require("child_process");
39
+ const create_1 = require("./commands/create");
40
+ const init_1 = require("./commands/init");
41
+ const validate_1 = require("./commands/validate");
42
+ const list_1 = require("./commands/list");
43
+ const show_1 = require("./commands/show");
44
+ const explain_1 = require("./commands/explain");
45
+ const run_1 = require("./commands/run");
46
+ const compile_1 = require("./commands/compile");
47
+ const version_1 = require("./commands/version");
48
+ const git_1 = require("./commands/git");
49
+ const mcp_1 = require("./commands/mcp");
50
+ const registry_1 = require("./commands/registry");
51
+ const package_1 = require("./commands/package");
52
+ const config_1 = require("./commands/config");
53
+ const cache_1 = require("./commands/cache");
54
+ const uninstall_1 = require("./commands/uninstall");
55
+ const namespace_1 = require("./commands/namespace");
56
+ const deps_1 = require("./commands/deps");
57
+ const program = new commander_1.Command();
58
+ program
59
+ .name('prompd')
60
+ .description('CLI for structured prompt definitions')
61
+ .version('0.3.3');
62
+ // Core commands
63
+ program.addCommand((0, config_1.createConfigCommand)());
64
+ program.addCommand((0, create_1.createCreateCommand)());
65
+ program.addCommand((0, init_1.createInitCommand)());
66
+ program.addCommand((0, validate_1.createValidateCommand)());
67
+ program.addCommand((0, list_1.createListCommand)());
68
+ program.addCommand((0, show_1.createShowCommand)());
69
+ program.addCommand((0, explain_1.createExplainCommand)());
70
+ program.addCommand((0, run_1.createRunCommand)());
71
+ program.addCommand((0, compile_1.createCompileCommand)());
72
+ program.addCommand((0, package_1.createPackageCommand)());
73
+ program.addCommand((0, package_1.createPackCommand)()); // Alias for 'package create'
74
+ program.addCommand((0, cache_1.createCacheCommand)());
75
+ program.addCommand((0, version_1.createVersionCommand)());
76
+ program.addCommand((0, git_1.createGitCommand)());
77
+ program.addCommand((0, mcp_1.createMCPCommand)());
78
+ // Registry operations (top-level for convenience)
79
+ program.addCommand((0, registry_1.createLoginCommand)());
80
+ program.addCommand((0, registry_1.createLogoutCommand)());
81
+ program.addCommand((0, registry_1.createSearchCommand)());
82
+ program.addCommand((0, registry_1.createInstallCommand)());
83
+ program.addCommand((0, uninstall_1.createUninstallCommand)());
84
+ program.addCommand((0, registry_1.createPublishCommand)());
85
+ program.addCommand((0, registry_1.createVersionsCommand)());
86
+ program.addCommand((0, namespace_1.createNamespaceCommand)());
87
+ program.addCommand((0, deps_1.createDepsCommand)());
88
+ // Git operations (simplified versions)
89
+ const gitCommand = new commander_1.Command('git');
90
+ gitCommand.description('Git operations for .prmd files');
91
+ gitCommand
92
+ .command('add')
93
+ .description('Add .prmd files to git staging area')
94
+ .argument('<files...>', '.prmd files to add')
95
+ .option('-v, --verbose', 'Show git output')
96
+ .action(async (files, options) => {
97
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
98
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
99
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
100
+ try {
101
+ for (const file of files) {
102
+ if (!file.endsWith('.prmd')) {
103
+ console.log(chalk.yellow(`Skipping non-.prmd file: ${file}`));
104
+ continue;
105
+ }
106
+ // Sanitize file path and use spawn instead of execSync
107
+ const sanitizedFile = path.normalize(file).replace(/\\/g, '/');
108
+ if (sanitizedFile.includes('..') || sanitizedFile.startsWith('/')) {
109
+ console.error(chalk.red(`Invalid file path: ${file}`));
110
+ continue;
111
+ }
112
+ await new Promise((resolve, reject) => {
113
+ const child = spawn('git', ['add', sanitizedFile], {
114
+ stdio: options.verbose ? 'inherit' : 'pipe'
115
+ });
116
+ child.on('close', (code) => {
117
+ if (code === 0) {
118
+ console.log(chalk.green(`✓ Added ${file}`));
119
+ resolve(undefined);
120
+ }
121
+ else {
122
+ reject(new Error(`git add failed with code ${code}`));
123
+ }
124
+ });
125
+ });
126
+ }
127
+ }
128
+ catch (error) {
129
+ console.error(chalk.red('Error adding files:'), error);
130
+ process.exit(1);
131
+ }
132
+ });
133
+ gitCommand
134
+ .command('status')
135
+ .description('Show git status for .prmd files')
136
+ .option('-p, --path <path>', 'Check status for specific path')
137
+ .action(async (options) => {
138
+ const { execSync } = await Promise.resolve().then(() => __importStar(require('child_process')));
139
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
140
+ try {
141
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
142
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
143
+ let args = ['status', '--short'];
144
+ if (options.path) {
145
+ // Sanitize path input
146
+ const sanitizedPath = path.normalize(options.path).replace(/\\/g, '/');
147
+ if (sanitizedPath.includes('..') || sanitizedPath.startsWith('/')) {
148
+ console.error(chalk.red(`Invalid path: ${options.path}`));
149
+ process.exit(1);
150
+ }
151
+ args.push(sanitizedPath);
152
+ }
153
+ const output = await new Promise((resolve, reject) => {
154
+ let stdout = '';
155
+ const child = spawn('git', args, { stdio: 'pipe' });
156
+ child.stdout?.on('data', (data) => stdout += data.toString());
157
+ child.on('close', (code) => {
158
+ if (code === 0)
159
+ resolve(stdout);
160
+ else
161
+ reject(new Error(`git status failed with code ${code}`));
162
+ });
163
+ });
164
+ if (!output.trim()) {
165
+ console.log(chalk.green('No changes to .prmd files'));
166
+ return;
167
+ }
168
+ // Filter for .prmd files
169
+ const lines = output.trim().split('\n');
170
+ const prompdChanges = lines.filter(line => line.includes('.prmd'));
171
+ if (prompdChanges.length > 0) {
172
+ console.log(chalk.bold('Git status for .prmd files:'));
173
+ for (const change of prompdChanges) {
174
+ const statusCode = change.substring(0, 2);
175
+ const filePath = change.substring(3);
176
+ let statusText = 'Modified';
177
+ let statusColor = 'yellow';
178
+ if (statusCode.includes('A')) {
179
+ statusText = 'Added';
180
+ statusColor = 'green';
181
+ }
182
+ else if (statusCode.includes('D')) {
183
+ statusText = 'Deleted';
184
+ statusColor = 'red';
185
+ }
186
+ else if (statusCode.includes('??')) {
187
+ statusText = 'Untracked';
188
+ statusColor = 'blue';
189
+ }
190
+ const chalkFn = chalk[statusColor];
191
+ console.log(` ${chalkFn(statusText.padEnd(10))} ${filePath}`);
192
+ }
193
+ }
194
+ else {
195
+ console.log(chalk.gray('No .prmd file changes'));
196
+ }
197
+ }
198
+ catch (error) {
199
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
200
+ console.error(chalk.red('Error checking status:'), error);
201
+ process.exit(1);
202
+ }
203
+ });
204
+ gitCommand
205
+ .command('commit')
206
+ .description('Commit staged .prmd files')
207
+ .option('-m, --message <message>', 'Commit message')
208
+ .option('-v, --verbose', 'Show git output')
209
+ .action(async (options) => {
210
+ const { execSync } = await Promise.resolve().then(() => __importStar(require('child_process')));
211
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
212
+ if (!options.message) {
213
+ console.error(chalk.red('Error: commit message is required'));
214
+ console.log('Usage: prompd git commit -m "Your commit message"');
215
+ process.exit(1);
216
+ }
217
+ try {
218
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
219
+ // Validate commit message to prevent injection
220
+ if (options.message.includes('`') || options.message.includes('$') || options.message.includes(';')) {
221
+ console.error(chalk.red('Error: commit message contains invalid characters'));
222
+ process.exit(1);
223
+ }
224
+ await new Promise((resolve, reject) => {
225
+ const child = spawn('git', ['commit', '-m', options.message], {
226
+ stdio: options.verbose ? 'inherit' : 'pipe'
227
+ });
228
+ child.on('close', (code) => {
229
+ if (code === 0) {
230
+ console.log(chalk.green(`✓ Committed with message: ${options.message}`));
231
+ resolve();
232
+ }
233
+ else {
234
+ reject(new Error(`git commit failed with code ${code}`));
235
+ }
236
+ });
237
+ });
238
+ }
239
+ catch (error) {
240
+ console.error(chalk.red('Error committing:'), error);
241
+ process.exit(1);
242
+ }
243
+ });
244
+ gitCommand
245
+ .command('checkout')
246
+ .description('Checkout a specific version of a .prmd file')
247
+ .argument('<file>', '.prmd file path')
248
+ .argument('<version>', 'Version to checkout (e.g., v1.2.3, HEAD, commit hash)')
249
+ .option('-v, --verbose', 'Show detailed output')
250
+ .action(async (file, version, options) => {
251
+ const { execSync } = await Promise.resolve().then(() => __importStar(require('child_process')));
252
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
253
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
254
+ try {
255
+ if (!file.endsWith('.prmd')) {
256
+ console.error(chalk.red(`Error: ${file} is not a .prmd file`));
257
+ process.exit(1);
258
+ }
259
+ // Check if version is a semantic version (e.g., v1.2.3 or 1.2.3)
260
+ const semverRegex = /^v?\d+\.\d+\.\d+$/;
261
+ let versionRef = version;
262
+ if (semverRegex.test(version)) {
263
+ // Try to use a tag with the file basename
264
+ const basename = path.basename(file, '.prmd');
265
+ const tagName = `${basename}-v${version.replace(/^v/, '')}`;
266
+ try {
267
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
268
+ // Check if tag exists
269
+ await new Promise((resolve, reject) => {
270
+ const child = spawn('git', ['tag', '-l', tagName], { stdio: 'pipe' });
271
+ child.on('close', (code) => {
272
+ if (code === 0) {
273
+ versionRef = tagName;
274
+ if (options.verbose) {
275
+ console.log(chalk.gray(`Using tag: ${tagName}`));
276
+ }
277
+ resolve();
278
+ }
279
+ else {
280
+ if (options.verbose) {
281
+ console.log(chalk.gray(`Tag ${tagName} not found, using ${version}`));
282
+ }
283
+ resolve();
284
+ }
285
+ });
286
+ });
287
+ }
288
+ catch {
289
+ // Tag doesn't exist, use version as-is
290
+ if (options.verbose) {
291
+ console.log(chalk.gray(`Tag ${tagName} not found, using ${version}`));
292
+ }
293
+ }
294
+ }
295
+ // Sanitize inputs
296
+ const sanitizedFile = path.normalize(file).replace(/\\/g, '/');
297
+ if (sanitizedFile.includes('..') || sanitizedFile.startsWith('/')) {
298
+ console.error(chalk.red(`Invalid file path: ${file}`));
299
+ process.exit(1);
300
+ }
301
+ // Validate version reference
302
+ if (!/^[a-zA-Z0-9._-]+$/.test(versionRef)) {
303
+ console.error(chalk.red(`Invalid version reference: ${versionRef}`));
304
+ process.exit(1);
305
+ }
306
+ // Get file content at version
307
+ const content = await new Promise((resolve, reject) => {
308
+ let stdout = '';
309
+ const child = (0, child_process_1.spawn)('git', ['show', `${versionRef}:${sanitizedFile}`], { stdio: 'pipe' });
310
+ child.stdout?.on('data', (data) => stdout += data);
311
+ child.on('close', (code) => {
312
+ if (code === 0)
313
+ resolve(stdout);
314
+ else
315
+ reject(new Error(`git show failed with code ${code}`));
316
+ });
317
+ });
318
+ // Write content back to file
319
+ const fs = await Promise.resolve().then(() => __importStar(require('fs/promises')));
320
+ await fs.writeFile(file, content, 'utf-8');
321
+ console.log(chalk.green(`✓ Checked out ${file} @ ${version}`));
322
+ }
323
+ catch (error) {
324
+ if (error.message?.includes('pathspec')) {
325
+ console.error(chalk.red(`Error: Version '${version}' not found for ${file}`));
326
+ }
327
+ else {
328
+ console.error(chalk.red('Error checking out file:'), error.message || error);
329
+ }
330
+ process.exit(1);
331
+ }
332
+ });
333
+ gitCommand
334
+ .command('remove')
335
+ .description('Remove .prmd files from git staging area')
336
+ .argument('<files...>', '.prmd files to unstage')
337
+ .option('-v, --verbose', 'Show git output')
338
+ .action(async (files, options) => {
339
+ const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
340
+ const chalk = (await Promise.resolve().then(() => __importStar(require('chalk')))).default;
341
+ const path = await Promise.resolve().then(() => __importStar(require('path')));
342
+ try {
343
+ for (const file of files) {
344
+ if (!file.endsWith('.prmd')) {
345
+ console.log(chalk.yellow(`Skipping non-.prmd file: ${file}`));
346
+ continue;
347
+ }
348
+ // Sanitize file path
349
+ const sanitizedFile = path.normalize(file).replace(/\\/g, '/');
350
+ if (sanitizedFile.includes('..') || sanitizedFile.startsWith('/')) {
351
+ console.error(chalk.red(`Invalid file path: ${file}`));
352
+ continue;
353
+ }
354
+ await new Promise((resolve, reject) => {
355
+ const child = spawn('git', ['reset', 'HEAD', sanitizedFile], {
356
+ stdio: options.verbose ? 'inherit' : 'pipe'
357
+ });
358
+ child.on('close', (code) => {
359
+ if (code === 0) {
360
+ console.log(chalk.green(`✓ Removed ${file} from staging area`));
361
+ resolve();
362
+ }
363
+ else {
364
+ reject(new Error(`git reset failed with code ${code}`));
365
+ }
366
+ });
367
+ });
368
+ }
369
+ }
370
+ catch (error) {
371
+ console.error(chalk.red('Error removing files from staging:'), error);
372
+ process.exit(1);
373
+ }
374
+ });
375
+ program.addCommand(gitCommand);
376
+ // Error handling
377
+ program.configureOutput({
378
+ outputError: (str, write) => {
379
+ write(str);
380
+ }
381
+ });
382
+ // Parse arguments - always run when loaded (for bin wrapper compatibility)
383
+ program.parseAsync(process.argv).catch((error) => {
384
+ console.error('CLI Error:', error);
385
+ process.exit(1);
386
+ });
387
+ exports.default = program;
388
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,yCAAoC;AACpC,iDAAsC;AAEtC,8CAAwD;AACxD,0CAAoD;AACpD,kDAA4D;AAC5D,0CAAoD;AACpD,0CAAoD;AACpD,gDAA0D;AAC1D,wCAAkD;AAClD,gDAA0D;AAC1D,gDAA0D;AAC1D,wCAAkD;AAClD,wCAAkD;AAClD,kDAAsK;AACtK,gDAA6E;AAC7E,8CAAwD;AACxD,4CAAsD;AACtD,oDAA8D;AAC9D,oDAA8D;AAC9D,0CAAoD;AAEpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,QAAQ,CAAC;KACd,WAAW,CAAC,uCAAuC,CAAC;KACpD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,gBAAgB;AAChB,OAAO,CAAC,UAAU,CAAC,IAAA,4BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,4BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AACxC,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,sBAAgB,GAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,2BAAiB,GAAE,CAAC,CAAC,CAAC,6BAA6B;AACtE,OAAO,CAAC,UAAU,CAAC,IAAA,0BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,sBAAgB,GAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,IAAA,sBAAgB,GAAE,CAAC,CAAC;AAEvC,kDAAkD;AAClD,OAAO,CAAC,UAAU,CAAC,IAAA,6BAAkB,GAAE,CAAC,CAAC;AACzC,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,8BAAmB,GAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,UAAU,CAAC,IAAA,+BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,kCAAsB,GAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,IAAA,+BAAoB,GAAE,CAAC,CAAC;AAC3C,OAAO,CAAC,UAAU,CAAC,IAAA,gCAAqB,GAAE,CAAC,CAAC;AAC5C,OAAO,CAAC,UAAU,CAAC,IAAA,kCAAsB,GAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,IAAA,wBAAiB,GAAE,CAAC,CAAC;AAExC,uCAAuC;AACvC,MAAM,UAAU,GAAG,IAAI,mBAAO,CAAC,KAAK,CAAC,CAAC;AACtC,UAAU,CAAC,WAAW,CAAC,gCAAgC,CAAC,CAAC;AAEzD,UAAU;KACP,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,YAAY,EAAE,oBAAoB,CAAC;KAC5C,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,uDAAuD;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,EAAE;oBACjD,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CAAC;wBAC5C,OAAO,CAAC,SAAS,CAAC,CAAC;oBACrB,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;oBACxD,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iCAAiC,CAAC;KAC9C,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;KAC7D,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;QAChD,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;QAElC,IAAI,IAAI,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,sBAAsB;YACtB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YACvE,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3D,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACpD,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;;oBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YACtD,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAEnE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAErC,IAAI,UAAU,GAAG,UAAU,CAAC;gBAC5B,IAAI,WAAW,GAAG,QAAQ,CAAC;gBAE3B,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC7B,UAAU,GAAG,OAAO,CAAC;oBACrB,WAAW,GAAG,OAAO,CAAC;gBACxB,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpC,UAAU,GAAG,SAAS,CAAC;oBACvB,WAAW,GAAG,KAAK,CAAC;gBACtB,CAAC;qBAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,UAAU,GAAG,WAAW,CAAC;oBACzB,WAAW,GAAG,MAAM,CAAC;gBACvB,CAAC;gBAED,MAAM,OAAO,GAAI,KAAa,CAAC,WAAW,CAAC,CAAC;gBAC5C,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACnD,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,yBAAyB,EAAE,gBAAgB,CAAC;KACnD,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;IACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;IAE9C,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;QAEhD,+CAA+C;QAC/C,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACpG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5D,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;aAC5C,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACzE,OAAO,EAAE,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,CAAC,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,6CAA6C,CAAC;KAC1D,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;KACrC,QAAQ,CAAC,WAAW,EAAE,uDAAuD,CAAC;KAC9E,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAAC;KAC/C,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,OAAe,EAAE,OAAO,EAAE,EAAE;IACvD,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IACnD,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,IAAI,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,IAAI,sBAAsB,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,iEAAiE;QACjE,MAAM,WAAW,GAAG,mBAAmB,CAAC;QACxC,IAAI,UAAU,GAAG,OAAO,CAAC;QAEzB,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,GAAG,QAAQ,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;YAE5D,IAAI,CAAC;gBACH,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;gBAChD,sBAAsB;gBACtB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACtE,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;4BACf,UAAU,GAAG,OAAO,CAAC;4BACrB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,EAAE,CAAC,CAAC,CAAC;4BACnD,CAAC;4BACD,OAAO,EAAE,CAAC;wBACZ,CAAC;6BAAM,CAAC;4BACN,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gCACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,qBAAqB,OAAO,EAAE,CAAC,CAAC,CAAC;4BACxE,CAAC;4BACD,OAAO,EAAE,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;gBACvC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,OAAO,qBAAqB,OAAO,EAAE,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,6BAA6B;QAC7B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC5D,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,KAAK,EAAE,CAAC,MAAM,EAAE,GAAG,UAAU,IAAI,aAAa,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC1F,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;YACnD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,KAAK,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;;oBAC3B,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,IAAI,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,EAAE,GAAG,wDAAa,aAAa,GAAC,CAAC;QACvC,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE3C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,iBAAiB,IAAI,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;IAEjE,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,IAAI,KAAK,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mBAAmB,OAAO,mBAAmB,IAAI,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,0CAA0C,CAAC;KACvD,QAAQ,CAAC,YAAY,EAAE,wBAAwB,CAAC;KAChD,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;KAC1C,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,OAAO,EAAE,EAAE;IACzC,MAAM,EAAE,KAAK,EAAE,GAAG,wDAAa,eAAe,GAAC,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,wDAAa,OAAO,GAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,wDAAa,MAAM,GAAC,CAAC;IAElC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;YAED,qBAAqB;YACrB,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC/D,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,CAAC;gBACvD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE;oBAC3D,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;iBAC5C,CAAC,CAAC;gBACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACzB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,IAAI,oBAAoB,CAAC,CAAC,CAAC;wBAChE,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,IAAI,KAAK,CAAC,8BAA8B,IAAI,EAAE,CAAC,CAAC,CAAC;oBAC1D,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE,KAAK,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AAE/B,iBAAiB;AACjB,OAAO,CAAC,eAAe,CAAC;IACtB,WAAW,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC1B,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAC,CAAC;AAEH,2EAA2E;AAC3E,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IAC/C,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,kBAAe,OAAO,CAAC"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * OAuth 2.0 Authentication System for Prompd Workflows
3
+ * Enterprise-grade authentication with security best practices
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ export interface AuthConfig {
7
+ jwtSecret: string;
8
+ jwtExpiresIn: string;
9
+ bcryptRounds: number;
10
+ oauth: {
11
+ clientId: string;
12
+ clientSecret: string;
13
+ redirectUri: string;
14
+ scopes: string[];
15
+ authorizationUrl: string;
16
+ tokenUrl: string;
17
+ };
18
+ sessionConfig: {
19
+ maxAge: number;
20
+ secure: boolean;
21
+ httpOnly: boolean;
22
+ sameSite: 'strict' | 'lax' | 'none';
23
+ };
24
+ }
25
+ export interface User {
26
+ id: string;
27
+ email: string;
28
+ name: string;
29
+ roles: string[];
30
+ permissions: string[];
31
+ createdAt: Date;
32
+ lastLoginAt?: Date;
33
+ }
34
+ export interface AuthSession {
35
+ sessionId: string;
36
+ userId: string;
37
+ createdAt: Date;
38
+ expiresAt: Date;
39
+ lastAccessAt: Date;
40
+ metadata: {
41
+ userAgent?: string;
42
+ ipAddress?: string;
43
+ workflowAccess?: string[];
44
+ };
45
+ }
46
+ export interface OAuth2Token {
47
+ accessToken: string;
48
+ refreshToken?: string;
49
+ tokenType: string;
50
+ expiresIn: number;
51
+ scope: string;
52
+ issuedAt: Date;
53
+ }
54
+ export interface WorkflowPermission {
55
+ workflowId: string;
56
+ userId: string;
57
+ permissions: ('read' | 'execute' | 'modify' | 'admin')[];
58
+ grantedAt: Date;
59
+ grantedBy: string;
60
+ }
61
+ /**
62
+ * Core authentication manager
63
+ */
64
+ export declare class AuthManager extends EventEmitter {
65
+ private config;
66
+ private sessions;
67
+ private users;
68
+ private workflowPermissions;
69
+ private oauthStates;
70
+ constructor(config: AuthConfig);
71
+ /**
72
+ * Generate OAuth 2.0 authorization URL with PKCE
73
+ */
74
+ generateAuthUrl(userId?: string): {
75
+ authUrl: string;
76
+ state: string;
77
+ codeVerifier: string;
78
+ };
79
+ /**
80
+ * Exchange OAuth code for tokens
81
+ */
82
+ exchangeCodeForTokens(code: string, state: string): Promise<OAuth2Token>;
83
+ /**
84
+ * Create authenticated session
85
+ */
86
+ createSession(user: User, metadata?: AuthSession['metadata']): Promise<AuthSession>;
87
+ /**
88
+ * Validate and refresh session
89
+ */
90
+ validateSession(sessionId: string): Promise<AuthSession | null>;
91
+ /**
92
+ * Generate JWT token for API access
93
+ */
94
+ generateJWT(user: User, permissions?: string[]): string;
95
+ /**
96
+ * Verify JWT token
97
+ */
98
+ verifyJWT(token: string): any;
99
+ /**
100
+ * Check workflow permissions
101
+ */
102
+ checkWorkflowPermission(userId: string, workflowId: string, permission: 'read' | 'execute' | 'modify' | 'admin'): Promise<boolean>;
103
+ /**
104
+ * Grant workflow permissions
105
+ */
106
+ grantWorkflowPermission(workflowId: string, userId: string, permissions: ('read' | 'execute' | 'modify' | 'admin')[], grantedBy: string): Promise<void>;
107
+ /**
108
+ * Revoke workflow permissions
109
+ */
110
+ revokeWorkflowPermission(workflowId: string, userId: string, revokedBy: string): Promise<void>;
111
+ /**
112
+ * Create or update user
113
+ */
114
+ createUser(userData: Omit<User, 'id' | 'createdAt'>): Promise<User>;
115
+ /**
116
+ * Get user by ID
117
+ */
118
+ getUser(userId: string): Promise<User | null>;
119
+ /**
120
+ * Hash password securely
121
+ */
122
+ hashPassword(password: string): Promise<string>;
123
+ /**
124
+ * Verify password
125
+ */
126
+ verifyPassword(password: string, hash: string): Promise<boolean>;
127
+ /**
128
+ * Destroy session
129
+ */
130
+ destroySession(sessionId: string): Promise<void>;
131
+ private requestTokens;
132
+ private generateCodeVerifier;
133
+ private generateCodeChallenge;
134
+ private generateSecureToken;
135
+ private setupSessionCleanup;
136
+ }
137
+ /**
138
+ * Authentication middleware for workflow execution
139
+ */
140
+ export declare class AuthMiddleware {
141
+ private authManager;
142
+ constructor(authManager: AuthManager);
143
+ /**
144
+ * Middleware for session-based authentication
145
+ */
146
+ authenticateSession(sessionId: string): Promise<User | null>;
147
+ /**
148
+ * Middleware for JWT-based authentication
149
+ */
150
+ authenticateJWT(token: string): Promise<User | null>;
151
+ /**
152
+ * Authorize workflow execution
153
+ */
154
+ authorizeWorkflowExecution(userId: string, workflowId: string): Promise<boolean>;
155
+ /**
156
+ * Authorize workflow modification
157
+ */
158
+ authorizeWorkflowModification(userId: string, workflowId: string): Promise<boolean>;
159
+ }
160
+ /**
161
+ * Default authentication configuration
162
+ */
163
+ export declare const createDefaultAuthConfig: () => AuthConfig;
164
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/lib/auth.ts"],"names":[],"mappings":"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"}