Conversation
OpenFox plugin: scan GitHub issues, order intelligently, spawn sessions, run a configurable chain of workflows end-to-end. https://github.com/theshwal/openfox-automate Capabilities: tools/settings/ui/rpc/hooks/notifications. 19 settings, 14 RPCs, 2 LLM tools, 3 hooks, 1 UI panel. 65 tests passing. Verified install via GitHub URL in OpenFox 10369.
Collaborator
|
I'm just wait to merge my pr before with new plugins settings and plugins icon. |
Hosts that want to expose sessionManager + a runWorkflow wrapper to
plugins can now do so via pluginHost.setOpenFoxInternals(...). The
PluginContext.openFoxInternals field is resolved lazily through a
getter so plugins loaded before the setter call still see the value.
- PluginOpenFoxInternals: typed shape with sessionManager (createSession,
setRunning) + runWorkflow(sessionId, payload).
- PluginContext.openFoxInternals?: optional field, lazy getter.
- PluginHostOptions.openFoxInternals: initial value (constructor).
- PluginHost.currentOpenFoxInternals: live slot.
- PluginHost.setOpenFoxInternals(...): update the live slot.
- src/server/index.ts: wires sessionManager facade + a runWorkflow wrapper
that delegates to the existing task-seeded launcher so the broadcast,
provider resolution, and stats identity stay consistent with the
WS runner path.
Tested end-to-end with openfox-automate plugin on a live dev server
(port 10469): openFoxInternals.health RPC reports
{sessionManager:'ok', launchWorkflowRun:'ok'} after install.
CI on PR co-l#383 failed on: - typecheck: PluginContext.openFoxInternals returned undefined but type was '? PluginOpenFoxInternals', rejected by exactOptionalPropertyTypes. - lint: 'const host = this' aliased this, forbidden by no-this-alias. Fix: - src/plugin/index.ts: '? PluginOpenFoxInternals | undefined'. - src/server/plugins/host.ts: drop getter + closure; snapshot as a regular property at createContext time. setOpenFoxInternals now mutates record.context.openFoxInternals so plugins loaded before the setter still pick up the new value.
…-alias" This reverts commit 15be9b7.
…ext" This reverts commit 40d63fa.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds openfox-automate to the curated plugin registry.
openfox-automate is an OpenFox plugin (apiVersion 2) that autonomously
processes GitHub issues end-to-end (scan, order, spawn OpenFox sessions,
run a chain of workflows, monitor PRs). It exposes 19 settings fields,
14 RPC methods, 2 LLM tools, 3 hooks, and 1 UI panel.
Depends on #386
This PR is registry-only. It does not introduce any orchestration
surface itself; it just lists the plugin in
plugins-registry.json.The plugin speaks to the host through the new public plugin API
introduced by #386 (
context.host.sessionsandcontext.host.workflows). It consumes the minimal PluginHost facadeand never reaches into host internals (
sessionManager,runWorkflow,launchWorkflowRunorsetRunningare not exposed).Merging this PR before #386 would leave the plugin unable to launch
sessions at runtime.
AI Models
MiniMax-M3
Plugin source
capabilities:
tools,settings,ui,rpc,hooks,notificationsTest status (latest main HEAD d745e7e)
npm run test)installed (
OPENFOX_E2E=1 npm test test/e2e/full-flow.test.ts).The e2e covers the PluginHost facade path end-to-end:
add_issue_raw → start_issue → real host session creation in
/api/sessions→executionStack[0].status === 'running'→double start_issue blocked → cancel_issue stops the host session →
chain length matches
workflows.chain. The chain-advance loop overworkflow.execution.changedis covered bytest/chain.test.ts(deduplication, retries, blocked, finished).
Verification
Installed and verified end-to-end against a live OpenFox instance
running
feat/plugin-orchestration-api(PR #386):POST /api/plugins/installwith{"path":"/tmp/openfox-automate-build"})get_metrics, scan_now, …)
/api/sessionshost: 'ok'field, alongsidesessionManagerandlaunchWorkflowRunChecklist
plugins-registry.jsontouched)context.hostAPI (PR feat(plugin-api): expose minimal session/workflow orchestration #386)— no internal host surfaces are imported or proxied