Skip to content

feat: Release v1.2.0 with Transform Steps and Randomization Variables#34

Merged
rdwr-taly merged 1 commit into
mainfrom
dev-v1.2.0
Jan 14, 2026
Merged

feat: Release v1.2.0 with Transform Steps and Randomization Variables#34
rdwr-taly merged 1 commit into
mainfrom
dev-v1.2.0

Conversation

@rdwr-taly

Copy link
Copy Markdown
Owner
  • Integrated Transform Steps for ordered operations including base64/JWT, JSON set, and math operations.
  • Added support for special variables: RANDOM_INT and RANDOM_STRING, cached per flow iteration.
  • Updated RELEASE_NOTES.md and roadmap to reflect new features.
  • Enhanced FlowRunner with new TransformStep class and associated methods.
  • Improved unit tests for random variable substitution and transform step execution.
  • Introduced container control stub for E2E tests.

- Integrated Transform Steps for ordered operations including base64/JWT, JSON set, and math operations.
- Added support for special variables: RANDOM_INT and RANDOM_STRING, cached per flow iteration.
- Updated RELEASE_NOTES.md and roadmap to reflect new features.
- Enhanced FlowRunner with new TransformStep class and associated methods.
- Improved unit tests for random variable substitution and transform step execution.
- Introduced container control stub for E2E tests.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 295ca7e7da

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread flow_runner.py
Comment on lines +637 to +642
_TRANSFORM_OP_DEFS: Dict[str, Dict[str, Any]] = {
"base64_decode": {"args": 1, "options": {"base64": "url", "as": "text"}},
"base64_encode": {"args": 1, "options": {"base64": "url", "padding": "strip"}},
"jwt_decode": {"args": 1, "options": {"base64": "url", "stripBearer": "true"}},
"jwt_encode": {"args": 3, "options": {"base64": "url", "signatureMode": "reuse", "algorithm": "HS256"}},
"json_set": {"args": 3, "options": {}},

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Allow jwt_encode to accept signing secret

jwt_encode supports signatureMode=sign, but _normalize_transform_op only passes through option keys listed in _TRANSFORM_OP_DEFS. Because the jwt_encode entry omits secret, any provided secret is dropped and _execute_transform_op later raises “JWT signing requires a secret.” This makes signed JWT generation impossible even when users supply a secret, so flows that rely on signed tokens will always fail.

Useful? React with 👍 / 👎.

Comment thread flow_runner.py
Comment on lines +720 to +723
op_name = safe_op.get("op")
if op_name not in _TRANSFORM_OP_DEFS:
op_name = "base64_decode"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject unknown transform op names

When a transform op name is misspelled or unsupported, _normalize_transform_op silently coerces it to base64_decode. That prevents validation errors and produces unrelated outputs (often an empty string), which can corrupt downstream context values without any obvious failure. A flow with a typo will appear to “succeed” while operating on the wrong data.

Useful? React with 👍 / 👎.

@rdwr-taly
rdwr-taly merged commit d814ea4 into main Jan 14, 2026
1 check passed
@rdwr-taly
rdwr-taly deleted the dev-v1.2.0 branch January 14, 2026 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant