Skip to content

chore: Add JSON-RPC server#982

Merged
rsenden merged 65 commits intodev/v3.xfrom
feat/v3.x/jrpc
Apr 22, 2026
Merged

chore: Add JSON-RPC server#982
rsenden merged 65 commits intodev/v3.xfrom
feat/v3.x/jrpc

Conversation

@rsenden
Copy link
Copy Markdown
Contributor

@rsenden rsenden commented Apr 22, 2026

feat: `fcli util rpc-server start`: New JSON-RPC server command for programmatic fcli access (hidden, for internal use only for now)

feat: `fcli util mcp-server start`: Add `--import` option for importing action YAML files, exposing exported action functions as MCP tools or resource templates

feat: `fcli util mcp-server start`: `--module` option is now optional (at least one of `--module` or `--import` must be specified)

feat: `fcli util mcp-server start`: Support MCP resource templates via function `meta.mcp.resource` metadata

feat: `fcli util all-commands list`: Enrich output with module category (`PRODUCT`/`CONFIG`/`UTIL`) and session requirement metadata

feat: fcli action framework: Add `functions` support — define reusable functions in action YAML with typed arguments, return values, and streaming (lazy `fn.yield`) capabilities; invoke via `#fn.call('name', args...)` SpEL function

feat: fcli action framework: Add `with.product` step for establishing product context (SSC/FoD) within action steps, making product-specific SpEL functions and REST targets available without running product-specific action commands

feat: fcli action framework: Add `fn.yield` step for emitting records from streaming functions, with automatic consumer termination detection

feat: fcli action framework: Add `sleep` step for pausing execution for a SpEL-evaluated duration in milliseconds

feat: fcli action framework: Add `#fcli.listCommands()`, `#fcli.listCommands(query)`, `#fcli.getCommandSpec(command)`, and `#fcli.getCommandArgs(command)` SpEL functions for querying available fcli commands from within action YAML

fix: `fcli util mcp-server start`: Fix option `required` reporting for options inside optional argument groups

fix: Fix some potential issues related to fcli stdio handling

fix: Fix potential concurrent modification of global values in multi-threaded contexts (e.g., async jobs in RPC/MCP servers)

rsenden added 30 commits March 31, 2026 10:38
rsenden added 28 commits April 14, 2026 15:02
@rsenden rsenden merged commit f64243e into dev/v3.x Apr 22, 2026
10 of 12 checks passed
@rsenden rsenden deleted the feat/v3.x/jrpc branch April 22, 2026 13:48
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