callman-core 1.1.0 → 1.3.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/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/scenario-runner/condition.d.ts.map +1 -1
- package/dist/scenario-runner/condition.js +87 -78
- package/dist/scenario-runner/condition.js.map +1 -1
- package/dist/scenario-runner/index.d.ts +1 -1
- package/dist/scenario-runner/index.d.ts.map +1 -1
- package/dist/scenario-runner/index.js +6 -1
- package/dist/scenario-runner/index.js.map +1 -1
- package/dist/script/executor.d.ts.map +1 -1
- package/dist/script/executor.js +118 -9
- package/dist/script/executor.js.map +1 -1
- package/dist/script/features/counter.d.ts +11 -0
- package/dist/script/features/counter.d.ts.map +1 -0
- package/dist/script/features/counter.js +43 -0
- package/dist/script/features/counter.js.map +1 -0
- package/dist/script/features/cryptojs.d.ts +13 -0
- package/dist/script/features/cryptojs.d.ts.map +1 -0
- package/dist/script/features/cryptojs.js +63 -0
- package/dist/script/features/cryptojs.js.map +1 -0
- package/dist/script/features/db.d.ts +36 -0
- package/dist/script/features/db.d.ts.map +1 -0
- package/dist/script/features/db.js +165 -0
- package/dist/script/features/db.js.map +1 -0
- package/dist/script/features/feature-policy.d.ts +8 -0
- package/dist/script/features/feature-policy.d.ts.map +1 -0
- package/dist/script/features/feature-policy.js +88 -0
- package/dist/script/features/feature-policy.js.map +1 -0
- package/dist/script/features/kafka.d.ts +11 -0
- package/dist/script/features/kafka.d.ts.map +1 -0
- package/dist/script/features/kafka.js +71 -0
- package/dist/script/features/kafka.js.map +1 -0
- package/dist/script/features/random.d.ts +13 -0
- package/dist/script/features/random.d.ts.map +1 -0
- package/dist/script/features/random.js +111 -0
- package/dist/script/features/random.js.map +1 -0
- package/dist/script/features/redis.d.ts +10 -0
- package/dist/script/features/redis.d.ts.map +1 -0
- package/dist/script/features/redis.js +22 -0
- package/dist/script/features/redis.js.map +1 -0
- package/dist/script/features/tests.d.ts +7 -1
- package/dist/script/features/tests.d.ts.map +1 -1
- package/dist/script/features/tests.js +97 -12
- package/dist/script/features/tests.js.map +1 -1
- package/dist/script/features/variables.d.ts +6 -0
- package/dist/script/features/variables.d.ts.map +1 -0
- package/dist/script/features/variables.js +25 -0
- package/dist/script/features/variables.js.map +1 -0
- package/dist/script/scope.d.ts +7 -0
- package/dist/script/scope.d.ts.map +1 -1
- package/dist/script/scope.js +21 -0
- package/dist/script/scope.js.map +1 -1
- package/dist/script/types.d.ts +73 -0
- package/dist/script/types.d.ts.map +1 -1
- package/dist-cjs/index.js +7 -1
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/scenario-runner/condition.js +87 -78
- package/dist-cjs/scenario-runner/condition.js.map +1 -1
- package/dist-cjs/scenario-runner/index.js +7 -5
- package/dist-cjs/scenario-runner/index.js.map +1 -1
- package/dist-cjs/script/executor.js +118 -9
- package/dist-cjs/script/executor.js.map +1 -1
- package/dist-cjs/script/features/counter.js +47 -0
- package/dist-cjs/script/features/counter.js.map +1 -0
- package/dist-cjs/script/features/cryptojs.js +67 -0
- package/dist-cjs/script/features/cryptojs.js.map +1 -0
- package/dist-cjs/script/features/db.js +169 -0
- package/dist-cjs/script/features/db.js.map +1 -0
- package/dist-cjs/script/features/feature-policy.js +94 -0
- package/dist-cjs/script/features/feature-policy.js.map +1 -0
- package/dist-cjs/script/features/kafka.js +77 -0
- package/dist-cjs/script/features/kafka.js.map +1 -0
- package/dist-cjs/script/features/random.js +115 -0
- package/dist-cjs/script/features/random.js.map +1 -0
- package/dist-cjs/script/features/redis.js +26 -0
- package/dist-cjs/script/features/redis.js.map +1 -0
- package/dist-cjs/script/features/tests.js +97 -12
- package/dist-cjs/script/features/tests.js.map +1 -1
- package/dist-cjs/script/features/variables.js +29 -0
- package/dist-cjs/script/features/variables.js.map +1 -0
- package/dist-cjs/script/scope.js +21 -0
- package/dist-cjs/script/scope.js.map +1 -1
- package/package.json +1 -1
package/dist/script/scope.js
CHANGED
|
@@ -120,6 +120,27 @@ export const buildScopeTarget = (bindings) => {
|
|
|
120
120
|
if (bindings.console !== undefined) {
|
|
121
121
|
target.console = bindings.console;
|
|
122
122
|
}
|
|
123
|
+
if (bindings.db !== undefined) {
|
|
124
|
+
target.db = bindings.db;
|
|
125
|
+
}
|
|
126
|
+
if (bindings.kafka !== undefined) {
|
|
127
|
+
target.kafka = bindings.kafka;
|
|
128
|
+
}
|
|
129
|
+
if (bindings.redis !== undefined) {
|
|
130
|
+
target.redis = bindings.redis;
|
|
131
|
+
}
|
|
132
|
+
if (bindings.random !== undefined) {
|
|
133
|
+
target.random = bindings.random;
|
|
134
|
+
}
|
|
135
|
+
if (bindings.counter !== undefined) {
|
|
136
|
+
target.counter = bindings.counter;
|
|
137
|
+
}
|
|
138
|
+
if (bindings.variables !== undefined) {
|
|
139
|
+
target.variables = bindings.variables;
|
|
140
|
+
}
|
|
141
|
+
if (bindings.CryptoJS !== undefined) {
|
|
142
|
+
target.CryptoJS = bindings.CryptoJS;
|
|
143
|
+
}
|
|
123
144
|
if (bindings.labelGlobals) {
|
|
124
145
|
for (const [name, value] of Object.entries(bindings.labelGlobals)) {
|
|
125
146
|
target[name] = value;
|
package/dist/script/scope.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,EAAE;AACF,wEAAwE;AACxE,4EAA4E;AAC5E,yEAAyE;AACzE,wEAAwE;AACxE,yBAAyB;AACzB,EAAE;AACF,0EAA0E;AAC1E,uEAAuE;AAEvE,MAAM,eAAe,GAA4B;IAC/C,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,MAAM;IACN,OAAO;IACP,KAAK;IACL,MAAM;IACN,IAAI;IACJ,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,cAAc;IACd,WAAW;IACX,UAAU;IACV,SAAS;IACT,QAAQ;IACR,cAAc;IACd,GAAG;IACH,GAAG;IACH,OAAO;IACP,OAAO;IACP,MAAM;IACN,MAAM;IACN,GAAG;IACH,eAAe;IACf,WAAW;IACX,WAAW;IACX,QAAQ;IACR,UAAU;IACV,kBAAkB;IAClB,kBAAkB;IAClB,QAAQ;IACR,KAAK;IACL,sEAAsE;IACtE,SAAS;IACT,GAAG;IACH,QAAQ;CACT,CAAC;AAEF,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,aAAa;IACb,eAAe;IACf,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,UAAU;IACV,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,QAAQ;IACR,SAAS;IACT,WAAW;IACX,eAAe;CACP,CAAC;AAEX,wEAAwE;AACxE,0EAA0E;AAC1E,uEAAuE;AACvE,+BAA+B;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAS;IAClD,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,GAAG,eAAe;IAClB,IAAI;IACJ,KAAK;IACL,SAAS;IACT,SAAS;IACT,UAAU;IACV,MAAM;IACN,QAAQ;IACR,UAAU;IACV,0EAA0E;IAC1E,iEAAiE;IACjE,IAAI;IACJ,OAAO;IACP,OAAO;CACR,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
|
package/dist/script/types.d.ts
CHANGED
|
@@ -54,6 +54,65 @@ export interface ScriptError {
|
|
|
54
54
|
column: number | null;
|
|
55
55
|
stack: string | null;
|
|
56
56
|
}
|
|
57
|
+
export interface ScriptDbExecutionInput {
|
|
58
|
+
connectionId: string;
|
|
59
|
+
query: string;
|
|
60
|
+
phase: "pre" | "post" | "manual";
|
|
61
|
+
context: {
|
|
62
|
+
response: unknown | null;
|
|
63
|
+
env: Record<string, string>;
|
|
64
|
+
global: Record<string, string>;
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
export interface ScriptDbExecutionResult {
|
|
68
|
+
success: boolean;
|
|
69
|
+
error?: string | null;
|
|
70
|
+
phase: "pre" | "post" | "manual";
|
|
71
|
+
connectionId: string;
|
|
72
|
+
connectionName: string;
|
|
73
|
+
connectionType: "mongo" | "oracle" | string;
|
|
74
|
+
query: string;
|
|
75
|
+
resolvedQuery: string;
|
|
76
|
+
rows: unknown[];
|
|
77
|
+
rowCount: number;
|
|
78
|
+
durationMs: number;
|
|
79
|
+
executedAt: string;
|
|
80
|
+
}
|
|
81
|
+
export interface ScriptKafkaCapability {
|
|
82
|
+
event: unknown | null;
|
|
83
|
+
messages: unknown[];
|
|
84
|
+
matchedMessage: unknown | null;
|
|
85
|
+
capturedMessages: unknown[];
|
|
86
|
+
isListening: boolean;
|
|
87
|
+
}
|
|
88
|
+
export interface ScriptRedisCapability {
|
|
89
|
+
values: Record<string, unknown>;
|
|
90
|
+
results: {
|
|
91
|
+
pre: unknown[];
|
|
92
|
+
post: unknown[];
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export interface ScriptDbCapability {
|
|
96
|
+
execute: (input: ScriptDbExecutionInput) => Promise<ScriptDbExecutionResult>;
|
|
97
|
+
preResult?: ScriptDbExecutionResult | null;
|
|
98
|
+
postResult?: ScriptDbExecutionResult | null;
|
|
99
|
+
requestConfig?: {
|
|
100
|
+
preRequest?: {
|
|
101
|
+
connectionId?: string;
|
|
102
|
+
};
|
|
103
|
+
postResponse?: {
|
|
104
|
+
connectionId?: string;
|
|
105
|
+
};
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
export type CounterSnapshotEntry = [string, number];
|
|
109
|
+
export interface ScriptCounterCapability {
|
|
110
|
+
snapshot: CounterSnapshotEntry[];
|
|
111
|
+
}
|
|
112
|
+
export interface ScriptFeaturePolicy {
|
|
113
|
+
database: boolean;
|
|
114
|
+
kafka: boolean;
|
|
115
|
+
}
|
|
57
116
|
export interface ScriptCapabilities {
|
|
58
117
|
environment?: {
|
|
59
118
|
values: Record<string, string>;
|
|
@@ -69,9 +128,21 @@ export interface ScriptCapabilities {
|
|
|
69
128
|
workflowContext?: Record<string, unknown>;
|
|
70
129
|
nodeMetaByLabel?: Record<string, ScenarioNodeExecutionMeta>;
|
|
71
130
|
exposeLabelsAsGlobals?: boolean;
|
|
131
|
+
featurePolicy?: ScriptFeaturePolicy;
|
|
132
|
+
allowDeferredKafkaTests?: boolean;
|
|
133
|
+
deferredTestNames?: string[];
|
|
72
134
|
extensions?: {
|
|
73
135
|
log?: boolean;
|
|
74
136
|
node?: boolean;
|
|
137
|
+
db?: ScriptDbCapability;
|
|
138
|
+
kafka?: ScriptKafkaCapability;
|
|
139
|
+
redis?: ScriptRedisCapability;
|
|
140
|
+
random?: boolean | {
|
|
141
|
+
rng?: () => number;
|
|
142
|
+
};
|
|
143
|
+
counter?: ScriptCounterCapability;
|
|
144
|
+
cryptojs?: boolean;
|
|
145
|
+
variables?: boolean;
|
|
75
146
|
};
|
|
76
147
|
}
|
|
77
148
|
export interface ExecuteScriptInput {
|
|
@@ -90,5 +161,7 @@ export interface ExecuteScriptResult {
|
|
|
90
161
|
returnValue?: unknown;
|
|
91
162
|
hasReturnValue: boolean;
|
|
92
163
|
request?: ScriptRequestState;
|
|
164
|
+
counterSnapshot?: CounterSnapshotEntry[];
|
|
165
|
+
deferredTestNames?: string[];
|
|
93
166
|
}
|
|
94
167
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/script/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/script/types.ts"],"names":[],"mappings":"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"}
|
package/dist-cjs/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.validateContracts = exports.createExpectApi = exports.PmAssertion = exports.validateScript = exports.executeScript = exports.runScript = exports.resolveTemplateValue = exports.resolveTemplate = exports.EnvStore = exports.executeRequest = exports.runRequest = exports.runCollection = void 0;
|
|
17
|
+
exports.validateContracts = exports.isDisabledFeatureValue = exports.DisabledFeatureDependencyError = exports.isPendingKafkaValue = exports.PendingKafkaDependencyError = exports.createExpectApi = exports.PmAssertion = exports.validateScript = exports.executeScript = exports.runScript = exports.resolveTemplateValue = exports.resolveTemplate = exports.EnvStore = exports.executeRequest = exports.runRequest = exports.runCollection = void 0;
|
|
18
18
|
var runCollection_js_1 = require("./runner/runCollection.js");
|
|
19
19
|
Object.defineProperty(exports, "runCollection", { enumerable: true, get: function () { return runCollection_js_1.runCollection; } });
|
|
20
20
|
var requestRunner_js_1 = require("./runner/requestRunner.js");
|
|
@@ -34,6 +34,12 @@ Object.defineProperty(exports, "validateScript", { enumerable: true, get: functi
|
|
|
34
34
|
var assertions_js_1 = require("./script/features/assertions.js");
|
|
35
35
|
Object.defineProperty(exports, "PmAssertion", { enumerable: true, get: function () { return assertions_js_1.PmAssertion; } });
|
|
36
36
|
Object.defineProperty(exports, "createExpectApi", { enumerable: true, get: function () { return assertions_js_1.createExpectApi; } });
|
|
37
|
+
var kafka_js_1 = require("./script/features/kafka.js");
|
|
38
|
+
Object.defineProperty(exports, "PendingKafkaDependencyError", { enumerable: true, get: function () { return kafka_js_1.PendingKafkaDependencyError; } });
|
|
39
|
+
Object.defineProperty(exports, "isPendingKafkaValue", { enumerable: true, get: function () { return kafka_js_1.isPendingKafkaValue; } });
|
|
40
|
+
var feature_policy_js_1 = require("./script/features/feature-policy.js");
|
|
41
|
+
Object.defineProperty(exports, "DisabledFeatureDependencyError", { enumerable: true, get: function () { return feature_policy_js_1.DisabledFeatureDependencyError; } });
|
|
42
|
+
Object.defineProperty(exports, "isDisabledFeatureValue", { enumerable: true, get: function () { return feature_policy_js_1.isDisabledFeatureValue; } });
|
|
37
43
|
var contractValidator_js_1 = require("./contract/contractValidator.js");
|
|
38
44
|
Object.defineProperty(exports, "validateContracts", { enumerable: true, get: function () { return contractValidator_js_1.validateContracts; } });
|
|
39
45
|
__exportStar(require("./scenario-runner/index.js"), exports);
|
package/dist-cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8DAA0D;AAAjD,iHAAA,aAAa,OAAA;AACtB,8DAAuD;AAA9C,8GAAA,UAAU,OAAA;AACnB,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AACjB,uDAAgF;AAAvE,8GAAA,eAAe,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAC9C,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,oDAAqE;AAA5D,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8DAA0D;AAAjD,iHAAA,aAAa,OAAA;AACtB,8DAAuD;AAA9C,8GAAA,UAAU,OAAA;AACnB,iEAA6D;AAApD,mHAAA,cAAc,OAAA;AACvB,uDAAmD;AAA1C,uGAAA,QAAQ,OAAA;AACjB,uDAAgF;AAAvE,8GAAA,eAAe,OAAA;AAAE,mHAAA,oBAAoB,OAAA;AAC9C,gDAA+C;AAAtC,sGAAA,SAAS,OAAA;AAClB,oDAAqE;AAA5D,4GAAA,aAAa,OAAA;AAAE,6GAAA,cAAc,OAAA;AAuBtC,iEAA+E;AAAtE,4GAAA,WAAW,OAAA;AAAE,gHAAA,eAAe,OAAA;AACrC,uDAGoC;AAFlC,uHAAA,2BAA2B,OAAA;AAC3B,+GAAA,mBAAmB,OAAA;AAErB,yEAG6C;AAF3C,mIAAA,8BAA8B,OAAA;AAC9B,2HAAA,sBAAsB,OAAA;AAExB,wEAAoE;AAA3D,yHAAA,iBAAiB,OAAA;AAC1B,6DAA2C;AAC3C,mDAAiC"}
|
|
@@ -4,84 +4,12 @@ exports.convertLegacyConditionOperator = exports.createConditionConfigFromLegacy
|
|
|
4
4
|
const createId = (prefix) => typeof crypto !== "undefined" && typeof crypto.randomUUID === "function"
|
|
5
5
|
? crypto.randomUUID()
|
|
6
6
|
: `${prefix}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
7
|
+
// Flat "Built-in" autocomplete grouping — HTTP/DB/Kafka/Redis/env/global
|
|
8
|
+
// listed first, workflow.__meta.* metadata at the end. Aligned with the
|
|
9
|
+
// renderer's UX-tuned ordering (formerly split between "System" and
|
|
10
|
+
// "Built-in" in the older core variant; collapsed here so the autocomplete
|
|
11
|
+
// dropdown surfaces user-frequent paths first).
|
|
7
12
|
const BUILT_IN_RUNTIME_SUGGESTIONS = [
|
|
8
|
-
{
|
|
9
|
-
description: "Global workflow execution metadata.",
|
|
10
|
-
exampleValue: "success",
|
|
11
|
-
group: "System",
|
|
12
|
-
path: "workflow.__meta.status",
|
|
13
|
-
valueType: "string",
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
description: "Whether the workflow completed without failures.",
|
|
17
|
-
exampleValue: "true",
|
|
18
|
-
group: "System",
|
|
19
|
-
path: "workflow.__meta.success",
|
|
20
|
-
valueType: "boolean",
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
description: "Whether the workflow has failed.",
|
|
24
|
-
exampleValue: "false",
|
|
25
|
-
group: "System",
|
|
26
|
-
path: "workflow.__meta.failed",
|
|
27
|
-
valueType: "boolean",
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
description: "How many nodes were executed successfully.",
|
|
31
|
-
exampleValue: "5",
|
|
32
|
-
group: "System",
|
|
33
|
-
path: "workflow.__meta.successfulNodes",
|
|
34
|
-
valueType: "number",
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
description: "How many nodes failed during workflow execution.",
|
|
38
|
-
exampleValue: "1",
|
|
39
|
-
group: "System",
|
|
40
|
-
path: "workflow.__meta.failedNodes",
|
|
41
|
-
valueType: "number",
|
|
42
|
-
},
|
|
43
|
-
{
|
|
44
|
-
description: "How many nodes were skipped during workflow execution.",
|
|
45
|
-
exampleValue: "2",
|
|
46
|
-
group: "System",
|
|
47
|
-
path: "workflow.__meta.skippedNodes",
|
|
48
|
-
valueType: "number",
|
|
49
|
-
},
|
|
50
|
-
{
|
|
51
|
-
description: "Total retry count across the workflow.",
|
|
52
|
-
exampleValue: "3",
|
|
53
|
-
group: "System",
|
|
54
|
-
path: "workflow.__meta.totalRetries",
|
|
55
|
-
valueType: "number",
|
|
56
|
-
},
|
|
57
|
-
{
|
|
58
|
-
description: "Workflow duration in milliseconds.",
|
|
59
|
-
exampleValue: "1240",
|
|
60
|
-
group: "System",
|
|
61
|
-
path: "workflow.__meta.durationMs",
|
|
62
|
-
valueType: "number",
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
description: "The currently running node label.",
|
|
66
|
-
exampleValue: "Req1",
|
|
67
|
-
group: "System",
|
|
68
|
-
path: "workflow.__meta.currentNode",
|
|
69
|
-
valueType: "string",
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
description: "The most recently completed node label.",
|
|
73
|
-
exampleValue: "Req1",
|
|
74
|
-
group: "System",
|
|
75
|
-
path: "workflow.__meta.lastNode",
|
|
76
|
-
valueType: "string",
|
|
77
|
-
},
|
|
78
|
-
{
|
|
79
|
-
description: "The node label that caused workflow failure.",
|
|
80
|
-
exampleValue: "Kafka1",
|
|
81
|
-
group: "System",
|
|
82
|
-
path: "workflow.__meta.failedNode",
|
|
83
|
-
valueType: "string",
|
|
84
|
-
},
|
|
85
13
|
{
|
|
86
14
|
description: "Latest HTTP status code from the most recent request node.",
|
|
87
15
|
exampleValue: "200",
|
|
@@ -152,6 +80,83 @@ const BUILT_IN_RUNTIME_SUGGESTIONS = [
|
|
|
152
80
|
path: "global",
|
|
153
81
|
valueType: "string",
|
|
154
82
|
},
|
|
83
|
+
{
|
|
84
|
+
description: "Overall workflow execution metadata.",
|
|
85
|
+
exampleValue: "success",
|
|
86
|
+
group: "Built-in",
|
|
87
|
+
path: "workflow.__meta.status",
|
|
88
|
+
valueType: "string",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
description: "Whether the workflow completed without failures.",
|
|
92
|
+
exampleValue: "true",
|
|
93
|
+
group: "Built-in",
|
|
94
|
+
path: "workflow.__meta.success",
|
|
95
|
+
valueType: "boolean",
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
description: "Whether the workflow is currently failed.",
|
|
99
|
+
exampleValue: "false",
|
|
100
|
+
group: "Built-in",
|
|
101
|
+
path: "workflow.__meta.failed",
|
|
102
|
+
valueType: "boolean",
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
description: "Count of successful workflow nodes.",
|
|
106
|
+
exampleValue: "3",
|
|
107
|
+
group: "Built-in",
|
|
108
|
+
path: "workflow.__meta.successfulNodes",
|
|
109
|
+
valueType: "number",
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
description: "Count of failed workflow nodes.",
|
|
113
|
+
exampleValue: "1",
|
|
114
|
+
group: "Built-in",
|
|
115
|
+
path: "workflow.__meta.failedNodes",
|
|
116
|
+
valueType: "number",
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
description: "Count of skipped workflow nodes.",
|
|
120
|
+
exampleValue: "2",
|
|
121
|
+
group: "Built-in",
|
|
122
|
+
path: "workflow.__meta.skippedNodes",
|
|
123
|
+
valueType: "number",
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
description: "Total retry count across the workflow.",
|
|
127
|
+
exampleValue: "1",
|
|
128
|
+
group: "Built-in",
|
|
129
|
+
path: "workflow.__meta.totalRetries",
|
|
130
|
+
valueType: "number",
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
description: "Workflow duration in milliseconds.",
|
|
134
|
+
exampleValue: "1280",
|
|
135
|
+
group: "Built-in",
|
|
136
|
+
path: "workflow.__meta.durationMs",
|
|
137
|
+
valueType: "number",
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
description: "Current node label while the workflow is running.",
|
|
141
|
+
exampleValue: "Req1",
|
|
142
|
+
group: "Built-in",
|
|
143
|
+
path: "workflow.__meta.currentNode",
|
|
144
|
+
valueType: "string",
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
description: "Last completed node label.",
|
|
148
|
+
exampleValue: "Req1",
|
|
149
|
+
group: "Built-in",
|
|
150
|
+
path: "workflow.__meta.lastNode",
|
|
151
|
+
valueType: "string",
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
description: "Last failed node label.",
|
|
155
|
+
exampleValue: "Kafka1",
|
|
156
|
+
group: "Built-in",
|
|
157
|
+
path: "workflow.__meta.failedNode",
|
|
158
|
+
valueType: "string",
|
|
159
|
+
},
|
|
155
160
|
];
|
|
156
161
|
exports.CONDITION_OPERATOR_META = [
|
|
157
162
|
{ category: "Equality", label: "Equals", value: "equals" },
|
|
@@ -233,7 +238,11 @@ const VALUE_TYPE_LABELS = {
|
|
|
233
238
|
array: "Array",
|
|
234
239
|
};
|
|
235
240
|
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
236
|
-
|
|
241
|
+
// Strict array-index detection: only digits, no leading sign, no whitespace.
|
|
242
|
+
// Looser variants (e.g., `Number.isInteger(Number(" 5 "))`) used to accept
|
|
243
|
+
// whitespace-padded inputs which never appear in legitimate JSON paths and
|
|
244
|
+
// could mask malformed templates. Aligned with the renderer's regex check.
|
|
245
|
+
const isArrayIndexProperty = (value) => /^\d+$/.test(value);
|
|
237
246
|
const normalizeWhitespace = (value) => value.replace(/\s+/g, " ").trim();
|
|
238
247
|
const normalizeAlias = (value) => value.trim().toUpperCase();
|
|
239
248
|
const isBoundaryCharacter = (value) => value.length === 0 || /[\s()[\]{},"']/.test(value);
|