@prompd/cli 0.3.4 → 0.4.0
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.
- package/dist/lib/index.d.ts +8 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +19 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/memoryBackend.d.ts +41 -0
- package/dist/lib/memoryBackend.d.ts.map +1 -0
- package/dist/lib/memoryBackend.js +79 -0
- package/dist/lib/memoryBackend.js.map +1 -0
- package/dist/lib/workflowExecutor.d.ts +240 -0
- package/dist/lib/workflowExecutor.d.ts.map +1 -0
- package/dist/lib/workflowExecutor.js +5517 -0
- package/dist/lib/workflowExecutor.js.map +1 -0
- package/dist/lib/workflowParser.d.ts +80 -0
- package/dist/lib/workflowParser.d.ts.map +1 -0
- package/dist/lib/workflowParser.js +1148 -0
- package/dist/lib/workflowParser.js.map +1 -0
- package/dist/lib/workflowTypes.d.ts +1605 -0
- package/dist/lib/workflowTypes.d.ts.map +1 -0
- package/dist/lib/workflowTypes.js +72 -0
- package/dist/lib/workflowTypes.js.map +1 -0
- package/dist/lib/workflowValidator.d.ts +21 -0
- package/dist/lib/workflowValidator.d.ts.map +1 -0
- package/dist/lib/workflowValidator.js +388 -0
- package/dist/lib/workflowValidator.js.map +1 -0
- package/package.json +1 -1
package/dist/lib/index.d.ts
CHANGED
|
@@ -39,5 +39,12 @@ export { RegistryClient } from './registry';
|
|
|
39
39
|
export type { RegistryClientOptions, PackageMetadata, PublishOptions, SearchQuery, SearchResult, InstallOptions } from './registry';
|
|
40
40
|
export { createPackageFromPrompdJson } from '../commands/package';
|
|
41
41
|
export type { CreatePackageResult } from '../commands/package';
|
|
42
|
-
export
|
|
42
|
+
export { executeWorkflow, downloadTrace, exportTraceAsJson, formatTraceEntry, getTraceSummary } from './workflowExecutor';
|
|
43
|
+
export type { ExecutionMode, ExecutionTrace, TraceEntry, ToolCallRequest, ToolCallResult, CheckpointEvent, UserInputRequest, UserInputResponse, PromptExecuteRequest, PromptExecuteResult } from './workflowExecutor';
|
|
44
|
+
export { parseWorkflow, serializeWorkflow, createEmptyWorkflow, createWorkflowNode, getExecutionOrder } from './workflowParser';
|
|
45
|
+
export type { ParsedWorkflow } from './workflowParser';
|
|
46
|
+
export type { WorkflowFile, WorkflowNode, WorkflowEdge, WorkflowMetadata, WorkflowExecutionState, WorkflowResult, WorkflowExecutionError, WorkflowNodeType, BaseNodeData, TriggerNodeData, PromptNodeData, ProviderNodeData, AgentNodeData, ChatAgentNodeData, ToolNodeData, ConditionNodeData, LoopNodeData, ParallelNodeData, TransformerNodeData, ApiNodeData, MemoryNodeData, OutputNodeData, WorkflowNodeData, ErrorHandlerNodeData, CommandNodeData, ClaudeCodeNodeData, McpToolNodeData, CodeNodeData } from './workflowTypes';
|
|
47
|
+
export type { MemoryBackend } from './memoryBackend';
|
|
48
|
+
export { InMemoryBackend, NoOpBackend } from './memoryBackend';
|
|
49
|
+
export declare const VERSION = "0.4.0";
|
|
43
50
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,YAAY,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,MAAM,EACN,WAAW,EACX,cAAc,EACf,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,wBAAwB,EACxB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EAChB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAElB,WAAW,EACX,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,cAAc,EACd,MAAM,EACN,gBAAgB,EAChB,QAAQ,EACR,cAAc,EACd,gBAAgB,EACjB,MAAM,OAAO,CAAC;AACf,YAAY,EACV,gBAAgB,EAChB,aAAa,EACb,aAAa,EACd,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,YAAY,EACV,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,WAAW,EACX,YAAY,EACZ,cAAc,EACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAG/D,eAAO,MAAM,OAAO,UAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/index.js
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
*/
|
|
31
31
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
32
32
|
exports.commit = exports.discardChanges = exports.unstageFile = exports.stageFile = exports.getStatus = exports.isGitRepo = exports.getBranch = exports.execGitCommand = exports.getDefaultFileSystem = exports.NodeFileSystem = exports.MemoryFileSystem = exports.AnthropicFormatter = exports.OpenAIFormatter = exports.MarkdownFormatter = exports.SectionOverrideProcessor = exports.CodeGenerationStage = exports.TemplateProcessingStage = exports.AssetExtractionStage = exports.SemanticAnalysisStage = exports.DependencyResolutionStage = exports.LexicalAnalysisStage = exports.CompilationContext = exports.CompilerPipeline = exports.compile = exports.PrompdCompiler = exports.ValidationError = exports.SecurityError = exports.validateYAML = exports.validateJSON = exports.sanitizeForDisplay = exports.validateStringLength = exports.validateNumericRange = exports.containsMaliciousContent = exports.validateEmail = exports.validateProviderName = exports.validateModelName = exports.validateGitRef = exports.sanitizeParameterKey = exports.validateParameterKey = exports.validateOptionName = exports.validateFileExtension = exports.detectSecrets = exports.sanitizeFilePath = exports.validateRegistryUrl = exports.validateNamespace = exports.validateVersion = exports.validatePackageName = exports.SecurityManager = exports.ConfigManager = exports.PrompdParser = void 0;
|
|
33
|
-
exports.VERSION = exports.createPackageFromPrompdJson = exports.RegistryClient = exports.GitSecurityError = exports.getFileHistory = exports.initRepo = exports.getRecentCommits = void 0;
|
|
33
|
+
exports.VERSION = exports.NoOpBackend = exports.InMemoryBackend = exports.getExecutionOrder = exports.createWorkflowNode = exports.createEmptyWorkflow = exports.serializeWorkflow = exports.parseWorkflow = exports.getTraceSummary = exports.formatTraceEntry = exports.exportTraceAsJson = exports.downloadTrace = exports.executeWorkflow = exports.createPackageFromPrompdJson = exports.RegistryClient = exports.GitSecurityError = exports.getFileHistory = exports.initRepo = exports.getRecentCommits = void 0;
|
|
34
34
|
// Parser exports
|
|
35
35
|
var parser_1 = require("./parser");
|
|
36
36
|
Object.defineProperty(exports, "PrompdParser", { enumerable: true, get: function () { return parser_1.PrompdParser; } });
|
|
@@ -103,6 +103,23 @@ Object.defineProperty(exports, "RegistryClient", { enumerable: true, get: functi
|
|
|
103
103
|
// Package creation (programmatic API)
|
|
104
104
|
var package_1 = require("../commands/package");
|
|
105
105
|
Object.defineProperty(exports, "createPackageFromPrompdJson", { enumerable: true, get: function () { return package_1.createPackageFromPrompdJson; } });
|
|
106
|
+
// Workflow execution engine (for Electron, tray, service modes)
|
|
107
|
+
var workflowExecutor_1 = require("./workflowExecutor");
|
|
108
|
+
Object.defineProperty(exports, "executeWorkflow", { enumerable: true, get: function () { return workflowExecutor_1.executeWorkflow; } });
|
|
109
|
+
Object.defineProperty(exports, "downloadTrace", { enumerable: true, get: function () { return workflowExecutor_1.downloadTrace; } });
|
|
110
|
+
Object.defineProperty(exports, "exportTraceAsJson", { enumerable: true, get: function () { return workflowExecutor_1.exportTraceAsJson; } });
|
|
111
|
+
Object.defineProperty(exports, "formatTraceEntry", { enumerable: true, get: function () { return workflowExecutor_1.formatTraceEntry; } });
|
|
112
|
+
Object.defineProperty(exports, "getTraceSummary", { enumerable: true, get: function () { return workflowExecutor_1.getTraceSummary; } });
|
|
113
|
+
// Workflow parser and serialization
|
|
114
|
+
var workflowParser_1 = require("./workflowParser");
|
|
115
|
+
Object.defineProperty(exports, "parseWorkflow", { enumerable: true, get: function () { return workflowParser_1.parseWorkflow; } });
|
|
116
|
+
Object.defineProperty(exports, "serializeWorkflow", { enumerable: true, get: function () { return workflowParser_1.serializeWorkflow; } });
|
|
117
|
+
Object.defineProperty(exports, "createEmptyWorkflow", { enumerable: true, get: function () { return workflowParser_1.createEmptyWorkflow; } });
|
|
118
|
+
Object.defineProperty(exports, "createWorkflowNode", { enumerable: true, get: function () { return workflowParser_1.createWorkflowNode; } });
|
|
119
|
+
Object.defineProperty(exports, "getExecutionOrder", { enumerable: true, get: function () { return workflowParser_1.getExecutionOrder; } });
|
|
120
|
+
var memoryBackend_1 = require("./memoryBackend");
|
|
121
|
+
Object.defineProperty(exports, "InMemoryBackend", { enumerable: true, get: function () { return memoryBackend_1.InMemoryBackend; } });
|
|
122
|
+
Object.defineProperty(exports, "NoOpBackend", { enumerable: true, get: function () { return memoryBackend_1.NoOpBackend; } });
|
|
106
123
|
// Version information
|
|
107
|
-
exports.VERSION = '0.
|
|
124
|
+
exports.VERSION = '0.4.0';
|
|
108
125
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;;AAEH,iBAAiB;AACjB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAarB,iBAAiB;AACjB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,uBAAuB;AACvB,2CAuBsB;AAtBpB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,mHAAA,qBAAqB,OAAA;AACrB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,2GAAA,aAAa,OAAA;AACb,sHAAA,wBAAwB,OAAA;AACxB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AAGjB,kDAAkD;AAClD,uCA0BoB;AAzBlB,0GAAA,cAAc,OAAA;AACd,mGAAA,OAAO,OAAA;AACP,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAOlB,gHAAA,oBAAoB,OAAA;AACpB,qHAAA,yBAAyB,OAAA;AACzB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,mHAAA,uBAAuB,OAAA;AACvB,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAGlB,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,gHAAA,oBAAoB,OAAA;AAGtB,sCAAsC;AACtC,6BAae;AAZb,qGAAA,cAAc,OAAA;AACd,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,kGAAA,WAAW,OAAA;AACX,qGAAA,cAAc,OAAA;AACd,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,+FAAA,QAAQ,OAAA;AACR,qGAAA,cAAc,OAAA;AACd,uGAAA,gBAAgB,OAAA;AAQlB,6CAA6C;AAC7C,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAUvB,sCAAsC;AACtC,+CAAkE;AAAzD,sHAAA,2BAA2B,OAAA;AAGpC,sBAAsB;AACT,QAAA,OAAO,GAAG,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;;;;AAEH,iBAAiB;AACjB,mCAAwC;AAA/B,sGAAA,YAAY,OAAA;AAarB,iBAAiB;AACjB,mCAAyC;AAAhC,uGAAA,aAAa,OAAA;AAEtB,mBAAmB;AACnB,uCAA6C;AAApC,2GAAA,eAAe,OAAA;AAExB,uBAAuB;AACvB,2CAuBsB;AAtBpB,iHAAA,mBAAmB,OAAA;AACnB,6GAAA,eAAe,OAAA;AACf,+GAAA,iBAAiB,OAAA;AACjB,iHAAA,mBAAmB,OAAA;AACnB,8GAAA,gBAAgB,OAAA;AAChB,2GAAA,aAAa,OAAA;AACb,mHAAA,qBAAqB,OAAA;AACrB,gHAAA,kBAAkB,OAAA;AAClB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,4GAAA,cAAc,OAAA;AACd,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,2GAAA,aAAa,OAAA;AACb,sHAAA,wBAAwB,OAAA;AACxB,kHAAA,oBAAoB,OAAA;AACpB,kHAAA,oBAAoB,OAAA;AACpB,gHAAA,kBAAkB,OAAA;AAClB,0GAAA,YAAY,OAAA;AACZ,0GAAA,YAAY,OAAA;AACZ,2GAAA,aAAa,OAAA;AACb,6GAAA,eAAe,OAAA;AAGjB,kDAAkD;AAClD,uCA0BoB;AAzBlB,0GAAA,cAAc,OAAA;AACd,mGAAA,OAAO,OAAA;AACP,4GAAA,gBAAgB,OAAA;AAChB,8GAAA,kBAAkB,OAAA;AAOlB,gHAAA,oBAAoB,OAAA;AACpB,qHAAA,yBAAyB,OAAA;AACzB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,mHAAA,uBAAuB,OAAA;AACvB,+GAAA,mBAAmB,OAAA;AACnB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAGlB,4GAAA,gBAAgB,OAAA;AAChB,0GAAA,cAAc,OAAA;AACd,gHAAA,oBAAoB,OAAA;AAGtB,sCAAsC;AACtC,6BAae;AAZb,qGAAA,cAAc,OAAA;AACd,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,gGAAA,SAAS,OAAA;AACT,kGAAA,WAAW,OAAA;AACX,qGAAA,cAAc,OAAA;AACd,6FAAA,MAAM,OAAA;AACN,uGAAA,gBAAgB,OAAA;AAChB,+FAAA,QAAQ,OAAA;AACR,qGAAA,cAAc,OAAA;AACd,uGAAA,gBAAgB,OAAA;AAQlB,6CAA6C;AAC7C,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AAUvB,sCAAsC;AACtC,+CAAkE;AAAzD,sHAAA,2BAA2B,OAAA;AAGpC,gEAAgE;AAChE,uDAM4B;AAL1B,mHAAA,eAAe,OAAA;AACf,iHAAA,aAAa,OAAA;AACb,qHAAA,iBAAiB,OAAA;AACjB,oHAAA,gBAAgB,OAAA;AAChB,mHAAA,eAAe,OAAA;AAejB,oCAAoC;AACpC,mDAM0B;AALxB,+GAAA,aAAa,OAAA;AACb,mHAAA,iBAAiB,OAAA;AACjB,qHAAA,mBAAmB,OAAA;AACnB,oHAAA,kBAAkB,OAAA;AAClB,mHAAA,iBAAiB,OAAA;AAwCnB,iDAGyB;AAFvB,gHAAA,eAAe,OAAA;AACf,4GAAA,WAAW,OAAA;AAGb,sBAAsB;AACT,QAAA,OAAO,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Memory Backend Interface
|
|
3
|
+
*
|
|
4
|
+
* Abstract interface that CLI uses for memory operations.
|
|
5
|
+
* Implementations are provided by the calling environment (frontend, tray, service).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Memory backend interface - implemented by calling environment
|
|
9
|
+
*/
|
|
10
|
+
export interface MemoryBackend {
|
|
11
|
+
get(scope: string, namespace: string, key: string): Promise<unknown>;
|
|
12
|
+
set(scope: string, namespace: string, key: string, value: unknown, ttl?: number): Promise<void>;
|
|
13
|
+
delete(scope: string, namespace: string, key: string): Promise<void>;
|
|
14
|
+
list(scope: string, namespace: string): Promise<string[]>;
|
|
15
|
+
clear(scope: string, namespace: string): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* In-memory backend for execution scope (fast, temporary)
|
|
19
|
+
* This is the default for execution-scoped memory
|
|
20
|
+
*/
|
|
21
|
+
export declare class InMemoryBackend implements MemoryBackend {
|
|
22
|
+
private store;
|
|
23
|
+
private makeKey;
|
|
24
|
+
private cleanupExpired;
|
|
25
|
+
get(scope: string, namespace: string, key: string): Promise<unknown>;
|
|
26
|
+
set(scope: string, namespace: string, key: string, value: unknown, ttl?: number): Promise<void>;
|
|
27
|
+
delete(scope: string, namespace: string, key: string): Promise<void>;
|
|
28
|
+
list(scope: string, namespace: string): Promise<string[]>;
|
|
29
|
+
clear(scope: string, namespace: string): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* No-op backend for when memory is disabled
|
|
33
|
+
*/
|
|
34
|
+
export declare class NoOpBackend implements MemoryBackend {
|
|
35
|
+
get(): Promise<unknown>;
|
|
36
|
+
set(): Promise<void>;
|
|
37
|
+
delete(): Promise<void>;
|
|
38
|
+
list(): Promise<string[]>;
|
|
39
|
+
clear(): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=memoryBackend.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryBackend.d.ts","sourceRoot":"","sources":["../../src/lib/memoryBackend.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IACzD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvD;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,aAAa;IACnD,OAAO,CAAC,KAAK,CAAiE;IAE9E,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,cAAc;IAShB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAWpE,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK/F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAYzD,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ7D;AAED;;GAEG;AACH,qBAAa,WAAY,YAAW,aAAa;IACzC,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IACvB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IACpB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IACvB,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IACzB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAC7B"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Memory Backend Interface
|
|
4
|
+
*
|
|
5
|
+
* Abstract interface that CLI uses for memory operations.
|
|
6
|
+
* Implementations are provided by the calling environment (frontend, tray, service).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.NoOpBackend = exports.InMemoryBackend = void 0;
|
|
10
|
+
/**
|
|
11
|
+
* In-memory backend for execution scope (fast, temporary)
|
|
12
|
+
* This is the default for execution-scoped memory
|
|
13
|
+
*/
|
|
14
|
+
class InMemoryBackend {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.store = new Map();
|
|
17
|
+
}
|
|
18
|
+
makeKey(scope, namespace, key) {
|
|
19
|
+
return `${scope}:${namespace}:${key}`;
|
|
20
|
+
}
|
|
21
|
+
cleanupExpired() {
|
|
22
|
+
const now = Date.now();
|
|
23
|
+
for (const [key, entry] of this.store.entries()) {
|
|
24
|
+
if (entry.expiresAt && entry.expiresAt < now) {
|
|
25
|
+
this.store.delete(key);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
async get(scope, namespace, key) {
|
|
30
|
+
this.cleanupExpired();
|
|
31
|
+
const entry = this.store.get(this.makeKey(scope, namespace, key));
|
|
32
|
+
if (!entry)
|
|
33
|
+
return null;
|
|
34
|
+
if (entry.expiresAt && entry.expiresAt < Date.now()) {
|
|
35
|
+
this.store.delete(this.makeKey(scope, namespace, key));
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
return entry.value;
|
|
39
|
+
}
|
|
40
|
+
async set(scope, namespace, key, value, ttl) {
|
|
41
|
+
const expiresAt = ttl ? Date.now() + (ttl * 1000) : undefined;
|
|
42
|
+
this.store.set(this.makeKey(scope, namespace, key), { value, expiresAt });
|
|
43
|
+
}
|
|
44
|
+
async delete(scope, namespace, key) {
|
|
45
|
+
this.store.delete(this.makeKey(scope, namespace, key));
|
|
46
|
+
}
|
|
47
|
+
async list(scope, namespace) {
|
|
48
|
+
this.cleanupExpired();
|
|
49
|
+
const prefix = `${scope}:${namespace}:`;
|
|
50
|
+
const keys = [];
|
|
51
|
+
for (const key of this.store.keys()) {
|
|
52
|
+
if (key.startsWith(prefix)) {
|
|
53
|
+
keys.push(key.substring(prefix.length));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return keys;
|
|
57
|
+
}
|
|
58
|
+
async clear(scope, namespace) {
|
|
59
|
+
const prefix = `${scope}:${namespace}:`;
|
|
60
|
+
for (const key of this.store.keys()) {
|
|
61
|
+
if (key.startsWith(prefix)) {
|
|
62
|
+
this.store.delete(key);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
exports.InMemoryBackend = InMemoryBackend;
|
|
68
|
+
/**
|
|
69
|
+
* No-op backend for when memory is disabled
|
|
70
|
+
*/
|
|
71
|
+
class NoOpBackend {
|
|
72
|
+
async get() { return null; }
|
|
73
|
+
async set() { }
|
|
74
|
+
async delete() { }
|
|
75
|
+
async list() { return []; }
|
|
76
|
+
async clear() { }
|
|
77
|
+
}
|
|
78
|
+
exports.NoOpBackend = NoOpBackend;
|
|
79
|
+
//# sourceMappingURL=memoryBackend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryBackend.js","sourceRoot":"","sources":["../../src/lib/memoryBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkflowExecutor - Execute workflow graphs with sequential, conditional, and parallel support
|
|
3
|
+
* Includes comprehensive execution tracing, debugging, and step-through capabilities
|
|
4
|
+
*/
|
|
5
|
+
import type { WorkflowResult, WorkflowExecutionState, WorkflowExecutionError, AgentCheckpointEvent } from './workflowTypes';
|
|
6
|
+
import { type ParsedWorkflow } from './workflowParser';
|
|
7
|
+
import { MemoryBackend } from './memoryBackend';
|
|
8
|
+
type ExecutionCallback = (state: WorkflowExecutionState) => void;
|
|
9
|
+
/** Execution mode determines how callback nodes behave */
|
|
10
|
+
export type ExecutionMode = 'automated' | 'debug' | 'step';
|
|
11
|
+
/** Event emitted when a callback node is reached */
|
|
12
|
+
export interface CheckpointEvent {
|
|
13
|
+
nodeId: string;
|
|
14
|
+
checkpointName?: string;
|
|
15
|
+
message?: string;
|
|
16
|
+
previousOutput?: unknown;
|
|
17
|
+
nextNodeInfo?: {
|
|
18
|
+
id: string;
|
|
19
|
+
type: string;
|
|
20
|
+
label: string;
|
|
21
|
+
} | null;
|
|
22
|
+
timestamp: number;
|
|
23
|
+
/** Toggle-based behaviors */
|
|
24
|
+
behaviors: {
|
|
25
|
+
logToConsole: boolean;
|
|
26
|
+
logToHistory: boolean;
|
|
27
|
+
pauseInDebug: boolean;
|
|
28
|
+
requireApproval: boolean;
|
|
29
|
+
sendWebhook: boolean;
|
|
30
|
+
};
|
|
31
|
+
/** Approval settings when requireApproval is true */
|
|
32
|
+
approval?: {
|
|
33
|
+
title?: string;
|
|
34
|
+
instructions?: string;
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
timeoutAction?: 'continue' | 'fail' | 'skip';
|
|
37
|
+
};
|
|
38
|
+
/** Webhook settings when sendWebhook is true */
|
|
39
|
+
webhook?: {
|
|
40
|
+
url?: string;
|
|
41
|
+
waitForAck?: boolean;
|
|
42
|
+
ackTimeoutMs?: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/** Request for user input during workflow execution */
|
|
46
|
+
export interface UserInputRequest {
|
|
47
|
+
nodeId: string;
|
|
48
|
+
nodeLabel: string;
|
|
49
|
+
prompt: string;
|
|
50
|
+
inputType: 'text' | 'textarea' | 'choice' | 'confirm' | 'number';
|
|
51
|
+
choices?: string[];
|
|
52
|
+
placeholder?: string;
|
|
53
|
+
defaultValue?: string;
|
|
54
|
+
required?: boolean;
|
|
55
|
+
showContext?: boolean;
|
|
56
|
+
contextTemplate?: string;
|
|
57
|
+
context: {
|
|
58
|
+
previousOutput: unknown;
|
|
59
|
+
variables: Record<string, unknown>;
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
/** Response from user input */
|
|
63
|
+
export interface UserInputResponse {
|
|
64
|
+
value: unknown;
|
|
65
|
+
cancelled?: boolean;
|
|
66
|
+
}
|
|
67
|
+
/** Single entry in the execution trace log */
|
|
68
|
+
export interface TraceEntry {
|
|
69
|
+
timestamp: number;
|
|
70
|
+
type: 'node_start' | 'node_complete' | 'node_error' | 'checkpoint' | 'variable_change' | 'expression_eval' | 'debug_step' | 'prompt_sent';
|
|
71
|
+
nodeId?: string;
|
|
72
|
+
nodeName?: string;
|
|
73
|
+
nodeType?: string;
|
|
74
|
+
message: string;
|
|
75
|
+
data?: unknown;
|
|
76
|
+
duration?: number;
|
|
77
|
+
}
|
|
78
|
+
/** Complete execution trace for debugging and export */
|
|
79
|
+
export interface ExecutionTrace {
|
|
80
|
+
id: string;
|
|
81
|
+
workflowId: string;
|
|
82
|
+
workflowName: string;
|
|
83
|
+
startTime: number;
|
|
84
|
+
endTime?: number;
|
|
85
|
+
status: 'running' | 'completed' | 'failed' | 'paused' | 'cancelled';
|
|
86
|
+
mode: ExecutionMode;
|
|
87
|
+
parameters: Record<string, unknown>;
|
|
88
|
+
entries: TraceEntry[];
|
|
89
|
+
nodeOutputs: Record<string, unknown>;
|
|
90
|
+
finalOutput?: unknown;
|
|
91
|
+
errors: WorkflowExecutionError[];
|
|
92
|
+
}
|
|
93
|
+
/** Debug state for step-through execution */
|
|
94
|
+
export interface DebugState {
|
|
95
|
+
isPaused: boolean;
|
|
96
|
+
currentNodeId: string | null;
|
|
97
|
+
breakpoints: Set<string>;
|
|
98
|
+
watchedVariables: string[];
|
|
99
|
+
stepPromise?: {
|
|
100
|
+
resolve: (continueExecution: boolean) => void;
|
|
101
|
+
reject: (reason: unknown) => void;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/** Tool call request for external tool execution */
|
|
105
|
+
export interface ToolCallRequest {
|
|
106
|
+
nodeId: string;
|
|
107
|
+
toolName: string;
|
|
108
|
+
toolType: 'function' | 'mcp' | 'http' | 'command' | 'code';
|
|
109
|
+
parameters: Record<string, unknown>;
|
|
110
|
+
/** For HTTP tools */
|
|
111
|
+
httpConfig?: {
|
|
112
|
+
method: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
|
|
113
|
+
url: string;
|
|
114
|
+
headers?: Record<string, string>;
|
|
115
|
+
body?: string;
|
|
116
|
+
};
|
|
117
|
+
/** For MCP tools */
|
|
118
|
+
mcpConfig?: {
|
|
119
|
+
serverUrl?: string;
|
|
120
|
+
serverName?: string;
|
|
121
|
+
};
|
|
122
|
+
/** For command tools */
|
|
123
|
+
commandConfig?: {
|
|
124
|
+
executable: string;
|
|
125
|
+
action?: string;
|
|
126
|
+
args?: string;
|
|
127
|
+
cwd?: string;
|
|
128
|
+
requiresApproval?: boolean;
|
|
129
|
+
};
|
|
130
|
+
/** For code tools */
|
|
131
|
+
codeConfig?: {
|
|
132
|
+
language: 'typescript' | 'javascript' | 'python' | 'csharp';
|
|
133
|
+
code: string;
|
|
134
|
+
inputVariable?: string;
|
|
135
|
+
executionContext?: 'isolated' | 'main';
|
|
136
|
+
};
|
|
137
|
+
timeout?: number;
|
|
138
|
+
}
|
|
139
|
+
/** Tool call result from external execution */
|
|
140
|
+
export interface ToolCallResult {
|
|
141
|
+
success: boolean;
|
|
142
|
+
result?: unknown;
|
|
143
|
+
error?: string;
|
|
144
|
+
}
|
|
145
|
+
/** Request for executing LLM prompt (used by agent nodes) */
|
|
146
|
+
export interface PromptExecuteRequest {
|
|
147
|
+
nodeId: string;
|
|
148
|
+
prompt: string;
|
|
149
|
+
messages: Array<{
|
|
150
|
+
role: 'user' | 'assistant';
|
|
151
|
+
content: string;
|
|
152
|
+
}>;
|
|
153
|
+
provider?: string;
|
|
154
|
+
model?: string;
|
|
155
|
+
temperature?: number;
|
|
156
|
+
tools?: unknown[];
|
|
157
|
+
}
|
|
158
|
+
/** Result from LLM prompt execution */
|
|
159
|
+
export interface PromptExecuteResult {
|
|
160
|
+
success: boolean;
|
|
161
|
+
response?: unknown;
|
|
162
|
+
error?: string;
|
|
163
|
+
}
|
|
164
|
+
interface ExecutorOptions {
|
|
165
|
+
/** Execution mode: automated (callbacks pass-through), debug (pause on callbacks), step (pause after each node) */
|
|
166
|
+
executionMode?: ExecutionMode;
|
|
167
|
+
/** Set of node IDs where execution should pause (debug mode) */
|
|
168
|
+
breakpoints?: Set<string>;
|
|
169
|
+
/** Memory backend for workflow/global scoped storage (execution scope always uses in-memory) */
|
|
170
|
+
memoryBackend?: MemoryBackend;
|
|
171
|
+
onProgress?: ExecutionCallback;
|
|
172
|
+
onNodeStart?: (nodeId: string) => void;
|
|
173
|
+
onNodeComplete?: (nodeId: string, output: unknown) => void;
|
|
174
|
+
onNodeError?: (nodeId: string, error: string) => void;
|
|
175
|
+
/** Called when a callback/checkpoint node is reached */
|
|
176
|
+
onCheckpoint?: (event: CheckpointEvent) => Promise<boolean>;
|
|
177
|
+
/** Called when a user-input node is reached - must return user's response */
|
|
178
|
+
onUserInput?: (request: UserInputRequest) => Promise<UserInputResponse>;
|
|
179
|
+
/** Called when a tool node needs to execute a tool */
|
|
180
|
+
onToolCall?: (request: ToolCallRequest) => Promise<ToolCallResult>;
|
|
181
|
+
/** Called when execution pauses (debug/step mode) - return true to continue, false to stop */
|
|
182
|
+
onDebugPause?: (debugState: DebugState, trace: ExecutionTrace) => Promise<boolean>;
|
|
183
|
+
/** Called on each trace entry for real-time logging */
|
|
184
|
+
onTraceEntry?: (entry: TraceEntry) => void;
|
|
185
|
+
/** Called for streaming output from prompt nodes */
|
|
186
|
+
onStream?: (nodeId: string, chunk: string) => void;
|
|
187
|
+
executePrompt?: (source: string, params: Record<string, unknown>, provider?: string, model?: string) => Promise<string>;
|
|
188
|
+
/** Called by agent nodes to execute LLM prompts with conversation history */
|
|
189
|
+
onPromptExecute?: (request: PromptExecuteRequest) => Promise<PromptExecuteResult>;
|
|
190
|
+
/** Called when an agent node emits a checkpoint event (tool calls, iterations, etc.) */
|
|
191
|
+
onAgentCheckpoint?: (event: AgentCheckpointEvent) => Promise<boolean> | boolean;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Execute a workflow with full tracing and debug support
|
|
195
|
+
*/
|
|
196
|
+
export declare function executeWorkflow(workflow: ParsedWorkflow, params: Record<string, unknown>, options?: ExecutorOptions): Promise<WorkflowResult & {
|
|
197
|
+
trace: ExecutionTrace;
|
|
198
|
+
}>;
|
|
199
|
+
/**
|
|
200
|
+
* Create a simple prompt executor that uses the existing execution service
|
|
201
|
+
*/
|
|
202
|
+
export declare function createPromptExecutor(executeFunc: (source: string, params: Record<string, unknown>, provider?: string, model?: string) => Promise<string>): ExecutorOptions['executePrompt'];
|
|
203
|
+
/**
|
|
204
|
+
* Create a workflow executor with cancellation support and debug capabilities
|
|
205
|
+
*/
|
|
206
|
+
export declare function createWorkflowExecutor(workflow: ParsedWorkflow, params: Record<string, unknown>, options?: ExecutorOptions): {
|
|
207
|
+
execute: () => Promise<WorkflowResult & {
|
|
208
|
+
trace: ExecutionTrace;
|
|
209
|
+
}>;
|
|
210
|
+
cancel: () => void;
|
|
211
|
+
resume: () => void;
|
|
212
|
+
stop: () => void;
|
|
213
|
+
getTrace: () => ExecutionTrace | null;
|
|
214
|
+
};
|
|
215
|
+
/**
|
|
216
|
+
* Export execution trace as JSON string
|
|
217
|
+
*/
|
|
218
|
+
export declare function exportTraceAsJson(trace: ExecutionTrace): string;
|
|
219
|
+
/**
|
|
220
|
+
* Export execution trace as downloadable file (browser only)
|
|
221
|
+
* For Node.js environments, use exportTraceAsJson() and write to file instead
|
|
222
|
+
*/
|
|
223
|
+
export declare function downloadTrace(trace: ExecutionTrace, filename?: string): void;
|
|
224
|
+
/**
|
|
225
|
+
* Format trace entry for display
|
|
226
|
+
*/
|
|
227
|
+
export declare function formatTraceEntry(entry: TraceEntry): string;
|
|
228
|
+
/**
|
|
229
|
+
* Get trace summary statistics
|
|
230
|
+
*/
|
|
231
|
+
export declare function getTraceSummary(trace: ExecutionTrace): {
|
|
232
|
+
totalDuration: number;
|
|
233
|
+
nodesExecuted: number;
|
|
234
|
+
nodesSucceeded: number;
|
|
235
|
+
nodesFailed: number;
|
|
236
|
+
checkpointsHit: number;
|
|
237
|
+
averageNodeDuration: number;
|
|
238
|
+
};
|
|
239
|
+
export {};
|
|
240
|
+
//# sourceMappingURL=workflowExecutor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflowExecutor.d.ts","sourceRoot":"","sources":["../../src/lib/workflowExecutor.ts"],"names":[],"mappings":"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"}
|