Commit Graph
61 Commits
Author SHA1 Message Date
nsrb 3850c529e4 Merge branch 'cursor/trigger-failure-workflow-3038' into cursor/ftp-sftp-script-3038 2026-08-19 15:26:20 +07:00
nsrb 5363dd50c3 Merge branch 'main' of https://github.com/nasyarobby/jerapah-flow into cursor/ftp-sftp-script-3038 2026-08-19 15:20:58 +07:00
nsrbandGitHub c33b6db089 Merge pull request #10 from nasyarobby/cursor/s3-compatible-script-3038
feat(scripts): add s3 script for S3-compatible object storage
2026-08-19 15:16:51 +07:00
nsrbandCursor dc0dfadd44 feat(workflows): add MinIO S3 test workflow
Exercise fetch-binary plus s3 write against a local HTTP MinIO endpoint.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:13:25 +07:00
nsrbandCursor f41e9dc23a fix(server): summarize Buffer values in stored and API JSON
Stop dumping every byte as a number in event I/O, workflow test results, and script dry-runs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:13:12 +07:00
nsrbandCursor 2845971670 fix(secrets): allow storing values shorter than 8 characters
Keep the 8-character floor only for log redaction so short MinIO keys can be saved.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:13:03 +07:00
nsrbandCursor 14f6331fce chore(server): change default HTTP port from 9000 to 8700
Avoid colliding with MinIO's default S3 API port.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-19 15:12:54 +07:00
Cursor Agentandnsrb 64f605b135 chore: merge origin/main into cursor/ftp-sftp-script-3038
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-18 23:59:56 +00:00
Cursor Agentandnsrb 88cea85701 chore: merge origin/main into cursor/s3-compatible-script-3038
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-18 23:59:45 +00:00
nsrb 04c0d4b801 feat(failures): implement consecutive failure tracking and dashboard integration
- Added a new function to list consecutive failure streaks for workflows, allowing tracking of workflows that have failed multiple times in a row.
- Integrated the consecutive failure data into the dashboard, displaying streaks and counts for better visibility of workflow health.
- Created a dedicated FailuresPage to present detailed information about consecutive failures, enhancing user experience and monitoring capabilities.
- Updated API endpoints and hooks to support the new failure tracking features, ensuring seamless data retrieval and display.

This enhancement improves the ability to monitor and respond to workflow failures, contributing to overall system reliability.
2026-08-18 11:14:46 +07:00
nsrb c668947c90 refactor(triggers): rename triggerWorkflow to onFailureWorkflow for clarity
- Updated all instances of `triggerWorkflow` to `onFailureWorkflow` across the codebase to improve clarity and consistency in naming.
- Adjusted related logic in workflow configurations and UI components to reflect the new naming convention.
- Enhanced error messages and documentation to align with the updated terminology.

This change aims to provide a clearer understanding of the workflow's failure handling mechanism.
2026-08-18 11:05:39 +07:00
nsrbandGitHub 93362208a2 Merge pull request #9 from nasyarobby/cursor/trigger-failure-workflow-3038
feat(triggers): alert workflow after consecutive cron/http failures
2026-08-18 10:23:35 +07:00
nsrbandGitHub 3ef95a3cce Merge pull request #8 from nasyarobby/cursor/slack-webhook-script-3038
feat(scripts): add slack-webhook script for Slack Incoming Webhooks
2026-08-18 09:11:30 +07:00
nsrbandGitHub 84c07e99fb Merge pull request #7 from nasyarobby/cursor/list-webdav-script-3038
feat(scripts): add list-webdav script for WebDAV directory listing
2026-08-18 08:12:43 +07:00
Cursor Agentandnsrb 7474bb5c6d feat(scripts): add remote-fs script for SFTP and FTP access
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-17 00:22:30 +00:00
Cursor Agentandnsrb a6d83eb7cb feat(scripts): add s3 script for S3-compatible object storage
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-17 00:07:04 +00:00
Cursor Agentandnsrb 0c416506d6 feat(triggers): start alert workflow after consecutive cron/http failures
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-16 23:45:45 +00:00
Cursor Agentandnsrb 989bf5d487 feat(scripts): add slack-webhook script for Slack Incoming Webhooks
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-16 23:33:06 +00:00
Cursor Agentandnsrb 534c5bbea3 feat(scripts): add list-webdav script for WebDAV directory listing
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-16 23:15:20 +00:00
Cursor Agentandnsrb 26d31af17f chore(server): allow webdav package in script sandbox
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-16 23:15:20 +00:00
nsrb 56a5d0e7d2 refactor: rename environment variables and update related configurations
- Updated environment variable names from JERAPAH_FLOW_* to JFLOW_* for consistency and clarity.
- Adjusted database path handling in knexfile.js to reflect the new variable naming.
- Modified logging and retention days configurations to use the new variable names.
- Ensured that the JWT secret and secrets key checks are aligned with the new naming convention.
- Updated workflow test storage prefix to match the new project branding.

