@marktoflow/core 2.0.0-alpha.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 (125) hide show
  1. package/dist/bundle.d.ts +43 -0
  2. package/dist/bundle.d.ts.map +1 -0
  3. package/dist/bundle.js +202 -0
  4. package/dist/bundle.js.map +1 -0
  5. package/dist/config.d.ts +33 -0
  6. package/dist/config.d.ts.map +1 -0
  7. package/dist/config.js +27 -0
  8. package/dist/config.js.map +1 -0
  9. package/dist/costs.d.ts +182 -0
  10. package/dist/costs.d.ts.map +1 -0
  11. package/dist/costs.js +464 -0
  12. package/dist/costs.js.map +1 -0
  13. package/dist/credentials.d.ts +162 -0
  14. package/dist/credentials.d.ts.map +1 -0
  15. package/dist/credentials.js +646 -0
  16. package/dist/credentials.js.map +1 -0
  17. package/dist/engine.d.ts +137 -0
  18. package/dist/engine.d.ts.map +1 -0
  19. package/dist/engine.js +514 -0
  20. package/dist/engine.js.map +1 -0
  21. package/dist/env.d.ts +59 -0
  22. package/dist/env.d.ts.map +1 -0
  23. package/dist/env.js +256 -0
  24. package/dist/env.js.map +1 -0
  25. package/dist/failover.d.ts +43 -0
  26. package/dist/failover.d.ts.map +1 -0
  27. package/dist/failover.js +53 -0
  28. package/dist/failover.js.map +1 -0
  29. package/dist/filewatcher.d.ts +32 -0
  30. package/dist/filewatcher.d.ts.map +1 -0
  31. package/dist/filewatcher.js +92 -0
  32. package/dist/filewatcher.js.map +1 -0
  33. package/dist/index.d.ts +36 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +69 -0
  36. package/dist/index.js.map +1 -0
  37. package/dist/logging.d.ts +62 -0
  38. package/dist/logging.d.ts.map +1 -0
  39. package/dist/logging.js +211 -0
  40. package/dist/logging.js.map +1 -0
  41. package/dist/mcp-loader.d.ts +29 -0
  42. package/dist/mcp-loader.d.ts.map +1 -0
  43. package/dist/mcp-loader.js +60 -0
  44. package/dist/mcp-loader.js.map +1 -0
  45. package/dist/metrics.d.ts +19 -0
  46. package/dist/metrics.d.ts.map +1 -0
  47. package/dist/metrics.js +65 -0
  48. package/dist/metrics.js.map +1 -0
  49. package/dist/models.d.ts +419 -0
  50. package/dist/models.d.ts.map +1 -0
  51. package/dist/models.js +111 -0
  52. package/dist/models.js.map +1 -0
  53. package/dist/parser.d.ts +40 -0
  54. package/dist/parser.d.ts.map +1 -0
  55. package/dist/parser.js +287 -0
  56. package/dist/parser.js.map +1 -0
  57. package/dist/plugins.d.ts +105 -0
  58. package/dist/plugins.d.ts.map +1 -0
  59. package/dist/plugins.js +182 -0
  60. package/dist/plugins.js.map +1 -0
  61. package/dist/queue.d.ts +114 -0
  62. package/dist/queue.d.ts.map +1 -0
  63. package/dist/queue.js +385 -0
  64. package/dist/queue.js.map +1 -0
  65. package/dist/rollback.d.ts +117 -0
  66. package/dist/rollback.d.ts.map +1 -0
  67. package/dist/rollback.js +374 -0
  68. package/dist/rollback.js.map +1 -0
  69. package/dist/routing.d.ts +144 -0
  70. package/dist/routing.d.ts.map +1 -0
  71. package/dist/routing.js +457 -0
  72. package/dist/routing.js.map +1 -0
  73. package/dist/scheduler.d.ts +91 -0
  74. package/dist/scheduler.d.ts.map +1 -0
  75. package/dist/scheduler.js +259 -0
  76. package/dist/scheduler.js.map +1 -0
  77. package/dist/script-tool.d.ts +22 -0
  78. package/dist/script-tool.d.ts.map +1 -0
  79. package/dist/script-tool.js +90 -0
  80. package/dist/script-tool.js.map +1 -0
  81. package/dist/sdk-registry.d.ts +81 -0
  82. package/dist/sdk-registry.d.ts.map +1 -0
  83. package/dist/sdk-registry.js +264 -0
  84. package/dist/sdk-registry.js.map +1 -0
  85. package/dist/security.d.ts +155 -0
  86. package/dist/security.d.ts.map +1 -0
  87. package/dist/security.js +362 -0
  88. package/dist/security.js.map +1 -0
  89. package/dist/state.d.ts +67 -0
  90. package/dist/state.d.ts.map +1 -0
  91. package/dist/state.js +276 -0
  92. package/dist/state.js.map +1 -0
  93. package/dist/templates.d.ts +70 -0
  94. package/dist/templates.d.ts.map +1 -0
  95. package/dist/templates.js +244 -0
  96. package/dist/templates.js.map +1 -0
  97. package/dist/tool-base.d.ts +54 -0
  98. package/dist/tool-base.d.ts.map +1 -0
  99. package/dist/tool-base.js +43 -0
  100. package/dist/tool-base.js.map +1 -0
  101. package/dist/tool-registry.d.ts +24 -0
  102. package/dist/tool-registry.d.ts.map +1 -0
  103. package/dist/tool-registry.js +164 -0
  104. package/dist/tool-registry.js.map +1 -0
  105. package/dist/tools/custom-tool.d.ts +16 -0
  106. package/dist/tools/custom-tool.d.ts.map +1 -0
  107. package/dist/tools/custom-tool.js +85 -0
  108. package/dist/tools/custom-tool.js.map +1 -0
  109. package/dist/tools/mcp-tool.d.ts +16 -0
  110. package/dist/tools/mcp-tool.d.ts.map +1 -0
  111. package/dist/tools/mcp-tool.js +98 -0
  112. package/dist/tools/mcp-tool.js.map +1 -0
  113. package/dist/tools/openapi-tool.d.ts +17 -0
  114. package/dist/tools/openapi-tool.d.ts.map +1 -0
  115. package/dist/tools/openapi-tool.js +165 -0
  116. package/dist/tools/openapi-tool.js.map +1 -0
  117. package/dist/trigger-manager.d.ts +26 -0
  118. package/dist/trigger-manager.d.ts.map +1 -0
  119. package/dist/trigger-manager.js +107 -0
  120. package/dist/trigger-manager.js.map +1 -0
  121. package/dist/webhook.d.ts +95 -0
  122. package/dist/webhook.d.ts.map +1 -0
  123. package/dist/webhook.js +261 -0
  124. package/dist/webhook.js.map +1 -0
  125. package/package.json +60 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Webhook receiver for marktoflow v2.0
