@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,202 @@
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.VersionManager = void 0;
37
+ const fs = __importStar(require("fs-extra"));
38
+ const path = __importStar(require("path"));
39
+ const yaml = __importStar(require("yaml"));
40
+ const semver = __importStar(require("semver"));
41
+ const child_process_1 = require("child_process");
42
+ const parser_1 = require("./parser");
43
+ class VersionManager {
44
+ constructor() {
45
+ this.parser = new parser_1.PrompdParser();
46
+ }
47
+ async bumpVersion(filePath, bumpType) {
48
+ const prompd = await this.parser.parseFile(filePath);
49
+ const currentVersion = prompd.metadata.version || '0.0.0';
50
+ const newVersion = semver.inc(currentVersion, bumpType);
51
+ if (!newVersion) {
52
+ throw new Error(`Failed to bump version from ${currentVersion}`);
53
+ }
54
+ // Update version in file
55
+ await this.updateVersionInFile(filePath, newVersion);
56
+ // Create git commit and tag
57
+ const commitMessage = `Bump ${path.basename(filePath)} to ${newVersion}`;
58
+ try {
59
+ await this.gitCommitAndTag(filePath, newVersion, commitMessage);
60
+ }
61
+ catch (error) {
62
+ console.warn('File updated but git operations failed:', error);
63
+ }
64
+ return newVersion;
65
+ }
66
+ async updateVersionInFile(filePath, newVersion) {
67
+ const content = await fs.readFile(filePath, 'utf-8');
68
+ if (!content.startsWith('---\n')) {
69
+ throw new Error('File must start with YAML frontmatter (---)');
70
+ }
71
+ const parts = content.slice(4).split('\n---\n', 2);
72
+ if (parts.length !== 2) {
73
+ throw new Error('Invalid frontmatter format');
74
+ }
75
+ const [yamlContent, markdownContent] = parts;
76
+ // Parse and update YAML
77
+ let metadata = yaml.parse(yamlContent) || {};
78
+ metadata.version = newVersion;
79
+ // Write back to file
80
+ const updatedYaml = yaml.stringify(metadata);
81
+ const updatedContent = `---\n${updatedYaml}---\n${markdownContent}`;
82
+ await fs.writeFile(filePath, updatedContent, 'utf-8');
83
+ }
84
+ async gitCommitAndTag(filePath, version, message) {
85
+ try {
86
+ // Add file to git
87
+ (0, child_process_1.execSync)(`git add "${filePath}"`, { stdio: 'pipe' });
88
+ // Commit
89
+ (0, child_process_1.execSync)(`git commit -m "${message}"`, { stdio: 'pipe' });
90
+ // Create tag
91
+ const tagName = `${path.basename(filePath, '.prmd')}-v${version}`;
92
+ (0, child_process_1.execSync)(`git tag "${tagName}"`, { stdio: 'pipe' });
93
+ console.log(`✓ Created commit and tag: ${tagName}`);
94
+ }
95
+ catch (error) {
96
+ throw new Error(`Git operation failed: ${error}`);
97
+ }
98
+ }
99
+ async getVersionHistory(filePath, limit = 10) {
100
+ try {
101
+ const basename = path.basename(filePath, '.prmd');
102
+ const command = `git log --tags --simplify-by-decoration --pretty=format:"%d|%H|%ai|%s" -n ${limit} -- "${filePath}"`;
103
+ const output = (0, child_process_1.execSync)(command, { encoding: 'utf-8', stdio: 'pipe' });
104
+ const tags = [];
105
+ const lines = output.trim().split('\n').filter(line => line.trim());
106
+ for (const line of lines) {
107
+ const parts = line.split('|', 4);
108
+ if (parts.length === 4 && parts[0].includes('tag:')) {
109
+ const tagMatch = parts[0].match(/tag: ([^,)]+)/);
110
+ if (tagMatch) {
111
+ tags.push({
112
+ tag: tagMatch[1].trim(),
113
+ commit: parts[1],
114
+ date: parts[2].substring(0, 10), // Just the date part
115
+ message: parts[3]
116
+ });
117
+ }
118
+ }
119
+ }
120
+ return tags;
121
+ }
122
+ catch (error) {
123
+ return [];
124
+ }
125
+ }
126
+ async validateVersion(filePath, checkGit = false) {
127
+ const issues = [];
128
+ try {
129
+ const prompd = await this.parser.parseFile(filePath);
130
+ const currentVersion = prompd.metadata.version;
131
+ if (!currentVersion) {
132
+ issues.push('No version specified in file');
133
+ return { valid: false, issues };
134
+ }
135
+ // Validate semantic version format
136
+ if (!semver.valid(currentVersion)) {
137
+ issues.push(`Invalid semantic version: ${currentVersion}`);
138
+ return { valid: false, issues };
139
+ }
140
+ if (checkGit) {
141
+ // Check if version matches latest git tag
142
+ const latestTag = await this.getLatestGitTag(filePath);
143
+ if (latestTag && latestTag !== currentVersion) {
144
+ issues.push(`Version mismatch: file version (${currentVersion}) vs latest git tag (${latestTag})`);
145
+ }
146
+ }
147
+ return { valid: issues.length === 0, issues };
148
+ }
149
+ catch (error) {
150
+ issues.push(error instanceof Error ? error.message : 'Unknown error');
151
+ return { valid: false, issues };
152
+ }
153
+ }
154
+ async getLatestGitTag(filePath) {
155
+ try {
156
+ const history = await this.getVersionHistory(filePath, 1);
157
+ return history.length > 0 ? history[0].tag : null;
158
+ }
159
+ catch (error) {
160
+ return null;
161
+ }
162
+ }
163
+ async suggestVersionBump(currentVersion, changes) {
164
+ const suggestions = {
165
+ patch: semver.inc(currentVersion, 'patch') || '0.0.1',
166
+ minor: semver.inc(currentVersion, 'minor') || '0.1.0',
167
+ major: semver.inc(currentVersion, 'major') || '1.0.0'
168
+ };
169
+ // Simple heuristic based on change description
170
+ let recommended = 'patch';
171
+ let reason = 'Default patch version for bug fixes and small changes';
172
+ if (changes) {
173
+ const lowerChanges = changes.toLowerCase();
174
+ if (lowerChanges.includes('breaking') || lowerChanges.includes('major')) {
175
+ recommended = 'major';
176
+ reason = 'Major version recommended due to breaking changes';
177
+ }
178
+ else if (lowerChanges.includes('feature') || lowerChanges.includes('add') || lowerChanges.includes('new')) {
179
+ recommended = 'minor';
180
+ reason = 'Minor version recommended for new features';
181
+ }
182
+ }
183
+ return {
184
+ current: currentVersion,
185
+ recommended,
186
+ suggestions,
187
+ reason
188
+ };
189
+ }
190
+ async diffVersions(filePath, version1, version2) {
191
+ try {
192
+ const basename = path.basename(filePath, '.prmd');
193
+ const command = `git diff "${basename}-v${version1}" "${basename}-v${version2}" -- "${filePath}"`;
194
+ return (0, child_process_1.execSync)(command, { encoding: 'utf-8', stdio: 'pipe' });
195
+ }
196
+ catch (error) {
197
+ throw new Error(`Git diff failed: ${error}`);
198
+ }
199
+ }
200
+ }
201
+ exports.VersionManager = VersionManager;
202
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/lib/version.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Prompd Workflow Execution Engine
3
+ * Enterprise-grade LLM workflow chaining with OAuth, security, and RPC
4
+ */
5
+ import { EventEmitter } from 'events';
6
+ import { PrompdFlowDocument } from './workflow';
7
+ export interface WorkflowExecutionRequest {
8
+ workflowId: string;
9
+ parameters: Record<string, any>;
10
+ userId?: string;
11
+ sessionId?: string;
12
+ metadata?: Record<string, any>;
13
+ }
14
+ export interface WorkflowExecutionResponse {
15
+ success: boolean;
16
+ executionId: string;
17
+ result?: any;
18
+ error?: string;
19
+ metrics: ExecutionMetrics;
20
+ logs: ExecutionLog[];
21
+ }
22
+ export interface ExecutionMetrics {
23
+ startTime: Date;
24
+ endTime: Date;
25
+ durationMs: number;
26
+ nodesExecuted: number;
27
+ llmCalls: number;
28
+ totalTokens: number;
29
+ costs: {
30
+ totalCost: number;
31
+ breakdown: Record<string, number>;
32
+ };
33
+ }
34
+ export interface ExecutionLog {
35
+ timestamp: Date;
36
+ level: 'debug' | 'info' | 'warn' | 'error';
37
+ nodeId?: string;
38
+ message: string;
39
+ data?: any;
40
+ }
41
+ export interface NodeExecutionContext {
42
+ nodeId: string;
43
+ inputs: Record<string, any>;
44
+ outputs: Record<string, any>;
45
+ variables: Map<string, any>;
46
+ metadata: {
47
+ executionId: string;
48
+ userId?: string;
49
+ startTime: Date;
50
+ };
51
+ }
52
+ export interface ExecutionPlan {
53
+ nodes: ExecutionNode[];
54
+ dependencies: Map<string, string[]>;
55
+ parallelGroups: string[][];
56
+ }
57
+ export interface ExecutionNode {
58
+ id: string;
59
+ type: string;
60
+ config: any;
61
+ dependencies: string[];
62
+ canRunInParallel: boolean;
63
+ }
64
+ /**
65
+ * Core workflow execution engine
66
+ */
67
+ export declare class WorkflowEngine extends EventEmitter {
68
+ private workflows;
69
+ private executions;
70
+ private nodeExecutors;
71
+ constructor();
72
+ /**
73
+ * Register a workflow for execution
74
+ */
75
+ registerWorkflow(workflow: PrompdFlowDocument): Promise<void>;
76
+ /**
77
+ * Execute a workflow with parameters
78
+ */
79
+ executeWorkflow(request: WorkflowExecutionRequest): Promise<WorkflowExecutionResponse>;
80
+ /**
81
+ * Get execution status
82
+ */
83
+ getExecutionStatus(executionId: string): any;
84
+ private setupNodeExecutors;
85
+ private validateWorkflowStructure;
86
+ private hasCycles;
87
+ private buildDependencyGraph;
88
+ private buildExecutionPlan;
89
+ private canNodeRunInParallel;
90
+ private topologicalSort;
91
+ private executeWorkflowPlan;
92
+ private generateExecutionId;
93
+ }
94
+ /**
95
+ * Individual workflow execution instance
96
+ */
97
+ export declare class WorkflowExecution {
98
+ private executionId;
99
+ private workflow;
100
+ private parameters;
101
+ private userId?;
102
+ private sessionId?;
103
+ private status;
104
+ private nodeOutputs;
105
+ private variables;
106
+ private logs;
107
+ private completedNodes;
108
+ private currentNode?;
109
+ private llmCallCount;
110
+ private totalTokens;
111
+ private costs;
112
+ constructor(executionId: string, workflow: PrompdFlowDocument, parameters: Record<string, any>, userId?: string | undefined, sessionId?: string | undefined);
113
+ getId(): string;
114
+ getUserId(): string | undefined;
115
+ getStatus(): string;
116
+ getCurrentNode(): string | undefined;
117
+ getCompletedNodes(): Set<string>;
118
+ getLogs(): ExecutionLog[];
119
+ getLLMCallCount(): number;
120
+ getTotalTokens(): number;
121
+ getCosts(): {
122
+ totalCost: number;
123
+ breakdown: Record<string, number>;
124
+ };
125
+ getVariables(): Map<string, any>;
126
+ setNodeOutput(nodeId: string, output: any): void;
127
+ getNodeInputs(nodeId: string): Record<string, any>;
128
+ getProgress(): number;
129
+ log(level: ExecutionLog['level'], message: string, nodeId?: string, data?: any): void;
130
+ }
131
+ /**
132
+ * Base class for node executors
133
+ */
134
+ export declare abstract class NodeExecutor {
135
+ abstract execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
136
+ }
137
+ /**
138
+ * Specific node executors
139
+ */
140
+ export declare class PromptNodeExecutor extends NodeExecutor {
141
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
142
+ }
143
+ export declare class ParameterNodeExecutor extends NodeExecutor {
144
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
145
+ }
146
+ export declare class ConditionNodeExecutor extends NodeExecutor {
147
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
148
+ }
149
+ export declare class LoopNodeExecutor extends NodeExecutor {
150
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
151
+ }
152
+ export declare class OutputNodeExecutor extends NodeExecutor {
153
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
154
+ }
155
+ export declare class APINodeExecutor extends NodeExecutor {
156
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
157
+ }
158
+ export declare class TransformerNodeExecutor extends NodeExecutor {
159
+ execute(node: ExecutionNode, context: NodeExecutionContext): Promise<any>;
160
+ }
161
+ //# sourceMappingURL=workflow-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-engine.d.ts","sourceRoot":"","sources":["../../src/lib/workflow-engine.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,kBAAkB,EAAoD,MAAM,YAAY,CAAC;AAElG,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,gBAAgB,CAAC;IAC1B,IAAI,EAAE,YAAY,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACnC,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,QAAQ,EAAE;QACR,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,IAAI,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACpC,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,GAAG,CAAC;IACZ,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,cAAe,SAAQ,YAAY;IAC9C,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,UAAU,CAA6C;IAC/D,OAAO,CAAC,aAAa,CAAwC;;IAO7D;;OAEG;IACG,gBAAgB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWnE;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC;IA6E5F;;OAEG;IACH,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,GAAG;IAe5C,OAAO,CAAC,kBAAkB;IAU1B,OAAO,CAAC,yBAAyB;IAkBjC,OAAO,CAAC,SAAS;IAgCjB,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,kBAAkB;IA6B1B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,eAAe;YA4CT,mBAAmB;IAkDjC,OAAO,CAAC,mBAAmB;CAG5B;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAY1B,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM,CAAC;IACf,OAAO,CAAC,SAAS,CAAC;IAfpB,OAAO,CAAC,MAAM,CAA6D;IAC3E,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,SAAS,CAA0B;IAC3C,OAAO,CAAC,IAAI,CAAsB;IAClC,OAAO,CAAC,cAAc,CAAqB;IAC3C,OAAO,CAAC,WAAW,CAAC,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,KAAK,CAA6D;gBAGhE,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,MAAM,CAAC,EAAE,MAAM,YAAA,EACf,SAAS,CAAC,EAAE,MAAM,YAAA;IAQ5B,KAAK,IAAI,MAAM;IACf,SAAS,IAAI,MAAM,GAAG,SAAS;IAC/B,SAAS,IAAI,MAAM;IACnB,cAAc,IAAI,MAAM,GAAG,SAAS;IACpC,iBAAiB,IAAI,GAAG,CAAC,MAAM,CAAC;IAChC,OAAO,IAAI,YAAY,EAAE;IACzB,eAAe,IAAI,MAAM;IACzB,cAAc,IAAI,MAAM;IACxB,QAAQ,IAAI;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE;IACpE,YAAY,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAEhC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAKhD,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgBlD,WAAW,IAAI,MAAM;IAMrB,GAAG,CAAC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,IAAI;CAStF;AAED;;GAEG;AACH,8BAAsB,YAAY;IAChC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CACnF;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAC5C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAKhF;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IAC/C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIhF;AAED,qBAAa,qBAAsB,SAAQ,YAAY;IAC/C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIhF;AAED,qBAAa,gBAAiB,SAAQ,YAAY;IAC1C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIhF;AAED,qBAAa,kBAAmB,SAAQ,YAAY;IAC5C,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAWhF;AAED,qBAAa,eAAgB,SAAQ,YAAY;IACzC,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIhF;AAED,qBAAa,uBAAwB,SAAQ,YAAY;IACjD,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC;CAIhF"}