Feat/published workflows mcp#1632
Open
PetaHarshith wants to merge 4 commits intodifferent-ai:devfrom
Open
Conversation
Adds a server-side primitive for exposing OpenCode skills as MCP-callable tools via per-workflow URLs and tokens. - Storage: PublishedWorkflowsService persists workflows under audit-dir/published-workflows.json with SHA256 token hashes. - Transport: stateless JSON-RPC 2.0 over HTTP at POST /published/:token/mcp with initialize, tools/list, tools/call. - Bridge: synchronous OpenCode invocation via POST /session and POST /session/:id/message, surfacing text parts of the assistant response to the MCP caller (60s default timeout, configurable via OPENWORK_PUBLISHED_WORKFLOW_TIMEOUT_MS). - Admin routes: GET/POST/DELETE /workspace/:id/published-workflows scoped to the host token; create/revoke recorded in the workspace audit log as published-workflow.create/.revoke. - Tests: unit coverage for storage and an in-process e2e harness driving the MCP transport against a fake OpenCode at /session and /session/:id/message. - PRD and a real-OpenCode curl transcript are included as evidence under apps/app/pr/. UI is intentionally deferred to a follow-up commit.
Adds the user-facing surface for the published-workflows MCP server primitive landed in the previous commit. - openwork-server client: PublishedWorkflow / PublishedWorkflowCreated types, list/create/revoke methods on the OpenworkServerClient, and a buildPublishedWorkflowMcpUrl helper. - extensions-store: publishedWorkflows snapshot + status, refresh / publish / revoke actions wired through the OpenworkServerClient, exposed on the consumer surface together with publishedWorkflowsServerBaseUrl(). - skills-view: per-skill Publish button on each installed skill, a publish modal that surfaces the one-shot URL with the secret token, and a new Published workflows section that lists active publications with copy-URL and revoke actions. - en.ts: settings.publishedWorkflows.* + common.copy translation keys. Other locales fall back to English via the existing fallback chain. Typecheck: pnpm --filter @openwork/app typecheck (clean).
Adds the 24 settings.publishedWorkflows.* keys (English placeholders) to every non-English locale, matching the convention already used for settings.environment.*. Prevents missing-key warnings until translations land.
Updates the PR description to reflect the rebased 3-commit branch: drops the 'next half' caveat now that the UI is in, lists the three commits in order, and replaces the docker-based how-to-try-it with a curl + pnpm dev path that does not depend on the deprecated dev-up.sh stack. Also fixes two pre-existing MD040 fenced-code-language lint warnings.
Contributor
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
@PetaHarshith is attempting to deploy a commit to the Different AI Team on Vercel. A member of the Team first needs to authorize it. |
Contributor
|
The following comment was made by an LLM, it may be inaccurate: |
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.
Adds a way to expose an OpenWork skill as an MCP-callable tool.
You can publish a skill from the UI, get a URL, and call it from Claude/Cursor via MCP. Under the hood it creates an OpenCode session and sends a prompt that asks the agent to use that skill.
What changed:
/published/:token/mcpTested end-to-end against real OpenCode. Curl transcript is in
apps/app/pr/published-workflows-mcp.curl.txt.Didn’t include multi-tool or streaming. Wanted to keep v1 small.
Let me know what you think