This refactor enhances the clarity of environment variable usage and aligns with the project's rebranding efforts.
2026-08-16 22:44:19 +07:00
nsrb e55f93e4d2 Merge branch 'workflow-editor-rehaul' 2026-08-16 22:30:32 +07:00
nsrbandGitHub 219f6c593c Merge pull request #5 from nasyarobby/cursor/send-email-script-1315
feat(scripts): add send-email script using nodemailer
2026-08-16 22:27:40 +07:00
nsrbandGitHub cb3bca4837 Merge branch 'main' into workflow-editor-rehaul 2026-08-16 22:27:05 +07:00
nsrb 6c13e45213 feat(variables): introduce variable management system
- Added a new module for managing variables, including creation, retrieval, updating, and deletion functionalities.
- Implemented a new API endpoint for variable operations, allowing users to interact with variables through HTTP requests.
- Enhanced the configuration reference system to support variable references, replacing the previous KV reference system.
- Updated existing workflows and scripts to utilize the new variable management features, improving flexibility in configuration handling.
- Introduced smoke tests to validate the functionality of the variable system, ensuring reliability and robustness.

This update significantly enhances the ability to manage dynamic variables within workflows, improving overall usability and maintainability.
2026-08-16 22:23:49 +07:00
nsrb fd0865063b feat(config-refs): introduce config reference parsing and resolution
- Added a new module for parsing and resolving configuration references, supporting `$SECRET_`, `$KV_`, and `$CONTEXT_` prefixes.
- Implemented functions to handle the resolution of these references within workflow contexts, enhancing the flexibility of configuration management.
- Updated existing workflows and scripts to utilize the new config reference resolution, improving data handling and context management.
- Introduced a smoke test to validate the functionality of the config reference system, ensuring robustness and reliability.

This update significantly enhances the ability to manage dynamic configurations within workflows, improving overall usability and maintainability.
2026-08-16 21:36:15 +07:00
nsrb cf4b342e04 feat(workflows): implement workflow duplication feature
- Added functionality to duplicate workflows via a new API endpoint, allowing users to create copies of existing workflows with modified names and owners.
- Introduced utility functions for managing workflow filenames and ensuring unique names for duplicates.
- Created a user interface component for duplicating workflows, including validation for existing files and owner changes.
- Enhanced existing workflows to support the new duplication feature, ensuring seamless integration with the current workflow management system.

This update significantly improves user experience by enabling efficient workflow management and organization.
2026-08-15 23:00:16 +07:00
nsrb 43e9370638 feat(scripts): enhance script return structure and context handling
- Introduced a new contract for script returns, requiring an object with `output`, `context`, and `skipRemaining` fields.
- Refactored existing scripts to align with the new return structure, ensuring compatibility with the updated context management.
- Added utility functions for normalizing context and step results, improving the handling of script execution context.
- Updated various scripts (e.g., fetch-binary, fetch-html, fetch-http) to return structured output and context, enhancing data flow and usability.
- Improved error handling for script returns, ensuring clearer feedback when invalid structures are returned.

This update significantly enhances the flexibility and clarity of script interactions within workflows.
2026-08-15 22:32:42 +07:00
nsrb e8e1cf383d chore: update YAML file icon in the brand assets
Replaced the existing YAML file icon with a new version to enhance visual consistency within the theme brand folder.
2026-08-15 21:37:22 +07:00
nsrbandCursor 4a78f66e2d refactor: rename the project to JerapahFlow (jerapah-flow)
Update package names, env vars, cookie, and default ntfy topics while keeping SCRUNNER_* fallbacks.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 21:21:24 +07:00
nsrbandCursor 97bb8d7429 feat(web): add JerapahFlow brand assets and apply them in the UI
Organize mark, wordmark, app icon, and YAML file icon under the theme brand folder.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 21:21:24 +07:00
nsrbandCursor cae308359a feat(scripts): add sidecar icons and tags in the admin UI
Serve optional PNG/JPG next to each script and show meta tags in lists, cards, and the editor.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-15 21:21:24 +07:00
nsrb bccbf551e3 feat(scripts): add previewConfigKey to various scripts and enhance UI components
- Added `previewConfigKey` metadata to multiple scripts including fetch-binary, fetch-html, fetch-http, fetch-rss-feed, fingerprint, get-secret, jsonata, ntfy, render-template, and send-email, improving configuration visibility.
- Updated the `FieldHelp` and `ScriptCard` components to utilize the new preview configuration, enhancing the user interface for displaying script metadata.
- Refactored `TriggerCard` and `WorkflowTestPanel` components to support expanded views, improving user interaction and accessibility of configuration details.
- Enhanced the `WorkflowVisualEditor` to manage test panel visibility more effectively.

