@marktoflow/core 2.0.0-alpha.14 → 2.0.0-alpha.15
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/expression-helpers.d.ts +309 -0
- package/dist/expression-helpers.d.ts.map +1 -0
- package/dist/expression-helpers.js +697 -0
- package/dist/expression-helpers.js.map +1 -0
- package/dist/pipeline-parser.d.ts +38 -0
- package/dist/pipeline-parser.d.ts.map +1 -0
- package/dist/pipeline-parser.js +219 -0
- package/dist/pipeline-parser.js.map +1 -0
- package/dist/regex-operators.d.ts +86 -0
- package/dist/regex-operators.d.ts.map +1 -0
- package/dist/regex-operators.js +383 -0
- package/dist/regex-operators.js.map +1 -0
- package/dist/tools/mcp-tool.js +9 -9
- package/dist/tools/mcp-tool.js.map +1 -1
- package/dist/version.d.ts +8 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +8 -0
- package/dist/version.js.map +1 -0
- package/package.json +5 -2
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regex Operator Support for marktoflow Templates
|
|
3
|
+
*
|
|
4
|
+
* Provides inline regex operators for templates:
|
|
5
|
+
* - =~ : Match and extract (returns capture groups or boolean)
|
|
6
|
+
* - !~ : Negative match (returns boolean)
|
|
7
|
+
* - // : Replace (regex substitution)
|
|
8
|
+
*
|
|
9
|
+
* Examples:
|
|
10
|
+
* {{ inputs.repo =~ /^([^\/]+)\// }} // Extract owner from "owner/repo"
|
|
11
|
+
* {{ inputs.email !~ /@example\.com$/ }} // Check if NOT example.com
|
|
12
|
+
* {{ inputs.service // /[^a-z0-9]+/-/g }} // Slugify (replace non-alphanumeric)
|
|
13
|
+
*/
|
|
14
|
+
// ============================================================================
|
|
15
|
+
// Regex Operator Detection
|
|
16
|
+
// ============================================================================
|
|
17
|
+
/**
|
|
18
|
+
* Check if a template expression contains regex operators.
|
|
19
|
+
*/
|
|
20
|
+
export function hasRegexOperators(expression) {
|
|
21
|
+
// Match operator symbols that are not within regex patterns
|
|
22
|
+
return /=~|!~|\/\//.test(expression);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Parse a template expression to detect and extract regex operations.
|
|
26
|
+
* Returns null if no regex operators found.
|
|
27
|
+
*/
|
|
28
|
+
export function parseRegexExpression(expression) {
|
|
29
|
+
const trimmed = expression.trim();
|
|
30
|
+
// Try to match =~ operator (match/extract)
|
|
31
|
+
const matchOp = parseMatchOperator(trimmed);
|
|
32
|
+
if (matchOp)
|
|
33
|
+
return matchOp;
|
|
34
|
+
// Try to match !~ operator (negative match)
|
|
35
|
+
const negMatchOp = parseNegativeMatchOperator(trimmed);
|
|
36
|
+
if (negMatchOp)
|
|
37
|
+
return negMatchOp;
|
|
38
|
+
// Try to match // operator (replace)
|
|
39
|
+
const replaceOp = parseReplaceOperator(trimmed);
|
|
40
|
+
if (replaceOp)
|
|
41
|
+
return replaceOp;
|
|
42
|
+
return null;
|
|
43
|
+
}
|
|
44
|
+
// ============================================================================
|
|
45
|
+
// Operator Parsers
|
|
46
|
+
// ============================================================================
|
|
47
|
+
/**
|
|
48
|
+
* Parse =~ match operator
|
|
49
|
+
* Syntax: value =~ /pattern/ or value =~ /pattern/flags or value =~ /pattern/1
|
|
50
|
+
*/
|
|
51
|
+
function parseMatchOperator(expr) {
|
|
52
|
+
// Pattern: <value> =~ /<pattern>/<flags|groupSelector>?
|
|
53
|
+
const match = expr.match(/^(.+?)\s*=~\s*\/(.+?)\/([gimsu\d]*|:[a-zA-Z_]\w*)?$/);
|
|
54
|
+
if (!match)
|
|
55
|
+
return null;
|
|
56
|
+
const [, value, pattern, flagsOrSelector] = match;
|
|
57
|
+
// Parse flags and group selector
|
|
58
|
+
let flags = '';
|
|
59
|
+
let groupIndex;
|
|
60
|
+
let groupName;
|
|
61
|
+
if (flagsOrSelector) {
|
|
62
|
+
// Check if it's a group selector
|
|
63
|
+
if (/^\d+$/.test(flagsOrSelector)) {
|
|
64
|
+
// Numeric group index
|
|
65
|
+
groupIndex = parseInt(flagsOrSelector, 10);
|
|
66
|
+
}
|
|
67
|
+
else if (flagsOrSelector.startsWith(':')) {
|
|
68
|
+
// Named group selector
|
|
69
|
+
groupName = flagsOrSelector.slice(1);
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
// Regex flags
|
|
73
|
+
flags = flagsOrSelector;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return {
|
|
77
|
+
type: 'match',
|
|
78
|
+
value: value.trim(),
|
|
79
|
+
pattern,
|
|
80
|
+
flags,
|
|
81
|
+
groupIndex,
|
|
82
|
+
groupName,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Parse !~ negative match operator
|
|
87
|
+
* Syntax: value !~ /pattern/flags?
|
|
88
|
+
*/
|
|
89
|
+
function parseNegativeMatchOperator(expr) {
|
|
90
|
+
const match = expr.match(/^(.+?)\s*!~\s*\/(.+?)\/([gimsu]*)?$/);
|
|
91
|
+
if (!match)
|
|
92
|
+
return null;
|
|
93
|
+
const [, value, pattern, flags = ''] = match;
|
|
94
|
+
return {
|
|
95
|
+
type: 'negative_match',
|
|
96
|
+
value: value.trim(),
|
|
97
|
+
pattern,
|
|
98
|
+
flags,
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Parse // replace operator
|
|
103
|
+
* Syntax: value // /pattern/replacement/flags?
|
|
104
|
+
*/
|
|
105
|
+
function parseReplaceOperator(expr) {
|
|
106
|
+
// Pattern: <value> // /<pattern>/<replacement>/<flags>?
|
|
107
|
+
// Need to handle escaped slashes within pattern and replacement
|
|
108
|
+
// Try to extract the operator parts
|
|
109
|
+
const opMatch = expr.match(/^(.+?)\s*\/\/\s*\/(.+)$/);
|
|
110
|
+
if (!opMatch)
|
|
111
|
+
return null;
|
|
112
|
+
const [, value, rest] = opMatch;
|
|
113
|
+
// Now parse /pattern/replacement/flags from rest
|
|
114
|
+
// This is tricky because pattern and replacement can contain escaped /
|
|
115
|
+
const parts = parseRegexReplaceParts(rest);
|
|
116
|
+
if (!parts)
|
|
117
|
+
return null;
|
|
118
|
+
return {
|
|
119
|
+
type: 'replace',
|
|
120
|
+
value: value.trim(),
|
|
121
|
+
pattern: parts.pattern,
|
|
122
|
+
replacement: parts.replacement,
|
|
123
|
+
flags: parts.flags,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Parse the pattern/replacement/flags portion of a replace operation.
|
|
128
|
+
* Handles escaped slashes within pattern and replacement.
|
|
129
|
+
*/
|
|
130
|
+
function parseRegexReplaceParts(input) {
|
|
131
|
+
let i = 0;
|
|
132
|
+
let part = 0;
|
|
133
|
+
let current = '';
|
|
134
|
+
const parts = [];
|
|
135
|
+
let escaped = false;
|
|
136
|
+
while (i < input.length) {
|
|
137
|
+
const char = input[i];
|
|
138
|
+
if (escaped) {
|
|
139
|
+
current += char;
|
|
140
|
+
escaped = false;
|
|
141
|
+
i++;
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
if (char === '\\') {
|
|
145
|
+
current += char;
|
|
146
|
+
escaped = true;
|
|
147
|
+
i++;
|
|
148
|
+
continue;
|
|
149
|
+
}
|
|
150
|
+
if (char === '/') {
|
|
151
|
+
parts.push(current);
|
|
152
|
+
current = '';
|
|
153
|
+
part++;
|
|
154
|
+
i++;
|
|
155
|
+
if (part >= 2)
|
|
156
|
+
break; // Found pattern and replacement
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
current += char;
|
|
160
|
+
i++;
|
|
161
|
+
}
|
|
162
|
+
// Remaining characters are flags
|
|
163
|
+
const flags = input.slice(i).trim();
|
|
164
|
+
if (parts.length < 2)
|
|
165
|
+
return null;
|
|
166
|
+
return {
|
|
167
|
+
pattern: parts[0],
|
|
168
|
+
replacement: parts[1],
|
|
169
|
+
flags,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
// ============================================================================
|
|
173
|
+
// Regex Execution
|
|
174
|
+
// ============================================================================
|
|
175
|
+
/**
|
|
176
|
+
* Execute a regex operation and return the result.
|
|
177
|
+
*/
|
|
178
|
+
export function executeRegexOperation(operation, context) {
|
|
179
|
+
switch (operation.type) {
|
|
180
|
+
case 'match':
|
|
181
|
+
return executeMatchOperation(operation, context);
|
|
182
|
+
case 'negative_match':
|
|
183
|
+
return executeNegativeMatchOperation(operation, context);
|
|
184
|
+
case 'replace':
|
|
185
|
+
return executeReplaceOperation(operation, context);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Execute a match operation (=~)
|
|
190
|
+
*/
|
|
191
|
+
function executeMatchOperation(operation, context) {
|
|
192
|
+
// Resolve the value expression first
|
|
193
|
+
const value = resolveValue(operation.value, context);
|
|
194
|
+
const str = String(value ?? '');
|
|
195
|
+
// Create regex
|
|
196
|
+
const regex = new RegExp(operation.pattern, operation.flags);
|
|
197
|
+
const match = str.match(regex);
|
|
198
|
+
if (!match) {
|
|
199
|
+
// No match - return null or false depending on context
|
|
200
|
+
return null;
|
|
201
|
+
}
|
|
202
|
+
// If a specific group is requested, return just that group
|
|
203
|
+
if (operation.groupIndex !== undefined) {
|
|
204
|
+
return match[operation.groupIndex] ?? null;
|
|
205
|
+
}
|
|
206
|
+
if (operation.groupName) {
|
|
207
|
+
return match.groups?.[operation.groupName] ?? null;
|
|
208
|
+
}
|
|
209
|
+
// If pattern has named groups, return groups object
|
|
210
|
+
if (match.groups && Object.keys(match.groups).length > 0) {
|
|
211
|
+
return match.groups;
|
|
212
|
+
}
|
|
213
|
+
// If pattern has capture groups (but not named), return array or first group
|
|
214
|
+
if (match.length > 1) {
|
|
215
|
+
// Return first capture group by default (common use case)
|
|
216
|
+
return match[1];
|
|
217
|
+
}
|
|
218
|
+
// No capture groups - return true for boolean context
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Execute a negative match operation (!~)
|
|
223
|
+
*/
|
|
224
|
+
function executeNegativeMatchOperation(operation, context) {
|
|
225
|
+
const value = resolveValue(operation.value, context);
|
|
226
|
+
const str = String(value ?? '');
|
|
227
|
+
const regex = new RegExp(operation.pattern, operation.flags);
|
|
228
|
+
return !regex.test(str);
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Execute a replace operation (//)
|
|
232
|
+
*/
|
|
233
|
+
function executeReplaceOperation(operation, context) {
|
|
234
|
+
const value = resolveValue(operation.value, context);
|
|
235
|
+
const str = String(value ?? '');
|
|
236
|
+
const regex = new RegExp(operation.pattern, operation.flags);
|
|
237
|
+
return str.replace(regex, operation.replacement);
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Resolve a value expression from context.
|
|
241
|
+
* This is a simplified version - in practice, would use the full template resolver.
|
|
242
|
+
*/
|
|
243
|
+
function resolveValue(expression, context) {
|
|
244
|
+
// Strip any surrounding whitespace
|
|
245
|
+
const trimmed = expression.trim();
|
|
246
|
+
// Check if it's a direct variable reference
|
|
247
|
+
if (trimmed.startsWith('inputs.')) {
|
|
248
|
+
const path = trimmed.slice(7);
|
|
249
|
+
return getNestedValue(context.inputs, path);
|
|
250
|
+
}
|
|
251
|
+
// Check variables
|
|
252
|
+
const fromVars = getNestedValue(context.variables, trimmed);
|
|
253
|
+
if (fromVars !== undefined) {
|
|
254
|
+
return fromVars;
|
|
255
|
+
}
|
|
256
|
+
// Return as-is (might be a literal)
|
|
257
|
+
return trimmed;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Get nested value from object using dot notation.
|
|
261
|
+
*/
|
|
262
|
+
function getNestedValue(obj, path) {
|
|
263
|
+
if (obj === null || obj === undefined) {
|
|
264
|
+
return undefined;
|
|
265
|
+
}
|
|
266
|
+
const parts = path.split('.');
|
|
267
|
+
let result = obj;
|
|
268
|
+
for (const part of parts) {
|
|
269
|
+
if (result === null || result === undefined) {
|
|
270
|
+
return undefined;
|
|
271
|
+
}
|
|
272
|
+
if (typeof result === 'object') {
|
|
273
|
+
result = result[part];
|
|
274
|
+
}
|
|
275
|
+
else {
|
|
276
|
+
return undefined;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
return result;
|
|
280
|
+
}
|
|
281
|
+
// ============================================================================
|
|
282
|
+
// Template Integration Helper
|
|
283
|
+
// ============================================================================
|
|
284
|
+
/**
|
|
285
|
+
* Process a template expression that may contain regex operators.
|
|
286
|
+
* Returns the processed value, or null if no regex operators found.
|
|
287
|
+
*/
|
|
288
|
+
export function processRegexTemplate(expression, context) {
|
|
289
|
+
const operation = parseRegexExpression(expression);
|
|
290
|
+
if (!operation) {
|
|
291
|
+
return null; // No regex operators found
|
|
292
|
+
}
|
|
293
|
+
return executeRegexOperation(operation, context);
|
|
294
|
+
}
|
|
295
|
+
// ============================================================================
|
|
296
|
+
// Destructuring Support
|
|
297
|
+
// ============================================================================
|
|
298
|
+
/**
|
|
299
|
+
* Check if YAML value represents a destructuring pattern.
|
|
300
|
+
* Examples: [owner, repo], {owner, repo}
|
|
301
|
+
*/
|
|
302
|
+
export function isDestructuringPattern(value) {
|
|
303
|
+
return Array.isArray(value) || (typeof value === 'object' && value !== null);
|
|
304
|
+
}
|
|
305
|
+
/**
|
|
306
|
+
* Apply destructuring to a regex match result.
|
|
307
|
+
*
|
|
308
|
+
* Examples:
|
|
309
|
+
* [owner, repo]: "{{ repo =~ /^([^\/]+)\/(.+)$/ }}"
|
|
310
|
+
* {owner, name}: "{{ repo =~ /(?<owner>[^\/]+)\/(?<name>.+)/ }}"
|
|
311
|
+
*/
|
|
312
|
+
export function applyDestructuring(pattern, result, context) {
|
|
313
|
+
if (Array.isArray(pattern)) {
|
|
314
|
+
// Array destructuring - expect result to be array or regex match
|
|
315
|
+
if (Array.isArray(result)) {
|
|
316
|
+
for (let i = 0; i < pattern.length && i < result.length; i++) {
|
|
317
|
+
const varName = pattern[i];
|
|
318
|
+
if (typeof varName === 'string') {
|
|
319
|
+
context.variables[varName] = result[i];
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
else if (typeof result === 'object' && result !== null) {
|
|
324
|
+
// Result might be a regex match with groups
|
|
325
|
+
const match = result;
|
|
326
|
+
// Try numbered groups first
|
|
327
|
+
for (let i = 0; i < pattern.length; i++) {
|
|
328
|
+
const varName = pattern[i];
|
|
329
|
+
if (typeof varName === 'string') {
|
|
330
|
+
const value = match[i + 1]; // Capture groups start at index 1
|
|
331
|
+
if (value !== undefined) {
|
|
332
|
+
context.variables[varName] = value;
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
// Object destructuring - expect result to be object with named properties
|
|
340
|
+
if (typeof result === 'object' && result !== null) {
|
|
341
|
+
for (const [key, targetVar] of Object.entries(pattern)) {
|
|
342
|
+
const value = result[key];
|
|
343
|
+
if (value !== undefined && typeof targetVar === 'string') {
|
|
344
|
+
context.variables[targetVar] = value;
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// ============================================================================
|
|
351
|
+
// Built-in Regex Patterns Library
|
|
352
|
+
// ============================================================================
|
|
353
|
+
export const BUILTIN_PATTERNS = {
|
|
354
|
+
// Common patterns
|
|
355
|
+
github_repo: String.raw `(?<owner>[^\/]+)\/(?<repo>[^\/]+)`,
|
|
356
|
+
email: String.raw `(?<user>[^@]+)@(?<domain>[^.]+\..+)`,
|
|
357
|
+
semver: String.raw `v?(?<major>\d+)\.(?<minor>\d+)\.(?<patch>\d+)(-(?<pre>[^+]+))?(\+(?<build>.+))?`,
|
|
358
|
+
url: String.raw `(?<protocol>https?):\/\/(?<domain>[^\/]+)(?<path>\/.*)?`,
|
|
359
|
+
// Code extraction patterns
|
|
360
|
+
json_block: String.raw `\`\`\`json\s*(?<json>[\s\S]*?)\s*\`\`\``,
|
|
361
|
+
code_block: String.raw `\`\`\`(?<lang>\w+)?\s*(?<code>[\s\S]*?)\s*\`\`\``,
|
|
362
|
+
// Issue/ticket patterns
|
|
363
|
+
issue_ref: String.raw `(?<prefix>[A-Z]+)-(?<number>\d+)`,
|
|
364
|
+
jira_issue: String.raw `(?<project>[A-Z]+)-(?<number>\d+)`,
|
|
365
|
+
github_issue: String.raw `#(?<number>\d+)`,
|
|
366
|
+
// Communication patterns
|
|
367
|
+
slack_channel: String.raw `#(?<channel>[a-z0-9-_]+)`,
|
|
368
|
+
slack_user: String.raw `@(?<username>[a-z0-9._-]+)`,
|
|
369
|
+
// File/path patterns
|
|
370
|
+
file_extension: String.raw `\.(?<ext>[a-zA-Z0-9]+)$`,
|
|
371
|
+
file_basename: String.raw `(?<basename>[^\/]+)\.(?<ext>[a-zA-Z0-9]+)$`,
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* Resolve a pattern reference (e.g., $github_repo) to actual regex.
|
|
375
|
+
*/
|
|
376
|
+
export function resolvePatternReference(pattern) {
|
|
377
|
+
if (pattern.startsWith('$')) {
|
|
378
|
+
const patternName = pattern.slice(1);
|
|
379
|
+
return BUILTIN_PATTERNS[patternName] ?? pattern;
|
|
380
|
+
}
|
|
381
|
+
return pattern;
|
|
382
|
+
}
|
|
383
|
+
//# sourceMappingURL=regex-operators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regex-operators.js","sourceRoot":"","sources":["../src/regex-operators.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/mcp-tool.js
CHANGED
|
@@ -18,15 +18,15 @@ export class MCPTool extends Tool {
|
|
|
18
18
|
if (this.implementation.packageName) {
|
|
19
19
|
const config = this.buildConfig();
|
|
20
20
|
const client = await this.loader.loadNative(this.implementation.packageName, config);
|
|
21
|
-
const
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
}
|
|
21
|
+
const toolsResponse = await client.listTools?.();
|
|
22
|
+
// The MCP SDK returns { tools: [...] } not just an array
|
|
23
|
+
const toolsArray = Array.isArray(toolsResponse) ? toolsResponse : toolsResponse?.tools ?? [];
|
|
24
|
+
for (const tool of toolsArray) {
|
|
25
|
+
this.operations[tool.name] = {
|
|
26
|
+
name: tool.name,
|
|
27
|
+
description: tool.description,
|
|
28
|
+
input_schema: tool.inputSchema ?? tool.input_schema ?? {},
|
|
29
|
+
};
|
|
30
30
|
}
|
|
31
31
|
this.client = client;
|
|
32
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../src/tools/mcp-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,IAAI,EAAsC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAS7C,MAAM,OAAO,OAAQ,SAAQ,IAAI;IACvB,UAAU,GAAgC,EAAE,CAAC;IAC7C,MAAM,GAAQ,IAAI,CAAC;IACnB,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;IAEjC,YAAY,UAA0B,EAAE,cAAkC;QACxE,KAAK,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAC7B,IAAI,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACrF,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-tool.js","sourceRoot":"","sources":["../../src/tools/mcp-tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,OAAO,mBAAmB,CAAC"}
|
package/dist/version.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@marktoflow/core",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.15",
|
|
4
4
|
"description": "Core engine for marktoflow - parser, executor, state management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -72,5 +72,8 @@
|
|
|
72
72
|
"mcp"
|
|
73
73
|
],
|
|
74
74
|
"author": "Scott Glover",
|
|
75
|
-
"license": "Apache-2.0"
|
|
75
|
+
"license": "Apache-2.0",
|
|
76
|
+
"publishConfig": {
|
|
77
|
+
"registry": "https://registry.npmjs.org/"
|
|
78
|
+
}
|
|
76
79
|
}
|