Skip to content

T8#1692

Merged
nmaguiar merged 32 commits intomasterfrom
t8
Feb 16, 2026
Merged

T8#1692
nmaguiar merged 32 commits intomasterfrom
t8

Conversation

@nmaguiar
Copy link
Collaborator

This pull request introduces several enhancements and new features to process management, semantic version handling, and JSON-RPC/MCP client customization in OpenAF. The changes improve the ability to manage OpenAF processes (including restarting and detaching), add robust semantic version sorting for tables, and allow per-call HTTP options for remote MCP tool invocations. Documentation and API usability have also been updated.

Process Management Enhancements:

  • Added restart flag to __flags and extended stopOpenAFAndRun to support output redirection and conditional process termination. Introduced endOpenAFAndStart and endOpenAFAndStartOpenAF functions for detached process handling, with argument quoting for both Unix and Windows. Exposed these as AF.prototype.endOpenAFAndStart for easier use. [1] [2] [3] [4]
  • Improved restartOpenAF to use stopOpenAFAndRun for consistent restart logic and proper argument handling. [1] [2] [3]
  • Updated documentation to clarify that the PID file path can be overridden via the OAF_PIDFILE environment variable. [1] [2]

Semantic Version Sorting:

  • Added parseSemVer and compareSemVer functions to js/mdtablesort.js for parsing and comparing semantic versions, and integrated them into table sorting logic to prioritize semantic version sorting before date/string checks. [1] [2]

JSON-RPC and MCP Client Customization:

  • Enhanced $jsonrpc.exec and $mcp.callTool to accept per-call HTTP options via a new aExecOptions/toolOptions argument, enabling custom headers and settings for remote MCP calls. Updated documentation and examples to reflect these changes. [1] [2] [3] [4] [5] [6] [7] [8]

Timer Utilities:

  • Added and documented setTimeout, setInterval, and clearInterval functions for scheduling code execution, including non-blocking intervals using threads. [1] [2]

API and Documentation Improvements:

  • Updated API documentation for new and existing functions, clarified usage, and improved examples throughout the codebase. [1] [2] [3]

Let me know if you want to see usage examples or details on any specific feature!

nmaguiar and others added 30 commits February 5, 2026 22:15
Bumps [org.jetbrains.kotlin:kotlin-stdlib](https://github.com/JetBrains/kotlin) from 2.3.0 to 2.3.10.
- [Release notes](https://github.com/JetBrains/kotlin/releases)
- [Changelog](https://github.com/JetBrains/kotlin/blob/master/ChangeLog.md)
- [Commits](JetBrains/kotlin@v2.3.0...v2.3.10)

---
updated-dependencies:
- dependency-name: org.jetbrains.kotlin:kotlin-stdlib
  dependency-version: 2.3.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin) from 3.14.1 to 3.15.0.
- [Release notes](https://github.com/apache/maven-compiler-plugin/releases)
- [Commits](apache/maven-compiler-plugin@maven-compiler-plugin-3.14.1...maven-compiler-plugin-3.15.0)

---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-compiler-plugin
  dependency-version: 3.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…aven.plugins-maven-compiler-plugin-3.15.0

chore(deps-dev): bump org.apache.maven.plugins:maven-compiler-plugin from 3.14.1 to 3.15.0
…s.kotlin-kotlin-stdlib-2.3.10

chore(deps): bump org.jetbrains.kotlin:kotlin-stdlib from 2.3.0 to 2.3.10
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
…pability

Add OAF_PIDFILE environment variable override for ow.server.checkIn
…FAndRun, and endOpenAFAndStartOpenAF functions

Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
…stopOpenAFAndRun

Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
Co-authored-by: nmaguiar <11761746+nmaguiar@users.noreply.github.com>
…direction

Add optional output redirection control to process spawn functions
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request enhances OpenAF with process management capabilities, semantic version sorting, and JSON-RPC/MCP client customization. The changes add support for detached process execution, improve table sorting with semantic versioning, enable per-call HTTP options for remote MCP tools, and introduce OAF_PIDFILE environment variable support for flexible PID file management.

Changes:

  • Added detached process management functions (endOpenAFAndStart, endOpenAFAndStartOpenAF) with platform-specific handling for Unix/Windows
  • Enhanced stopOpenAFAndRun with output redirection and conditional termination options
  • Implemented semantic version parsing and comparison for table sorting with full SemVer precedence rules
  • Extended $jsonrpc.exec and $mcp.callTool with per-call HTTP options via aExecOptions/toolOptions parameters
  • Added OAF_PIDFILE environment variable support to override PID file paths in ow.server.checkIn
  • Improved SSE stream handling in Gemini AI integration to handle non-SSE error responses and single-line JSON events
  • Updated dependencies (maven-compiler-plugin, postgresql, kotlin-stdlib, ojdbc17)

Reviewed changes

Copilot reviewed 9 out of 14 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
js/openaf.js Added detached process functions, enhanced stopOpenAFAndRun with redirection/noStop, updated restartOpenAF logic, added timer docs, improved $jsonrpc/$mcp with per-call options, enhanced error handling null check, exposed AF.endOpenAFAndStart
js/owrap.server.js Added OAF_PIDFILE environment variable override in checkIn, fixed JSON-RPC notification null output
js/owrap.ai.js Enhanced SSE stream reader to handle Gemini single-line JSON events and non-SSE error responses
js/mdtablesort.js Added parseSemVer and compareSemVer functions with full SemVer precedence support, integrated into table sort
tests/autoTestAll.Server.js Added comprehensive tests for checkIn PID file behavior including OAF_PIDFILE override scenarios
tests/autoTestAll.Server.yaml Added Server::CheckIn test job
pom.xml Updated maven-compiler-plugin (3.15.0), postgresql (42.7.10), kotlin-stdlib (2.3.10), ojdbc17 (23.26.1.0.0)
docs/openaf.md Documented OAF_PIDFILE environment variable for PID file override
docs/openaf-flags.md Added Server Management section documenting OAF_PIDFILE

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@nmaguiar nmaguiar merged commit 650055a into master Feb 16, 2026
7 of 8 checks passed
@github-project-automation github-project-automation bot moved this from Backlog to Done in Continuous Enhancement Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug dependencies Pull requests that update a dependency file enhancement

Projects

Development

Successfully merging this pull request may close these issues.

2 participants