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.
Files changed (85) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/scenario-runner/condition.d.ts.map +1 -1
  6. package/dist/scenario-runner/condition.js +87 -78
  7. package/dist/scenario-runner/condition.js.map +1 -1
  8. package/dist/scenario-runner/index.d.ts +1 -1
  9. package/dist/scenario-runner/index.d.ts.map +1 -1
  10. package/dist/scenario-runner/index.js +6 -1
  11. package/dist/scenario-runner/index.js.map +1 -1
  12. package/dist/script/executor.d.ts.map +1 -1
  13. package/dist/script/executor.js +118 -9
  14. package/dist/script/executor.js.map +1 -1
  15. package/dist/script/features/counter.d.ts +11 -0
  16. package/dist/script/features/counter.d.ts.map +1 -0
  17. package/dist/script/features/counter.js +43 -0
  18. package/dist/script/features/counter.js.map +1 -0
  19. package/dist/script/features/cryptojs.d.ts +13 -0
  20. package/dist/script/features/cryptojs.d.ts.map +1 -0
  21. package/dist/script/features/cryptojs.js +63 -0
  22. package/dist/script/features/cryptojs.js.map +1 -0
  23. package/dist/script/features/db.d.ts +36 -0
  24. package/dist/script/features/db.d.ts.map +1 -0
  25. package/dist/script/features/db.js +165 -0
  26. package/dist/script/features/db.js.map +1 -0
  27. package/dist/script/features/feature-policy.d.ts +8 -0
  28. package/dist/script/features/feature-policy.d.ts.map +1 -0
  29. package/dist/script/features/feature-policy.js +88 -0
  30. package/dist/script/features/feature-policy.js.map +1 -0
  31. package/dist/script/features/kafka.d.ts +11 -0
  32. package/dist/script/features/kafka.d.ts.map +1 -0
  33. package/dist/script/features/kafka.js +71 -0
  34. package/dist/script/features/kafka.js.map +1 -0
  35. package/dist/script/features/random.d.ts +13 -0
  36. package/dist/script/features/random.d.ts.map +1 -0
  37. package/dist/script/features/random.js +111 -0
  38. package/dist/script/features/random.js.map +1 -0
  39. package/dist/script/features/redis.d.ts +10 -0
  40. package/dist/script/features/redis.d.ts.map +1 -0
  41. package/dist/script/features/redis.js +22 -0
  42. package/dist/script/features/redis.js.map +1 -0
  43. package/dist/script/features/tests.d.ts +7 -1
  44. package/dist/script/features/tests.d.ts.map +1 -1
  45. package/dist/script/features/tests.js +97 -12
  46. package/dist/script/features/tests.js.map +1 -1
  47. package/dist/script/features/variables.d.ts +6 -0
  48. package/dist/script/features/variables.d.ts.map +1 -0
  49. package/dist/script/features/variables.js +25 -0
  50. package/dist/script/features/variables.js.map +1 -0
  51. package/dist/script/scope.d.ts +7 -0
  52. package/dist/script/scope.d.ts.map +1 -1
  53. package/dist/script/scope.js +21 -0
  54. package/dist/script/scope.js.map +1 -1
  55. package/dist/script/types.d.ts +73 -0
  56. package/dist/script/types.d.ts.map +1 -1
  57. package/dist-cjs/index.js +7 -1
  58. package/dist-cjs/index.js.map +1 -1
  59. package/dist-cjs/scenario-runner/condition.js +87 -78
  60. package/dist-cjs/scenario-runner/condition.js.map +1 -1
  61. package/dist-cjs/scenario-runner/index.js +7 -5
  62. package/dist-cjs/scenario-runner/index.js.map +1 -1
  63. package/dist-cjs/script/executor.js +118 -9
  64. package/dist-cjs/script/executor.js.map +1 -1
  65. package/dist-cjs/script/features/counter.js +47 -0
  66. package/dist-cjs/script/features/counter.js.map +1 -0
  67. package/dist-cjs/script/features/cryptojs.js +67 -0
  68. package/dist-cjs/script/features/cryptojs.js.map +1 -0
  69. package/dist-cjs/script/features/db.js +169 -0
  70. package/dist-cjs/script/features/db.js.map +1 -0
  71. package/dist-cjs/script/features/feature-policy.js +94 -0
  72. package/dist-cjs/script/features/feature-policy.js.map +1 -0
  73. package/dist-cjs/script/features/kafka.js +77 -0
  74. package/dist-cjs/script/features/kafka.js.map +1 -0
  75. package/dist-cjs/script/features/random.js +115 -0
  76. package/dist-cjs/script/features/random.js.map +1 -0
  77. package/dist-cjs/script/features/redis.js +26 -0
  78. package/dist-cjs/script/features/redis.js.map +1 -0
  79. package/dist-cjs/script/features/tests.js +97 -12
  80. package/dist-cjs/script/features/tests.js.map +1 -1
  81. package/dist-cjs/script/features/variables.js +29 -0
  82. package/dist-cjs/script/features/variables.js.map +1 -0
  83. package/dist-cjs/script/scope.js +21 -0
  84. package/dist-cjs/script/scope.js.map +1 -1
  85. package/package.json +1 -1
@@ -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;
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/script/scope.ts"],"names":[],"mappings":"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"}
@@ -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":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AAE7E,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,aAAa,GAAG,OAAO,GAAG,eAAe,CAAC;AAE/E,MAAM,WAAW,kBAAkB;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,EAAE,sBAAsB,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,aAAa,GAAG,QAAQ,CAAC;IAChC,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAQD,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE;QACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IACF,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IAC5D,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE;QACX,GAAG,CAAC,EAAE,OAAO,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,YAAY,EAAE,kBAAkB,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,WAAW,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAChC,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,IAAI,EAAE,cAAc,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B"}
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);
@@ -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;AAetC,iEAA+E;AAAtE,4GAAA,WAAW,OAAA;AAAE,gHAAA,eAAe,OAAA;AACrC,wEAAoE;AAA3D,yHAAA,iBAAiB,OAAA;AAC1B,6DAA2C;AAC3C,mDAAiC"}
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
- const isArrayIndexProperty = (value) => value.trim().length > 0 && Number.isInteger(Number(value));
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);