@marktoflow/core 2.0.0-alpha.12

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 (142) hide show
  1. package/README.md +307 -0
  2. package/dist/bundle.d.ts +43 -0
  3. package/dist/bundle.d.ts.map +1 -0
  4. package/dist/bundle.js +202 -0
  5. package/dist/bundle.js.map +1 -0
  6. package/dist/config.d.ts +33 -0
  7. package/dist/config.d.ts.map +1 -0
  8. package/dist/config.js +27 -0
  9. package/dist/config.js.map +1 -0
  10. package/dist/core-tools.d.ts +39 -0
  11. package/dist/core-tools.d.ts.map +1 -0
  12. package/dist/core-tools.js +58 -0
  13. package/dist/core-tools.js.map +1 -0
  14. package/dist/costs.d.ts +182 -0
  15. package/dist/costs.d.ts.map +1 -0
  16. package/dist/costs.js +464 -0
  17. package/dist/costs.js.map +1 -0
  18. package/dist/credentials.d.ts +162 -0
  19. package/dist/credentials.d.ts.map +1 -0
  20. package/dist/credentials.js +646 -0
  21. package/dist/credentials.js.map +1 -0
  22. package/dist/engine.d.ts +243 -0
  23. package/dist/engine.d.ts.map +1 -0
  24. package/dist/engine.js +1453 -0
  25. package/dist/engine.js.map +1 -0
  26. package/dist/env.d.ts +59 -0
  27. package/dist/env.d.ts.map +1 -0
  28. package/dist/env.js +256 -0
  29. package/dist/env.js.map +1 -0
  30. package/dist/failover.d.ts +43 -0
  31. package/dist/failover.d.ts.map +1 -0
  32. package/dist/failover.js +53 -0
  33. package/dist/failover.js.map +1 -0
  34. package/dist/filewatcher.d.ts +32 -0
  35. package/dist/filewatcher.d.ts.map +1 -0
  36. package/dist/filewatcher.js +92 -0
  37. package/dist/filewatcher.js.map +1 -0
  38. package/dist/index.d.ts +40 -0
  39. package/dist/index.d.ts.map +1 -0
  40. package/dist/index.js +77 -0
  41. package/dist/index.js.map +1 -0
  42. package/dist/logging.d.ts +62 -0
  43. package/dist/logging.d.ts.map +1 -0
  44. package/dist/logging.js +211 -0
  45. package/dist/logging.js.map +1 -0
  46. package/dist/mcp-loader.d.ts +29 -0
  47. package/dist/mcp-loader.d.ts.map +1 -0
  48. package/dist/mcp-loader.js +60 -0
  49. package/dist/mcp-loader.js.map +1 -0
  50. package/dist/metrics.d.ts +19 -0
  51. package/dist/metrics.d.ts.map +1 -0
  52. package/dist/metrics.js +65 -0
  53. package/dist/metrics.js.map +1 -0
  54. package/dist/models.d.ts +1686 -0
  55. package/dist/models.d.ts.map +1 -0
  56. package/dist/models.js +333 -0
  57. package/dist/models.js.map +1 -0
  58. package/dist/parser.d.ts +40 -0
  59. package/dist/parser.d.ts.map +1 -0
  60. package/dist/parser.js +532 -0
  61. package/dist/parser.js.map +1 -0
  62. package/dist/permissions.d.ts +49 -0
  63. package/dist/permissions.d.ts.map +1 -0
  64. package/dist/permissions.js +286 -0
  65. package/dist/permissions.js.map +1 -0
  66. package/dist/plugins.d.ts +105 -0
  67. package/dist/plugins.d.ts.map +1 -0
  68. package/dist/plugins.js +182 -0
  69. package/dist/plugins.js.map +1 -0
  70. package/dist/prompt-loader.d.ts +47 -0
  71. package/dist/prompt-loader.d.ts.map +1 -0
  72. package/dist/prompt-loader.js +268 -0
  73. package/dist/prompt-loader.js.map +1 -0
  74. package/dist/queue.d.ts +114 -0
  75. package/dist/queue.d.ts.map +1 -0
  76. package/dist/queue.js +385 -0
  77. package/dist/queue.js.map +1 -0
  78. package/dist/rollback.d.ts +117 -0
  79. package/dist/rollback.d.ts.map +1 -0
  80. package/dist/rollback.js +374 -0
  81. package/dist/rollback.js.map +1 -0
  82. package/dist/routing.d.ts +144 -0
  83. package/dist/routing.d.ts.map +1 -0
  84. package/dist/routing.js +457 -0
  85. package/dist/routing.js.map +1 -0
  86. package/dist/scheduler.d.ts +91 -0
  87. package/dist/scheduler.d.ts.map +1 -0
  88. package/dist/scheduler.js +259 -0
  89. package/dist/scheduler.js.map +1 -0
  90. package/dist/script-tool.d.ts +22 -0
  91. package/dist/script-tool.d.ts.map +1 -0
  92. package/dist/script-tool.js +90 -0
  93. package/dist/script-tool.js.map +1 -0
  94. package/dist/sdk-registry.d.ts +94 -0
  95. package/dist/sdk-registry.d.ts.map +1 -0
  96. package/dist/sdk-registry.js +328 -0
  97. package/dist/sdk-registry.js.map +1 -0
  98. package/dist/security.d.ts +155 -0
  99. package/dist/security.d.ts.map +1 -0
  100. package/dist/security.js +362 -0
  101. package/dist/security.js.map +1 -0
  102. package/dist/state.d.ts +67 -0
  103. package/dist/state.d.ts.map +1 -0
  104. package/dist/state.js +276 -0
  105. package/dist/state.js.map +1 -0
  106. package/dist/templates.d.ts +70 -0
  107. package/dist/templates.d.ts.map +1 -0
  108. package/dist/templates.js +244 -0
  109. package/dist/templates.js.map +1 -0
  110. package/dist/tool-base.d.ts +54 -0
  111. package/dist/tool-base.d.ts.map +1 -0
  112. package/dist/tool-base.js +43 -0
  113. package/dist/tool-base.js.map +1 -0
  114. package/dist/tool-registry.d.ts +24 -0
  115. package/dist/tool-registry.d.ts.map +1 -0
  116. package/dist/tool-registry.js +164 -0
  117. package/dist/tool-registry.js.map +1 -0
  118. package/dist/tools/custom-tool.d.ts +16 -0
  119. package/dist/tools/custom-tool.d.ts.map +1 -0
  120. package/dist/tools/custom-tool.js +85 -0
  121. package/dist/tools/custom-tool.js.map +1 -0
  122. package/dist/tools/mcp-tool.d.ts +16 -0
  123. package/dist/tools/mcp-tool.d.ts.map +1 -0
  124. package/dist/tools/mcp-tool.js +98 -0
  125. package/dist/tools/mcp-tool.js.map +1 -0
  126. package/dist/tools/openapi-tool.d.ts +17 -0
  127. package/dist/tools/openapi-tool.d.ts.map +1 -0
  128. package/dist/tools/openapi-tool.js +165 -0
  129. package/dist/tools/openapi-tool.js.map +1 -0
  130. package/dist/trigger-manager.d.ts +26 -0
  131. package/dist/trigger-manager.d.ts.map +1 -0
  132. package/dist/trigger-manager.js +107 -0
  133. package/dist/trigger-manager.js.map +1 -0
  134. package/dist/webhook.d.ts +95 -0
  135. package/dist/webhook.d.ts.map +1 -0
  136. package/dist/webhook.js +261 -0
  137. package/dist/webhook.js.map +1 -0
  138. package/dist/workflow-tools.d.ts +102 -0
  139. package/dist/workflow-tools.d.ts.map +1 -0
  140. package/dist/workflow-tools.js +130 -0
  141. package/dist/workflow-tools.js.map +1 -0
  142. package/package.json +62 -0