3
+ *
4
+ * HTTP server for receiving webhook events from external services.
5
+ */
6
+ import { createServer } from 'node:http';
7
+ import { createHmac, timingSafeEqual } from 'node:crypto';
8
+ // ============================================================================
9
+ // Signature Verification
10
+ // ============================================================================
11
+ /**
12
+ * Verify a GitHub-style webhook signature.
13
+ * Format: sha256=<hex signature>
14
+ */
15
+ export function verifyGitHubSignature(payload, signature, secret) {
16
+ if (!signature.startsWith('sha256=')) {
17
+ return false;
18
+ }
19
+ const expected = 'sha256=' + createHmac('sha256', secret).update(payload).digest('hex');
20
+ try {
21
+ return timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
22
+ }
23
+ catch {
24
+ return false;
25
+ }
26
+ }
27
+ /**
28
+ * Verify a generic HMAC-SHA256 signature.
29
+ */
30
+ export function verifyHmacSignature(payload, signature, secret) {
31
+ const expected = createHmac('sha256', secret).update(payload).digest('hex');
32
+ try {
33
+ return timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
34
+ }
35
+ catch {
36
+ return false;
37
+ }
38
+ }
39
+ /**
40
+ * Verify a Slack webhook signature.
41
+ * Uses headers: x-slack-signature (v0=...) and x-slack-request-timestamp.
42
+ */
43
+ export function verifySlackSignature(payload, signature, timestamp, secret) {
44
+ if (!signature.startsWith('v0='))
45
+ return false;
46
+ const base = `v0:${timestamp}:${payload}`;
47
+ const expected = 'v0=' + createHmac('sha256', secret).update(base).digest('hex');
48
+ try {
49
+ return timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
50
+ }
51
+ catch {
52
+ return false;
53
+ }
54
+ }
55
+ /**
56
+ * Generate a signature for testing.
57
+ */
58
+ export function generateSignature(payload, secret) {
59
+ return 'sha256=' + createHmac('sha256', secret).update(payload).digest('hex');
60
+ }
61
+ // ============================================================================
62
+ // WebhookReceiver Implementation
63
+ // ============================================================================
64
+ export class WebhookReceiver {
65
+ server = null;
66
+ endpoints = new Map();
67
+ handlers = new Map();
68
+ host;
69
+ port;
70
+ constructor(options = {}) {
71
+ this.host = options.host || '0.0.0.0';
72
+ this.port = options.port || 3000;
73
+ }
74
+ /**
75
+ * Register a webhook endpoint.
76
+ */
77
+ registerEndpoint(endpoint, handler) {
78
+ this.endpoints.set(endpoint.path, endpoint);
79
+ this.handlers.set(endpoint.path, handler);
80
+ }
81
+ /**
82
+ * Unregister a webhook endpoint.
83
+ */
84
+ unregisterEndpoint(path) {
85
+ this.handlers.delete(path);
86
+ return this.endpoints.delete(path);
87
+ }
88
+ /**
89
+ * Get all registered endpoints.
90
+ */
91
+ getEndpoints() {
92
+ return Array.from(this.endpoints.values());
93
+ }
94
+ /**
95
+ * Start the webhook server.
96
+ */
97
+ async start() {
98
+ return new Promise((resolve, reject) => {
99
+ this.server = createServer((req, res) => {
100
+ this.handleRequest(req, res).catch((error) => {
101
+ console.error('Webhook handler error:', error);
102
+ res.statusCode = 500;
103
+ res.end('Internal Server Error');
104
+ });
105
+ });
106
+ this.server.on('error', reject);
107
+ this.server.listen(this.port, this.host, () => {
108
+ console.log(`Webhook receiver listening on ${this.host}:${this.port}`);
109
+ resolve();
110
+ });
111
+ });
112
+ }
113
+ /**
114
+ * Stop the webhook server.
115
+ */
116
+ async stop() {
117
+ return new Promise((resolve, reject) => {
118
+ if (!this.server) {
119
+ resolve();
120
+ return;
121
+ }
122
+ this.server.close((error) => {
123
+ if (error) {
124
+ reject(error);
125
+ }
126
+ else {
127
+ this.server = null;
128
+ resolve();
129
+ }
130
+ });
131
+ });
132
+ }
133
+ /**
134
+ * Check if server is running.
135
+ */
136
+ isRunning() {
137
+ return this.server !== null;
138
+ }
139
+ /**
140
+ * Get the server URL.
141
+ */
142
+ getUrl() {
143
+ return `http://${this.host}:${this.port}`;
144
+ }
145
+ async handleRequest(req, res) {
146
+ const url = new URL(req.url || '/', `http://${req.headers.host}`);
147
+ const path = url.pathname;
148
+ const method = req.method || 'GET';
149
+ // Find matching endpoint
150
+ const endpoint = this.endpoints.get(path);
151
+ const handler = this.handlers.get(path);
152
+ if (!endpoint || !handler) {
153
+ res.statusCode = 404;
154
+ res.end('Not Found');
155
+ return;
156
+ }
157
+ if (!endpoint.enabled) {
158
+ res.statusCode = 503;
159
+ res.end('Endpoint Disabled');
160
+ return;
161
+ }
162
+ if (!endpoint.methods.includes(method)) {
163
+ res.statusCode = 405;
164
+ res.end('Method Not Allowed');
165
+ return;
166
+ }
167
+ // Read body
168
+ const body = await this.readBody(req);
169
+ // Verify signature if secret is configured
170
+ if (endpoint.secret) {
171
+ const signature = req.headers['x-hub-signature-256'] ||
172
+ req.headers['x-signature'];
173
+ if (!signature) {
174
+ res.statusCode = 401;
175
+ res.end('Missing Signature');
176
+ return;
177
+ }
178
+ const isValid = signature.startsWith('sha256=')
179
+ ? verifyGitHubSignature(body, signature, endpoint.secret)
180
+ : verifyHmacSignature(body, signature, endpoint.secret);
181
+ if (!isValid) {
182
+ res.statusCode = 401;
183
+ res.end('Invalid Signature');
184
+ return;
185
+ }
186
+ }
187
+ // Parse query parameters
188
+ const query = {};
189
+ url.searchParams.forEach((value, key) => {
190
+ query[key] = value;
191
+ });
192
+ // Create webhook event
193
+ const event = {
194
+ id: crypto.randomUUID(),
195
+ path,
196
+ method,
197
+ headers: this.flattenHeaders(req.headers),
198
+ body,
199
+ query,
200
+ receivedAt: new Date(),
201
+ };
202
+ // Call handler
203
+ try {
204
+ const response = await handler(event);
205
+ res.statusCode = response.status;
206
+ if (response.headers) {
207
+ for (const [key, value] of Object.entries(response.headers)) {
208
+ res.setHeader(key, value);
209
+ }
210
+ }
211
+ res.end(response.body || '');
212
+ }
213
+ catch (error) {
214
+ console.error('Handler error:', error);
215
+ res.statusCode = 500;
216
+ res.end('Handler Error');
217
+ }
218
+ }
219
+ readBody(req) {
220
+ return new Promise((resolve, reject) => {
221
+ const chunks = [];
222
+ req.on('data', (chunk) => chunks.push(chunk));
223
+ req.on('end', () => resolve(Buffer.concat(chunks).toString('utf-8')));
224
+ req.on('error', reject);
225
+ });
226
+ }
227
+ flattenHeaders(headers) {
228
+ const result = {};
229
+ for (const [key, value] of Object.entries(headers)) {
230
+ if (value) {
231
+ result[key] = Array.isArray(value) ? value.join(', ') : value;
232
+ }
233
+ }
234
+ return result;
235
+ }
236
+ }
237
+ // ============================================================================
238
+ // Helper Functions
239
+ // ============================================================================
240
+ export function createEndpoint(path, options = {}) {
241
+ return {
242
+ path,
243
+ secret: options.secret,
244
+ workflowId: options.workflowId,
245
+ methods: options.methods || ['POST'],
246
+ enabled: true,
247
+ };
248
+ }
249
+ export function parseWebhookBody(event) {
250
+ const contentType = event.headers['content-type'] || '';
251
+ if (contentType.includes('application/json')) {
252
+ try {
253
+ return JSON.parse(event.body);
254
+ }
255
+ catch {
256
+ return event.body;
257
+ }
258
+ }
259
+ return event.body;
260
+ }
261
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/webhook.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@marktoflow/core",
3
+ "version": "2.0.0-alpha.3",
4
+ "description": "Core engine for marktoflow - parser, executor, state management",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/scottgl9/marktoflow.git",
11
+ "directory": "packages/core"
12
+ },
13
+ "homepage": "https://github.com/scottgl9/marktoflow#readme",
14
+ "bugs": {
15
+ "url": "https://github.com/scottgl9/marktoflow/issues"
16
+ },
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js"
21
+ }
22
+ },
23
+ "scripts": {
24
+ "build": "tsc",
25
+ "test": "vitest run",
26
+ "test:watch": "vitest",
27
+ "lint": "tsc --noEmit",
28
+ "clean": "rm -rf dist"
29
+ },
30
+ "dependencies": {
31
+ "@modelcontextprotocol/sdk": "^1.25.3",
32
+ "amqplib": "^0.10.9",
33
+ "better-sqlite3": "11.10.0",
34
+ "chokidar": "^5.0.0",
35
+ "dotenv": "^16.4.5",
36
+ "ioredis": "^5.9.2",
37
+ "prom-client": "^15.1.3",
38
+ "yaml": "^2.6.0",
39
+ "zod": "^3.24.0"
40
+ },
41
+ "devDependencies": {
42
+ "@types/amqplib": "^0.10.8",
43
+ "@types/better-sqlite3": "^7.6.0"
44
+ },
45
+ "peerDependencies": {
46
+ "typescript": "^5.0.0"
47
+ },
48
+ "files": [
49
+ "dist"
50
+ ],
51
+ "keywords": [
52
+ "marktoflow",
53
+ "workflow",
54
+ "parser",
55
+ "automation",
56
+ "mcp"
57
+ ],
58
+ "author": "Scott Glover",
59
+ "license": "Apache-2.0"
60
+ }