This update improves the overall user experience by providing clearer context and configuration options for scripts and workflows.
2026-08-15 19:14:19 +07:00
nsrb 7fe5defc43 feat(workflows): add Gmail sending and testing workflows
- Introduced a new `send-gmail` workflow for sending emails via Gmail SMTP, with configurable parameters for recipients, subject, and body content.
- Added a `test-send-gmail` workflow to facilitate testing the email sending functionality with sample data.
- Implemented a `track` workflow to monitor Gojek trips, enhancing the server's capabilities for tracking and notifications.
- Updated the workflow management interface to include new workflows and improved organization of existing scripts.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 18:33:13 +07:00
nsrb 94ba931d9b feat(scripts): add fetch-http script for HTTP requests
Introduce a new fetch-http script that facilitates making HTTP requests with configurable methods, headers, and body. The script includes validation for input parameters and logs the request and response details. This addition enhances the server's capability to interact with external APIs and services.
2026-08-15 17:09:28 +07:00
nsrbandGitHub 3bac8b4a61 Merge pull request #4 from nasyarobby/cursor/url-change-detection-12a0
feat(scripts): add detect-url-changes change-detection step
2026-08-15 10:45:51 +07:00
Cursor Agentandnsrb 46e2cbb83b feat(scripts): add mustache render-template via Responses pages
Add HTML template kind to Responses with a seeded system email-default
template, render-template.js using Mustache, and html body support in
send-email. Templates are editable but system pages cannot be deleted.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 01:44:51 +00:00
Cursor Agentandnsrb 23ce72fec2 feat(scripts): expand send-email SMTP config and recipients
Expose broader nodemailer transport options, require a separate from
address, and support optional cc/bcc plus reply-to and custom headers.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 01:10:37 +00:00
Cursor Agentandnsrb 13a46188ba feat(scripts): add send-email script using nodemailer
Add a sandboxed send-email.js workflow script with SMTP settings
exposed via script config and password loaded from named secrets.
Allow nodemailer in the script sandbox require whitelist.

Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 01:04:34 +00:00
Cursor Agentandnsrb 5765b05e24 chore(workflows): register detect-example-changes demo workflow
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 00:39:33 +00:00
Cursor Agentandnsrb 9100b1d78b feat(scripts): add detect-url-changes change-detection step
Co-authored-by: Nasyarobby Putra <nasyarobby@gmail.com>
2026-08-15 00:37:52 +00:00
nsrb 5bfbafeb91 feat(server): add revealHttpAuthLiterals API and enhance web interface for credential management
- Implemented revealHttpAuthLiterals function to return plaintext credential fields from HTTP auth configurations.
- Added a new endpoint in the HTTP auths API to reveal credentials securely.
- Updated the web interface to fetch and display plaintext literals, improving user experience for managing credentials.
- Enhanced CredentialFields component to support revealing and masking credential values dynamically.
2026-08-15 06:43:16 +07:00
nsrb d666dc001d feat(server): implement HTTP auth and page management functionality
- Introduced new HTTP authentication and page management APIs, allowing for the creation, retrieval, updating, and deletion of HTTP auth profiles and pages.
- Added validation for auth and page fields to ensure proper configuration and error handling.
- Implemented a mechanism for resolving auth credentials from various sources, including inline definitions, KV store, and secrets.
- Enhanced workflow validation to include checks for HTTP triggers, ensuring proper auth and response configurations.
- Updated the web interface to include new routes for managing HTTP auth profiles and pages, improving user experience and accessibility.
2026-08-15 06:41:26 +07:00
nsrb 951e6f8371 feat(server): implement KV store API and fingerprinting functionality
- Added a new KV store API with endpoints for querying namespaces and key-value pairs.
- Introduced fingerprinting functionality to hash and manage data fingerprints, allowing for efficient change detection.
- Enhanced existing scripts to utilize the new fingerprinting capabilities, enabling conditional execution based on data changes.
- Updated the web interface to include a dedicated KV page for managing key-value entries and displaying their details.
- Improved overall user experience with pagination and search capabilities in the KV management interface.
2026-08-15 06:00:30 +07:00
nsrb c5015bb391 feat(server): add RSS feed fetching functionality and enhance workflow management
- Introduced a new script for fetching RSS feeds, allowing workflows to process and transform feed data using JSONata.
- Updated workflow configuration to include a new RSS feed script, enhancing the capabilities of existing workflows.
- Enhanced the workflow management API to support enabling and disabling workflows dynamically.
- Improved UI components to reflect the new workflow features, including enabling/disabling workflows and displaying their statuses.
- Added support for wildcard filtering in workflow queries, improving the flexibility of workflow management.
2026-08-14 22:52:33 +07:00
nsrb b8bbd56035 feat(server): implement workflow triggering and enhance script execution
- Added support for triggering workflows via a new triggerWorkflow function, allowing for fire-and-forget execution of workflows with optional data transformation using JSONata.
- Introduced a $workflows API in the script sandbox for accessing workflow triggers.
- Enhanced existing script execution functions to accommodate the new workflow triggering capabilities.
- Updated workflow-mermaid.js and WorkflowsPage to reflect the new workflow type in labels for better clarity.
2026-08-14 22:12:34 +07:00
nsrb 3e4d5f443d feat(server): enhance secret management and logging functionality
- Added SCRUNNER_SECRETS_KEY to README as a required variable for production.
- Implemented redaction of sensitive information in logs across various components.
- Enhanced script execution functions to include an owner parameter for better secret management.
- Introduced a secrets API in the script sandbox for retrieving and managing secrets.
- Updated UI components to support owner selection for script execution and secret management.
2026-08-14 22:11:03 +07:00
nsrb 94aa5b2efa feat(web): enhance LogViewer and EventDetailPage with filtering functionality
- Updated LogViewer component to accept filters and a callback for removing filters.
- Modified EventDetailPage to manage step filters, allowing users to filter logs based on selected steps.
- Added UI elements for displaying active filters and a button to toggle filtering for each step.
- Improved log visibility by applying filters dynamically based on user selection.
2026-08-14 21:14:07 +07:00
nsrb d4381d2943 feat(server): enhance workflow step execution and JSONata integration
- Refactored step execution logic to introduce runCompiledStep for improved clarity and functionality.
- Added support for "set" steps, allowing context manipulation using JSONata expressions.
- Implemented evaluateJsonata and isJsonataTruthy functions for evaluating conditions and expressions.
- Updated workflow parsing to handle new step types and validation rules.
- Enhanced logging and error handling for skipped steps and invalid configurations.
- Modified UI components to reflect new step types and statuses, including "skipped".
2026-08-14 21:13:40 +07:00
nsrb fdb1c0a8a6 feat(web): add workflow creation and editing functionality
- Introduced WorkflowNewPage and WorkflowEditPage for creating and editing workflows.
- Updated App component to include new routes for workflow management.
- Enhanced workflow diagram generation in workflow-mermaid.js for better visualization.
- Modified WorkflowsPage to support navigation to the new workflow pages.
- Improved HomePage links to direct users to the correct workflow edit paths.
2026-08-14 19:41:09 +07:00