@@ -0,0 +1,92 @@
1
+ /**
2
+ * File watcher trigger for marktoflow v2.0
3
+ *
4
+ * Monitors the file system for changes and triggers workflows.
5
+ */
6
+ import { watch } from 'chokidar';
7
+ import { EventEmitter } from 'node:events';
8
+ export class FileWatcher extends EventEmitter {
9
+ watcher = null;
10
+ options;
11
+ handlers = [];
12
+ debounceTimers = new Map();
13
+ constructor(options) {
14
+ super();
15
+ this.options = {
16
+ debounceMs: 100,
17
+ recursive: true,
18
+ persistent: true,
19
+ ...options
20
+ };
21
+ }
22
+ onEvent(handler) {
23
+ this.handlers.push(handler);
24
+ }
25
+ start() {
26
+ if (this.watcher)
27
+ return;
28
+ const watchOptions = {
29
+ ignoreInitial: true,
30
+ persistent: this.options.persistent,
31
+ };
32
+ if (this.options.ignored) {
33
+ watchOptions.ignored = this.options.ignored;
34
+ }
35
+ if (!this.options.recursive) {
36
+ watchOptions.depth = 0;
37
+ }
38
+ if (this.options.usePolling !== undefined) {
39
+ watchOptions.usePolling = this.options.usePolling;
40
+ }
41
+ if (this.options.interval !== undefined) {
42
+ watchOptions.interval = this.options.interval;
43
+ }
44
+ this.watcher = watch(this.options.path, watchOptions);
45
+ const handleEvent = (event, path) => {
46
+ const debounceMs = this.options.debounceMs || 0;
47
+ if (debounceMs > 0) {
48
+ if (this.debounceTimers.has(path)) {
49
+ clearTimeout(this.debounceTimers.get(path));
50
+ }
51
+ const timer = setTimeout(() => {
52
+ this.debounceTimers.delete(path);
53
+ this.triggerHandlers({ event, path });
54
+ }, debounceMs);
55
+ this.debounceTimers.set(path, timer);
56
+ }
57
+ else {
58
+ this.triggerHandlers({ event, path });
59
+ }
60
+ };
61
+ this.watcher
62
+ .on('add', path => handleEvent('add', path))
63
+ .on('change', path => handleEvent('change', path))
64
+ .on('unlink', path => handleEvent('unlink', path))
65
+ .on('addDir', path => handleEvent('addDir', path))
66
+ .on('unlinkDir', path => handleEvent('unlinkDir', path))
67
+ .on('ready', () => this.emit('ready'))
68
+ .on('error', error => this.emit('error', error));
69
+ }
70
+ async stop() {
71
+ if (this.watcher) {
72
+ await this.watcher.close();
73
+ this.watcher = null;
74
+ }
75
+ for (const timer of this.debounceTimers.values()) {
76
+ clearTimeout(timer);
77
+ }
78
+ this.debounceTimers.clear();
79
+ }
80
+ async triggerHandlers(event) {
81
+ this.emit('event', event);
82
+ for (const handler of this.handlers) {
83
+ try {
84
+ await handler(event);
85
+ }
86
+ catch (error) {
87
+ this.emit('error', error);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=filewatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filewatcher.js","sourceRoot":"","sources":["../src/filewatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * @marktoflow/core
3
+ *
4
+ * Core engine for marktoflow v2.0 - parser, executor, state management.
5
+ */
6
+ export { StepStatus, WorkflowStatus, TriggerType, WorkflowMetadataSchema, ToolConfigSchema, ErrorHandlingSchema, WorkflowStepSchema, TriggerSchema, WorkflowInputSchema, WorkflowSchema, PermissionsSchema, SubagentConfigSchema, type WorkflowMetadata, type ToolConfig, type ErrorHandling, type WorkflowStep, type Trigger, type WorkflowInput, type Workflow, type ExecutionContext, type StepResult, type WorkflowResult, type Permissions, type SubagentConfig, createExecutionContext, createStepResult, } from './models.js';
7
+ export { findEnvFiles, findProjectRoot, loadEnv, ensureEnvLoaded, getEnv, getEnvBool, getEnvInt, getEnvFloat, getEnvList, EnvConfig, config, } from './env.js';
8
+ export { EncryptionBackend, CredentialType, EncryptionError, KeyNotFoundError, CredentialNotFoundError, FernetEncryptor, AgeEncryptor, GPGEncryptor, InMemoryCredentialStore, SQLiteCredentialStore, CredentialManager, KeyManager, createCredentialManager, getAvailableBackends, type Credential, type Encryptor, type CredentialStore, } from './credentials.js';
9
+ export { parseFile, parseContent, extractVariableReferences, validateVariableReferences, ParseError, type ParseResult, type ParseOptions, } from './parser.js';
10
+ export { WorkflowEngine, RetryPolicy, CircuitBreaker, resolveTemplates, type EngineConfig, type EngineEvents, type StepExecutor, type StepExecutorContext, type CircuitState, } from './engine.js';
11
+ export { mergePermissions, checkPermission, toSecurityPolicy, createDefaultPermissions, type EffectivePermissions, type PermissionCheckResult, type SecurityPolicy, type OperationType, } from './permissions.js';
12
+ export { loadPromptFile, resolvePromptTemplate, validatePromptInputs, extractPromptVariables, type LoadedPrompt, type PromptVariable, type ValidationResult, type ResolvedPrompt, } from './prompt-loader.js';
13
+ export { ToolRegistry, } from './tool-registry.js';
14
+ export { ToolType, ToolCompatibility, type ToolImplementation, type ToolAuth, type ToolDefinition, type Tool, } from './tool-base.js';
15
+ export { OpenAPITool } from './tools/openapi-tool.js';
16
+ export { CustomTool, operation as customOperation } from './tools/custom-tool.js';
17
+ export { MCPTool } from './tools/mcp-tool.js';
18
+ export { WorkflowBundle, BundleToolRegistry, loadBundleConfig, type BundleConfig, } from './bundle.js';
19
+ export { SDKRegistry, defaultSDKLoader, defaultInitializers, packageNameMappings, createSDKStepExecutor, type SDKInstance, type SDKLoader, type SDKInitializer, } from './sdk-registry.js';
20
+ export { CoreToolsClient, CoreInitializer, } from './core-tools.js';
21
+ export { WorkflowToolsClient, WorkflowInitializer, } from './workflow-tools.js';
22
+ export { StateStore, type ExecutionRecord, type StepCheckpoint, type ExecutionStats, } from './state.js';
23
+ export { LogLevel, ExecutionLogger, createExecutionLog, addLogEntry, completeLog, logToMarkdown, type LogEntry, type ExecutionLog, } from './logging.js';
24
+ export { Scheduler, CronParser, createJob, type ScheduledJob, type CronFields, type JobCallback, } from './scheduler.js';
25
+ export { WebhookReceiver, verifyGitHubSignature, verifyHmacSignature, verifySlackSignature, generateSignature, createEndpoint, parseWebhookBody, type WebhookEndpoint, type WebhookEvent, type WebhookHandler, type WebhookResponse, type WebhookReceiverOptions, } from './webhook.js';
26
+ export { McpLoader, type McpModule, } from './mcp-loader.js';
27
+ export { ScriptTool, type ScriptOperation, type ScriptToolConfig, } from './script-tool.js';
28
+ export { FileWatcher, type FileWatcherOptions, type FileEvent, type FileEventHandler, } from './filewatcher.js';
29
+ export { MessagePriority, MessageStatus, MessageQueue, InMemoryQueue, RedisQueue, RabbitMQQueue, WorkflowQueueManager, type QueueMessage, type QueueConfig, type MessageHandler, } from './queue.js';
30
+ export { Permission, RBACManager, ApprovalStatus, ApprovalManager, AuditEventType, AuditLogger, SQLiteAuditStore, InMemoryAuditStore, type Role, type User, type ApprovalRequest, type ApprovalHandler, type AuditEvent, type AuditStore, } from './security.js';
31
+ export { DEFAULT_PRICING, CostStore, CostTracker, PersistentCostTracker, PricingRegistry, WorkflowCostEstimator, LoggingAlertHandler, CallbackAlertHandler, CostAlertLevel, CostUnit, type ModelPricing, type TokenUsage, type CostRecord, type CostSummary, type CostLimit, type CostAlert, type CostAlertHandler, } from './costs.js';
32
+ export { MetricsCollector, } from './metrics.js';
33
+ export { SelectionStrategy, RoutingDecision, AgentSelector, AgentRouter, BudgetTracker, PREDEFINED_PROFILES, createDefaultSelector, createCostOptimizedSelector, createQualityOptimizedSelector, type AgentProfile, type AgentScore, type RoutingContext, type RoutingResult, type BudgetConfig, type LoadInfo, } from './routing.js';
34
+ export { FailoverReason, AgentHealthTracker, DEFAULT_FAILOVER_CONFIG, type AgentHealth, type FailoverConfig, type FailoverEvent, } from './failover.js';
35
+ export { TriggerManager, type TriggerDefinition, type TriggerHandler, } from './trigger-manager.js';
36
+ export { PluginState, HookType, HookRegistry, PluginManager, LoggingPlugin, MetricsPlugin, type PluginMetadata, type HookContext, type HookResult, type HookCallback, type Plugin, type PluginInfo, } from './plugins.js';
37
+ export { TemplateCategory, TemplateRegistry, WorkflowTemplate, HELLO_TEMPLATE, BUILTIN_TEMPLATES, type TemplateMetadata, type TemplateVariable, } from './templates.js';
38
+ export { loadConfig, type MarktoflowConfig } from './config.js';
39
+ export { RollbackStrategy, RollbackStatus, RollbackRegistry, DefaultCompensationHandler, TransactionContext, FileCompensationHandler, GitCompensationHandler, type RollbackAction, type RollbackResult, type CompensationHandler, } from './rollback.js';
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js ADDED
@@ -0,0 +1,77 @@
1
+ /**
2
+ * @marktoflow/core
3
+ *
4
+ * Core engine for marktoflow v2.0 - parser, executor, state management.
5
+ */
6
+ // Models
7
+ export {
8
+ // Enums
9
+ StepStatus, WorkflowStatus, TriggerType,
10
+ // Schemas (for validation)
11
+ WorkflowMetadataSchema, ToolConfigSchema, ErrorHandlingSchema, WorkflowStepSchema, TriggerSchema, WorkflowInputSchema, WorkflowSchema, PermissionsSchema, SubagentConfigSchema,
12
+ // Helpers
13
+ createExecutionContext, createStepResult, } from './models.js';
14
+ // Env
15
+ export { findEnvFiles, findProjectRoot, loadEnv, ensureEnvLoaded, getEnv, getEnvBool, getEnvInt, getEnvFloat, getEnvList, EnvConfig, config, } from './env.js';
16
+ // Credentials
17
+ export { EncryptionBackend, CredentialType, EncryptionError, KeyNotFoundError, CredentialNotFoundError, FernetEncryptor, AgeEncryptor, GPGEncryptor, InMemoryCredentialStore, SQLiteCredentialStore, CredentialManager, KeyManager, createCredentialManager, getAvailableBackends, } from './credentials.js';
18
+ // Parser
19
+ export { parseFile, parseContent, extractVariableReferences, validateVariableReferences, ParseError, } from './parser.js';
20
+ // Engine
21
+ export { WorkflowEngine, RetryPolicy, CircuitBreaker, resolveTemplates, } from './engine.js';
22
+ // Permissions
23
+ export { mergePermissions, checkPermission, toSecurityPolicy, createDefaultPermissions, } from './permissions.js';
24
+ // Prompt Loader
25
+ export { loadPromptFile, resolvePromptTemplate, validatePromptInputs, extractPromptVariables, } from './prompt-loader.js';
26
+ // Tool Registry
27
+ export { ToolRegistry, } from './tool-registry.js';
28
+ export { ToolType, ToolCompatibility, } from './tool-base.js';
29
+ // Tool Implementations
30
+ export { OpenAPITool } from './tools/openapi-tool.js';
31
+ export { CustomTool, operation as customOperation } from './tools/custom-tool.js';
32
+ export { MCPTool } from './tools/mcp-tool.js';
33
+ // Bundle support
34
+ export { WorkflowBundle, BundleToolRegistry, loadBundleConfig, } from './bundle.js';
35
+ // SDK Registry
36
+ export { SDKRegistry, defaultSDKLoader, defaultInitializers, packageNameMappings, createSDKStepExecutor, } from './sdk-registry.js';
37
+ // Core Built-in Tools
38
+ export { CoreToolsClient, CoreInitializer, } from './core-tools.js';
39
+ // Workflow Built-in Tools
40
+ export { WorkflowToolsClient, WorkflowInitializer, } from './workflow-tools.js';
41
+ // State Persistence
42
+ export { StateStore, } from './state.js';
43
+ // Execution Logging
44
+ export { LogLevel, ExecutionLogger, createExecutionLog, addLogEntry, completeLog, logToMarkdown, } from './logging.js';
45
+ // Scheduler
46
+ export { Scheduler, CronParser, createJob, } from './scheduler.js';
47
+ // Webhook Receiver
48
+ export { WebhookReceiver, verifyGitHubSignature, verifyHmacSignature, verifySlackSignature, generateSignature, createEndpoint, parseWebhookBody, } from './webhook.js';
49
+ // MCP Loader
50
+ export { McpLoader, } from './mcp-loader.js';
51
+ // Script Tool
52
+ export { ScriptTool, } from './script-tool.js';
53
+ // File Watcher Trigger
54
+ export { FileWatcher, } from './filewatcher.js';
55
+ // Queue Integration
56
+ export { MessagePriority, MessageStatus, MessageQueue, InMemoryQueue, RedisQueue, RabbitMQQueue, WorkflowQueueManager, } from './queue.js';
57
+ // Security (RBAC, Approval, Audit)
58
+ export { Permission, RBACManager, ApprovalStatus, ApprovalManager, AuditEventType, AuditLogger, SQLiteAuditStore, InMemoryAuditStore, } from './security.js';
59
+ // Cost Tracking
60
+ export { DEFAULT_PRICING, CostStore, CostTracker, PersistentCostTracker, PricingRegistry, WorkflowCostEstimator, LoggingAlertHandler, CallbackAlertHandler, CostAlertLevel, CostUnit, } from './costs.js';
61
+ // Metrics
62
+ export { MetricsCollector, } from './metrics.js';
63
+ // Routing
64
+ export { SelectionStrategy, RoutingDecision, AgentSelector, AgentRouter, BudgetTracker, PREDEFINED_PROFILES, createDefaultSelector, createCostOptimizedSelector, createQualityOptimizedSelector, } from './routing.js';
65
+ // Failover
66
+ export { FailoverReason, AgentHealthTracker, DEFAULT_FAILOVER_CONFIG, } from './failover.js';
67
+ // Trigger Manager
68
+ export { TriggerManager, } from './trigger-manager.js';
69
+ // Plugins
70
+ export { PluginState, HookType, HookRegistry, PluginManager, LoggingPlugin, MetricsPlugin, } from './plugins.js';
71
+ // Templates
72
+ export { TemplateCategory, TemplateRegistry, WorkflowTemplate, HELLO_TEMPLATE, BUILTIN_TEMPLATES, } from './templates.js';
73
+ // Config
74
+ export { loadConfig } from './config.js';
75
+ // Rollback
76
+ export { RollbackStrategy, RollbackStatus, RollbackRegistry, DefaultCompensationHandler, TransactionContext, FileCompensationHandler, GitCompensationHandler, } from './rollback.js';
77
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ /**
2
+ * Execution logging for marktoflow v2.0
3
+ *
4
+ * Provides structured markdown logging for workflow executions.
5
+ */
6
+ export declare const LogLevel: {
7
+ readonly DEBUG: "debug";
8
+ readonly INFO: "info";
9
+ readonly WARNING: "warning";
10
+ readonly ERROR: "error";
11
+ readonly CRITICAL: "critical";
12
+ };
13
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
14
+ export interface LogEntry {
15
+ timestamp: Date;
16
+ level: LogLevel;
17
+ message: string;
18
+ stepName: string | undefined;
19
+ stepIndex: number | undefined;
20
+ details: Record<string, unknown> | undefined;
21
+ }
22
+ export interface ExecutionLog {
23
+ runId: string;
24
+ workflowId: string;
25
+ workflowName: string;
26
+ startedAt: Date;
27
+ completedAt: Date | null;
28
+ entries: LogEntry[];
29
+ success: boolean | null;
30
+ error: string | null;
31
+ inputs: Record<string, unknown> | null;
32
+ outputs: Record<string, unknown> | null;
33
+ }
34
+ export declare function createExecutionLog(runId: string, workflowId: string, workflowName: string, inputs?: Record<string, unknown>): ExecutionLog;
35
+ export declare function addLogEntry(log: ExecutionLog, level: LogLevel, message: string, options?: {
36
+ stepName?: string;
37
+ stepIndex?: number;
38
+ details?: Record<string, unknown>;
39
+ }): void;
40
+ export declare function completeLog(log: ExecutionLog, success: boolean, outputs?: Record<string, unknown>, error?: string): void;
41
+ export declare function logToMarkdown(log: ExecutionLog): string;
42
+ export declare class ExecutionLogger {
43
+ private logsDir;
44
+ private activeLogs;
45
+ constructor(logsDir?: string);
46
+ private ensureDir;
47
+ startLog(runId: string, workflowId: string, workflowName: string, inputs?: Record<string, unknown>): ExecutionLog;
48
+ getLog(runId: string): ExecutionLog | undefined;
49
+ log(runId: string, level: LogLevel, message: string, options?: {
50
+ stepName?: string;
51
+ stepIndex?: number;
52
+ details?: Record<string, unknown>;
53
+ }): void;
54
+ finishLog(runId: string, success: boolean, outputs?: Record<string, unknown>, error?: string): Promise<string | null>;
55
+ listLogs(options?: {
56
+ workflowId?: string;
57
+ limit?: number;
58
+ }): Promise<string[]>;
59
+ readLog(filepath: string): Promise<string>;
60
+ cleanupLogs(retentionDays?: number): Promise<number>;
61
+ }
62
+ //# sourceMappingURL=logging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.d.ts","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Execution logging for marktoflow v2.0
3
+ *
4
+ * Provides structured markdown logging for workflow executions.
5
+ */
6
+ import { writeFile, mkdir, readdir, readFile, unlink } from 'node:fs/promises';
7
+ import { existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ // ============================================================================
10
+ // Types
11
+ // ============================================================================
12
+ export const LogLevel = {
13
+ DEBUG: 'debug',
14
+ INFO: 'info',
15
+ WARNING: 'warning',
16
+ ERROR: 'error',
17
+ CRITICAL: 'critical',
18
+ };
19
+ // ============================================================================
20
+ // Log Entry Formatting
21
+ // ============================================================================
22
+ const LEVEL_ICONS = {
23
+ [LogLevel.DEBUG]: '🔍',
24
+ [LogLevel.INFO]: 'ℹ️',
25
+ [LogLevel.WARNING]: '⚠️',
26
+ [LogLevel.ERROR]: '❌',
27
+ [LogLevel.CRITICAL]: '🔥',
28
+ };
29
+ function formatLogEntry(entry) {
30
+ const timeStr = entry.timestamp.toTimeString().slice(0, 8);
31
+ const icon = LEVEL_ICONS[entry.level] || '•';
32
+ let line = `- \`${timeStr}\` ${icon} `;
33
+ if (entry.stepName) {
34
+ line += `**[${entry.stepName}]** `;
35
+ }
36
+ line += entry.message;
37
+ if (entry.details) {
38
+ line += '\n';
39
+ for (const [key, value] of Object.entries(entry.details)) {
40
+ line += ` - ${key}: \`${JSON.stringify(value)}\`\n`;
41
+ }
42
+ }
43
+ return line;
44
+ }
45
+ // ============================================================================
46
+ // ExecutionLog Implementation
47
+ // ============================================================================
48
+ export function createExecutionLog(runId, workflowId, workflowName, inputs) {
49
+ return {
50
+ runId,
51
+ workflowId,
52
+ workflowName,
53
+ startedAt: new Date(),
54
+ completedAt: null,
55
+ entries: [],
56
+ success: null,
57
+ error: null,
58
+ inputs: inputs || null,
59
+ outputs: null,
60
+ };
61
+ }
62
+ export function addLogEntry(log, level, message, options) {
63
+ log.entries.push({
64
+ timestamp: new Date(),
65
+ level,
66
+ message,
67
+ stepName: options?.stepName,
68
+ stepIndex: options?.stepIndex,
69
+ details: options?.details,
70
+ });
71
+ }
72
+ export function completeLog(log, success, outputs, error) {
73
+ log.completedAt = new Date();
74
+ log.success = success;
75
+ log.outputs = outputs || null;
76
+ log.error = error || null;
77
+ }
78
+ export function logToMarkdown(log) {
79
+ const lines = [];
80
+ // Header
81
+ lines.push(`# Execution Log: ${log.workflowName}`);
82
+ lines.push('');
83
+ lines.push(`**Run ID:** \`${log.runId}\``);
84
+ lines.push(`**Workflow:** \`${log.workflowId}\``);
85
+ lines.push(`**Started:** ${log.startedAt.toISOString()}`);
86
+ if (log.completedAt) {
87
+ lines.push(`**Completed:** ${log.completedAt.toISOString()}`);
88
+ const duration = log.completedAt.getTime() - log.startedAt.getTime();
89
+ lines.push(`**Duration:** ${duration}ms`);
90
+ }
91
+ if (log.success !== null) {
92
+ lines.push(`**Status:** ${log.success ? '✅ Success' : '❌ Failed'}`);
93
+ }
94
+ if (log.error) {
95
+ lines.push(`**Error:** ${log.error}`);
96
+ }
97
+ lines.push('');
98
+ // Inputs
99
+ if (log.inputs && Object.keys(log.inputs).length > 0) {
100
+ lines.push('## Inputs');
101
+ lines.push('');
102
+ lines.push('```json');
103
+ lines.push(JSON.stringify(log.inputs, null, 2));
104
+ lines.push('```');
105
+ lines.push('');
106
+ }
107
+ // Log entries
108
+ lines.push('## Execution Log');
109
+ lines.push('');
110
+ for (const entry of log.entries) {
111
+ lines.push(formatLogEntry(entry));
112
+ }
113
+ lines.push('');
114
+ // Outputs
115
+ if (log.outputs && Object.keys(log.outputs).length > 0) {
116
+ lines.push('## Outputs');
117
+ lines.push('');
118
+ lines.push('```json');
119
+ lines.push(JSON.stringify(log.outputs, null, 2));
120
+ lines.push('```');
121
+ lines.push('');
122
+ }
123
+ return lines.join('\n');
124
+ }
125
+ // ============================================================================
126
+ // ExecutionLogger (File-based)
127
+ // ============================================================================
128
+ export class ExecutionLogger {
129
+ logsDir;
130
+ activeLogs = new Map();
131
+ constructor(logsDir = '.marktoflow/state/execution-logs') {
132
+ this.logsDir = logsDir;
133
+ }
134
+ async ensureDir() {
135
+ if (!existsSync(this.logsDir)) {
136
+ await mkdir(this.logsDir, { recursive: true });
137
+ }
138
+ }
139
+ startLog(runId, workflowId, workflowName, inputs) {
140
+ const log = createExecutionLog(runId, workflowId, workflowName, inputs);
141
+ this.activeLogs.set(runId, log);
142
+ addLogEntry(log, LogLevel.INFO, 'Workflow execution started');
143
+ return log;
144
+ }
145
+ getLog(runId) {
146
+ return this.activeLogs.get(runId);
147
+ }
148
+ log(runId, level, message, options) {
149
+ const log = this.activeLogs.get(runId);
150
+ if (log) {
151
+ addLogEntry(log, level, message, options);
152
+ }
153
+ }
154
+ async finishLog(runId, success, outputs, error) {
155
+ const log = this.activeLogs.get(runId);
156
+ if (!log) {
157
+ return null;
158
+ }
159
+ addLogEntry(log, success ? LogLevel.INFO : LogLevel.ERROR, success ? 'Workflow execution completed successfully' : `Workflow execution failed: ${error}`);
160
+ completeLog(log, success, outputs, error);
161
+ // Save to file
162
+ await this.ensureDir();
163
+ const filename = `${log.workflowId}_${runId}_${log.startedAt.toISOString().replace(/[:.]/g, '-')}.md`;
164
+ const filepath = join(this.logsDir, filename);
165
+ const markdown = logToMarkdown(log);
166
+ await writeFile(filepath, markdown, 'utf-8');
167
+ this.activeLogs.delete(runId);
168
+ return filepath;
169
+ }
170
+ async listLogs(options) {
171
+ await this.ensureDir();
172
+ let files = await readdir(this.logsDir);
173
+ files = files.filter((f) => f.endsWith('.md'));
174
+ if (options?.workflowId) {
175
+ files = files.filter((f) => f.startsWith(options.workflowId + '_'));
176
+ }
177
+ // Sort by date (newest first)
178
+ files.sort().reverse();
179
+ if (options?.limit) {
180
+ files = files.slice(0, options.limit);
181
+ }
182
+ return files.map((f) => join(this.logsDir, f));
183
+ }
184
+ async readLog(filepath) {
185
+ return readFile(filepath, 'utf-8');
186
+ }
187
+ async cleanupLogs(retentionDays = 30) {
188
+ await this.ensureDir();
189
+ const cutoffDate = new Date();
190
+ cutoffDate.setDate(cutoffDate.getDate() - retentionDays);
191
+ const files = await readdir(this.logsDir);
192
+ let deleted = 0;
193
+ for (const file of files) {
194
+ if (!file.endsWith('.md'))
195
+ continue;
196
+ const filepath = join(this.logsDir, file);
197
+ const content = await readFile(filepath, 'utf-8');
198
+ // Extract started date from content
199
+ const match = content.match(/\*\*Started:\*\* (.+)/);
200
+ if (match) {
201
+ const startedAt = new Date(match[1]);
202
+ if (startedAt < cutoffDate) {
203
+ await unlink(filepath);
204
+ deleted++;
205
+ }
206
+ }
207
+ }
208
+ return deleted;
209
+ }
210
+ }
211
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * MCP Loader for marktoflow v2.0
3
+ *
4
+ * Handles loading and connection to MCP servers (both native/in-memory and stdio).
5
+ */
6
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
7
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
8
+ import { ToolConfig } from "./models.js";
9
+ export interface McpModule {
10
+ createMcpServer(config?: Record<string, unknown>): McpServer | Promise<McpServer>;
11
+ }
12
+ export type ModuleLoader = (name: string) => Promise<any>;
13
+ export declare class McpLoader {
14
+ private moduleLoader;
15
+ constructor(moduleLoader?: ModuleLoader);
16
+ /**
17
+ * Connect to a loaded MCP module.
18
+ */
19
+ connectModule(module: any, config: ToolConfig): Promise<Client>;
20
+ /**
21
+ * Load a native MCP module and connect to it in-memory.
22
+ */
23
+ loadNative(packageName: string, config: ToolConfig): Promise<Client>;
24
+ /**
25
+ * Connect to an external MCP server via Stdio.
26
+ */
27
+ connectStdio(command: string, args: string[]): Promise<Client>;
28
+ }
29
+ //# sourceMappingURL=mcp-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-loader.d.ts","sourceRoot":"","sources":["../src/mcp-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAGnE,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,MAAM,WAAW,SAAS;IACxB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;CACnF;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAE1D,qBAAa,SAAS;IACpB,OAAO,CAAC,YAAY,CAAe;gBAEvB,YAAY,CAAC,EAAE,YAAY;IAIvC;;OAEG;IACG,aAAa,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAyBrE;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;IAY1E;;OAEG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAerE"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * MCP Loader for marktoflow v2.0
3
+ *
4
+ * Handles loading and connection to MCP servers (both native/in-memory and stdio).
5
+ */
6
+ import { Client } from "@modelcontextprotocol/sdk/client/index.js";
7
+ import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js";
8
+ import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
9
+ export class McpLoader {
10
+ moduleLoader;
11
+ constructor(moduleLoader) {
12
+ this.moduleLoader = moduleLoader || ((name) => import(name));
13
+ }
14
+ /**
15
+ * Connect to a loaded MCP module.
16
+ */
17
+ async connectModule(module, config) {
18
+ // Check if it follows the Native MCP Module contract
19
+ if (typeof module.createMcpServer !== 'function') {
20
+ throw new Error(`Module does not export 'createMcpServer' function.`);
21
+ }
22
+ // Create the server instance
23
+ const server = await module.createMcpServer(config.options || {});
24
+ // Create linked in-memory transports
25
+ const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
26
+ // Connect server to transport
27
+ await server.connect(serverTransport);
28
+ // Create and connect client
29
+ const client = new Client({ name: "marktoflow-core", version: "2.0.0" }, { capabilities: {} });
30
+ await client.connect(clientTransport);
31
+ return client;
32
+ }
33
+ /**
34
+ * Load a native MCP module and connect to it in-memory.
35
+ */
36
+ async loadNative(packageName, config) {
37
+ let module;
38
+ try {
39
+ // Dynamic import of the package
40
+ module = await this.moduleLoader(packageName);
41
+ }
42
+ catch (error) {
43
+ throw new Error(`Failed to import native MCP module '${packageName}': ${error}`);
44
+ }
45
+ return this.connectModule(module, config);
46
+ }
47
+ /**
48
+ * Connect to an external MCP server via Stdio.
49
+ */
50
+ async connectStdio(command, args) {
51
+ const transport = new StdioClientTransport({
52
+ command,
53
+ args,
54
+ });
55
+ const client = new Client({ name: "marktoflow-core", version: "2.0.0" }, { capabilities: {} });
56
+ await client.connect(transport);
57
+ return client;
58
+ }
59
+ }
60
+ //# sourceMappingURL=mcp-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-loader.js","sourceRoot":"","sources":["../src/mcp-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAWjF,MAAM,OAAO,SAAS;IACZ,YAAY,CAAe;IAEnC,YAAY,YAA2B;QACrC,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAAW,EAAE,MAAkB;QACjD,qDAAqD;QACrD,IAAI,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,6BAA6B;QAC7B,MAAM,MAAM,GAAc,MAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAE7E,qCAAqC;QACrC,MAAM,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,CAAC;QAEhF,8BAA8B;QAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEtC,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7C,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB,CAAC;QACF,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAEtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,WAAmB,EAAE,MAAkB;QACtD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,gCAAgC;YAChC,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAChD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,uCAAuC,WAAW,MAAM,KAAK,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,IAAc;QAChD,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC;YACzC,OAAO;YACP,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC7C,EAAE,YAAY,EAAE,EAAE,EAAE,CACrB,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}